summaryrefslogtreecommitdiff
path: root/test/c
diff options
context:
space:
mode:
authorRobert Norton2019-06-19 17:04:31 +0100
committerRobert Norton2019-06-19 17:04:31 +0100
commit414b8f4e103bd6112001fe140cfb3b32c97e8bb5 (patch)
tree7e56df2d5776688df2e8cb5721e1d0906ed3d2e1 /test/c
parentb024aa981ddc3411d9b9d22e169a9d9a924f7124 (diff)
Make C emulator exit with failure for uncaught exception. Make special case for 'exception.sail' test that deliberately exits with uncaught exception.
Diffstat (limited to 'test/c')
-rwxr-xr-xtest/c/run_tests.py6
1 files changed, 3 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()