X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=compiler%2Fsrc%2Flib%2Ftiger%2Ftiger_test_cases_book.ml;h=3cad92bc50a316d82375dd767c0bd56b59cfbda4;hb=c0b10ff1a1cf0abcc1cd2f7e5aa255f1edc620c9;hp=1ef024de31703ee44e9db7040f8192900963d09a;hpb=38ffcb1fc99ecb7a48097cbcf97b9a3062c8bfa0;p=tiger.ml.git diff --git a/compiler/src/lib/tiger/tiger_test_cases_book.ml b/compiler/src/lib/tiger/tiger_test_cases_book.ml index 1ef024d..3cad92b 100644 --- a/compiler/src/lib/tiger/tiger_test_cases_book.ml +++ b/compiler/src/lib/tiger/tiger_test_cases_book.ml @@ -1,5 +1,6 @@ module List = ListLabels +module Error = Tiger_error module Test = Tiger_test let read_file filepath = @@ -80,9 +81,25 @@ let out_parsing_of_filename _ = (* TODO: Fill-in expected cases *) None -let is_error_expected_semant_of_filename _ = - (* TODO: Fill-in expected cases *) - None +let is_error_expected_parsing_of_filename = + let module E = Tiger_error in + function + | "test49.tig" -> + Some (function E.Invalid_syntax _ -> true | _ -> false) + (* TODO: Be more specific - test position *) + | _ -> + (* TODO: Fill-in other expected cases *) + None + +let is_error_expected_semant_of_filename = + let module E = Tiger_error in + function + | "test43.tig" -> + Some Error.is_wrong_type + (* TODO: Be more specific - what expected, what given? *) + | _ -> + (* TODO: Fill-in other expected cases *) + None let test_case_of_filename filename ~dir = Test.case @@ -90,6 +107,7 @@ let test_case_of_filename filename ~dir = ~code:(read_file (Filename.concat dir filename)) ~out_lexing:(out_lexing_of_filename filename) ~out_parsing:(out_parsing_of_filename filename) + ~is_error_expected_parsing:(is_error_expected_parsing_of_filename filename) ~is_error_expected_semant:(is_error_expected_semant_of_filename filename) let read ~from_dir:dir =