summaryrefslogtreecommitdiff
path: root/test/c
diff options
context:
space:
mode:
Diffstat (limited to 'test/c')
-rwxr-xr-xtest/c/run_tests.py6
-rw-r--r--test/c/toplevel_tyvar.expect1
-rw-r--r--test/c/toplevel_tyvar.sail14
3 files changed, 18 insertions, 3 deletions
diff --git a/test/c/run_tests.py b/test/c/run_tests.py
index f5347831..64c3ae42 100755
--- a/test/c/run_tests.py
+++ b/test/c/run_tests.py
@@ -22,10 +22,10 @@ def test_c(name, c_opts, sail_opts, valgrind):
if tests[filename] == 0:
step('sail -no_warn -c {} {} 1> {}.c'.format(sail_opts, filename, basename))
step('gcc {} {}.c {}/lib/*.c -lgmp -lz -I {}/lib -o {}'.format(c_opts, basename, sail_dir, sail_dir, basename))
- step('./{} 1> {}.result'.format(basename, basename))
+ step('./{} 1> {}.result'.format(basename, basename), expected_status = 1 if basename == "exception" else 0)
step('diff {}.result {}.expect'.format(basename, basename))
if valgrind:
- step("valgrind --leak-check=full --track-origins=yes --errors-for-leak-kinds=all --error-exitcode=1 ./{}".format(basename))
+ step("valgrind --leak-check=full --track-origins=yes --errors-for-leak-kinds=all --error-exitcode=2 ./{}".format(basename), expected_status = 1 if basename == "exception" else 0)
print '{} {}{}{}'.format(filename, color.PASS, 'ok', color.END)
sys.exit()
results.collect(tests)
@@ -57,7 +57,7 @@ def test_ocaml(name):
tests[filename] = os.fork()
if tests[filename] == 0:
step('sail -ocaml -ocaml_build_dir _sbuild_{} -o {} {}'.format(basename, basename, filename))
- step('./{} 1> {}.oresult'.format(basename, basename))
+ step('./{} 1> {}.oresult'.format(basename, basename), expected_status = 1 if basename == "exception" else 0)
step('diff {}.oresult {}.expect'.format(basename, basename))
print '{} {}{}{}'.format(filename, color.PASS, 'ok', color.END)
sys.exit()
diff --git a/test/c/toplevel_tyvar.expect b/test/c/toplevel_tyvar.expect
new file mode 100644
index 00000000..9766475a
--- /dev/null
+++ b/test/c/toplevel_tyvar.expect
@@ -0,0 +1 @@
+ok
diff --git a/test/c/toplevel_tyvar.sail b/test/c/toplevel_tyvar.sail
new file mode 100644
index 00000000..af2f4d1e
--- /dev/null
+++ b/test/c/toplevel_tyvar.sail
@@ -0,0 +1,14 @@
+default Order dec
+
+$include <prelude.sail>
+
+val "print_endline" : string -> unit
+
+let 'var = 32
+
+function main() -> unit = {
+ let x: bits('var) = 0xFFFF_FFFF;
+ let y: bits(32) = 0xFFFF_FFFF;
+ assert(x == y);
+ print_endline("ok")
+}