Add CLI options to execute different test suites
[tiger.ml.git] / compiler / src / exe / tigert.ml
index bd7e12d..c4d5bc8 100644 (file)
@@ -1,2 +1,27 @@
+type suite =
+  | All  of {dir : string}
+  | Book of {dir : string}
+  | Micro
+
 let () =
-  Tiger.Test.run Tiger.Test_cases.all
+  let suite = ref Micro in
+  let spec = ref [] in
+  Arg.parse_dynamic
+    spec
+    (function
+    | "micro" ->
+        spec := []
+    | "book" ->
+        spec := [("-dir", Arg.String (fun dir -> suite := Book {dir}), "")]
+    | "all" ->
+        spec := [("-dir", Arg.String (fun dir -> suite := All  {dir}), "")]
+    | _ -> ()
+    )
+    "";
+  let suite =
+    match !suite with
+    | All  {dir} -> Tiger.Test_cases.all  ~dir
+    | Book {dir} -> Tiger.Test_cases.book ~dir
+    | Micro      -> Tiger.Test_cases.micro
+  in
+  Tiger.Test.run suite
This page took 0.02103 seconds and 4 git commands to generate.