diff options
| author | Gabriel Kerneis | 2014-02-18 16:56:05 +0000 |
|---|---|---|
| committer | Gabriel Kerneis | 2014-02-18 16:56:05 +0000 |
| commit | 669ced036bc511f6c75b91a9abb3dd3f607cf0a1 (patch) | |
| tree | b149a7ecf81c34ceca6da611afbe0fc978e7e8e2 /src/test | |
| parent | 3dd4e21dc8a0c1782c3cb8d072388612f270facb (diff) | |
Report failing tests and return 1 in case of error
Diffstat (limited to 'src/test')
| -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 () ;; |
