diff options
| author | jp | 2020-02-23 17:45:35 +0000 |
|---|---|---|
| committer | jp | 2020-02-23 17:45:35 +0000 |
| commit | e37855c0c43b8369aefa91cfd17889452011b137 (patch) | |
| tree | a62a9300112abd81830b1650a7d2d29421f62540 /test/typecheck | |
| parent | 219f8ef5aec4d6a4f918693bccc9dc548716ea41 (diff) | |
| parent | dd32e257ddecdeece792b508cc05c9acab153e70 (diff) | |
Merge branch 'sail2' of https://github.com/rems-project/sail into sail2
Diffstat (limited to 'test/typecheck')
| -rw-r--r-- | test/typecheck/fail/missing_tick.expect | 11 | ||||
| -rw-r--r-- | test/typecheck/fail/missing_tick.sail | 7 | ||||
| -rw-r--r-- | test/typecheck/fail/struct_incomplete_literal.expect | 8 | ||||
| -rw-r--r-- | test/typecheck/fail/struct_incomplete_literal.sail | 12 | ||||
| -rwxr-xr-x | test/typecheck/run_tests.sh | 6 |
5 files changed, 41 insertions, 3 deletions
diff --git a/test/typecheck/fail/missing_tick.expect b/test/typecheck/fail/missing_tick.expect new file mode 100644 index 00000000..b447fdd2 --- /dev/null +++ b/test/typecheck/fail/missing_tick.expect @@ -0,0 +1,11 @@ +Type error: +[[96mmissing_tick.sail[0m]:5:16-17 +5[96m |[0mtype foo = bits(x) + [91m |[0m [91m^[0m + [91m |[0m Undefined synonym x + [91m |[0m This error was caused by: + [91m |[0m [[96mmissing_tick.sail[0m]:5:0-18 + [91m |[0m 5[96m |[0mtype foo = bits(x) + [91m |[0m [91m |[0m[91m^----------------^[0m + [91m |[0m [91m |[0m Types are not well-formed within this type definition. Note that recursive types are forbidden. + [91m |[0m diff --git a/test/typecheck/fail/missing_tick.sail b/test/typecheck/fail/missing_tick.sail new file mode 100644 index 00000000..67a468b1 --- /dev/null +++ b/test/typecheck/fail/missing_tick.sail @@ -0,0 +1,7 @@ +default Order dec +$include <vector_dec.sail> + +let 'x = 0 +type foo = bits(x) + +function y() : unit -> foo = sail_zeros(0) diff --git a/test/typecheck/fail/struct_incomplete_literal.expect b/test/typecheck/fail/struct_incomplete_literal.expect new file mode 100644 index 00000000..2178d1a1 --- /dev/null +++ b/test/typecheck/fail/struct_incomplete_literal.expect @@ -0,0 +1,8 @@ +Type error: +[[96mstruct_incomplete_literal.sail[0m]:10:20-12:1 +10[96m |[0mlet foo_val : foo = struct { + [91m |[0m [91m^-------[0m +12[96m |[0m} + [91m |[0m[91m^[0m + [91m |[0m struct literal missing fields: b + [91m |[0m diff --git a/test/typecheck/fail/struct_incomplete_literal.sail b/test/typecheck/fail/struct_incomplete_literal.sail new file mode 100644 index 00000000..f5c07c2e --- /dev/null +++ b/test/typecheck/fail/struct_incomplete_literal.sail @@ -0,0 +1,12 @@ +default Order dec + +$include <prelude.sail> + +struct foo = { + a : int, + b : int +} + +let foo_val : foo = struct { + a = 1 +} diff --git a/test/typecheck/run_tests.sh b/test/typecheck/run_tests.sh index adc30c42..e0720baf 100755 --- a/test/typecheck/run_tests.sh +++ b/test/typecheck/run_tests.sh @@ -92,13 +92,13 @@ do pushd $DIR/fail > /dev/null; if $SAILDIR/sail -no_memo_z3 $(basename $file) 2> result then - red "Expected failure, but $i $(basename $file) passed" "fail" + red "Expected failure, but $(basename $file) passed" "fail" else if diff ${file%.sail}.expect result; then - green "failing $i $(basename $file)" "pass" + green "failing $(basename $file)" "pass" else - yellow "failing $i $(basename $file)" "unexpected error" + yellow "failing $(basename $file)" "unexpected error" fi fi; rm -f result; |
