mirror of
https://github.com/c-cube/tiny_httpd.git
synced 2025-12-06 03:05:29 -05:00
35 lines
874 B
OCaml
35 lines
874 B
OCaml
module Q = QCheck
|
|
|
|
(* test utils *)
|
|
let pp_res f = function
|
|
| Ok x -> f x
|
|
| Error e -> e
|
|
|
|
let pp_res_query = Q.Print.(pp_res (list (pair string string)))
|
|
|
|
let err_map f = function
|
|
| Ok x -> Ok (f x)
|
|
| Error e -> Error e
|
|
|
|
let sort_l l = List.sort compare l
|
|
let eq_sorted a b = err_map sort_l a = err_map sort_l b
|
|
let is_ascii_char c = Char.code c < 128
|
|
|
|
let assert_eq ?to_string ?(cmp = ( = )) a b =
|
|
let ok = cmp a b in
|
|
if not ok then (
|
|
(match to_string with
|
|
| Some f -> Printf.eprintf "failed: %s != %s\n%!" (f a) (f b)
|
|
| None -> ());
|
|
failwith "test failed"
|
|
)
|
|
|
|
let qchecks = ref []
|
|
let add_qcheck f = qchecks := f :: !qchecks
|
|
|
|
let run_qcheck_and_exit () : 'a =
|
|
exit @@ QCheck_base_runner.run_tests ~colors:false !qchecks
|
|
|
|
let setup_logs_debug () =
|
|
Logs.set_reporter @@ Logs.format_reporter ();
|
|
Logs.set_level ~all:true @@ Some Logs.Debug
|