summaryrefslogtreecommitdiff
path: root/src/test/run_tests.ml
blob: 770ed426d77d3d915635f568687ce0429d5fc049 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
open Printf

let tests = [
  "test1", Test1.defs;
  "test2", Test2.defs;
  "test3", Test3.defs;
  "test4", Test4.defs;
  "pattern", Pattern.defs;
  "vectors", Vectors.defs;
  "regbits", Regbits.defs;
  (*"power", Power.defs;*)
] ;;

let fst3 (x,_,_) = x

let run_one ((name, _) as t) = (name, fst3(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 () ;;