diff options
Diffstat (limited to 'src/test/run_tests.ml')
| -rw-r--r-- | src/test/run_tests.ml | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/test/run_tests.ml b/src/test/run_tests.ml index ddad139a..2507f178 100644 --- a/src/test/run_tests.ml +++ b/src/test/run_tests.ml @@ -1,3 +1,5 @@ +open Printf + let tests = [ "test1", Test1.defs; "test2", Test2.defs; @@ -7,6 +9,17 @@ let tests = [ "power", Power.defs; ] ;; -let run_all () = List.iter Run_interp.run tests ;; +let run_one ((name, _) as t) = (name, Run_interp.run t) + +let run_all () = + let results = List.map run_one tests in + if List.for_all (fun (_, r) -> r) results then + eprintf "\nSUCCESS: all tests passed!\n" + else begin + eprintf "\nFAILURE: the following tests failed:\n"; + List.iter (fun (name, r) -> if not r then eprintf "- %s\n" name) results; + exit 1 + end +;; run_all () ;; |
