| 1 | type suite = |
| 2 | | All of {dir : string} |
| 3 | | Book of {dir : string} |
| 4 | | Micro |
| 5 | |
| 6 | let () = |
| 7 | let suite = ref Micro in |
| 8 | let spec = ref [] in |
| 9 | Arg.parse_dynamic |
| 10 | spec |
| 11 | (function |
| 12 | | "micro" -> |
| 13 | spec := [] |
| 14 | | "book" -> |
| 15 | spec := [("-dir", Arg.String (fun dir -> suite := Book {dir}), "")] |
| 16 | | "all" -> |
| 17 | spec := [("-dir", Arg.String (fun dir -> suite := All {dir}), "")] |
| 18 | | _ -> () |
| 19 | ) |
| 20 | ""; |
| 21 | let suite = |
| 22 | match !suite with |
| 23 | | All {dir} -> Tiger.Test_cases.all ~dir |
| 24 | | Book {dir} -> Tiger.Test_cases.book ~dir |
| 25 | | Micro -> Tiger.Test_cases.micro |
| 26 | in |
| 27 | Tiger.Test.run suite |