diff options
-rw-r--r-- | test/Bindings/Ocaml/vmcore.ml | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/test/Bindings/Ocaml/vmcore.ml b/test/Bindings/Ocaml/vmcore.ml index 637ef35..ffb6970 100644 --- a/test/Bindings/Ocaml/vmcore.ml +++ b/test/Bindings/Ocaml/vmcore.ml @@ -13,20 +13,34 @@ open Llvm_bitwriter (* Tiny unit test framework - really just to help find which line is busted *) let exit_status = ref 0 +let suite_name = ref "" +let group_name = ref "" let case_num = ref 0 +let print_checkpoints = false let group name = + group_name := !suite_name ^ "/" ^ name; case_num := 0; - prerr_endline (" " ^ name ^ "...") + if print_checkpoints then + prerr_endline (" " ^ name ^ "...") let insist cond = incr case_num; - if not cond then exit_status := 10; - prerr_endline (" " ^ (string_of_int !case_num) ^ if cond then "" - else " FAIL") + if not cond then + exit_status := 10; + match print_checkpoints, cond with + | false, true -> () + | false, false -> + prerr_endline ("FAILED: " ^ !suite_name ^ "/" ^ !group_name ^ " #" ^ (string_of_int !case_num)) + | true, true -> + prerr_endline (" " ^ (string_of_int !case_num)) + | true, false -> + prerr_endline (" " ^ (string_of_int !case_num) ^ " FAIL") let suite name f = - prerr_endline (name ^ ":"); + suite_name := name; + if print_checkpoints then + prerr_endline (name ^ ":"); f () @@ -245,7 +259,7 @@ let test_constants () = ignore (define_global "Const08" c m); insist ((vector_type i16_type 8) = (type_of c)); - (* RUN: grep {Const09.*\{ i16, i16, i32, i32 \} \{} < %t.ll + (* RUN: grep {Const09.*. i16, i16, i32, i32 . .} < %t.ll *) group "structure"; let c = const_struct [| one; two; three; four |] in |