diff options
| author | Alasdair | 2020-04-15 15:57:38 +0100 |
|---|---|---|
| committer | Alasdair | 2020-04-15 15:57:38 +0100 |
| commit | b727e02d59c130b6b6d1eb969a0e4fa8cc156e51 (patch) | |
| tree | dc7fce45ca7f0b90a628f0e15c1ce99d8554d360 /test | |
| parent | 26510d7798daac30a400e8d04278a86ea8b83983 (diff) | |
Add more intuitive defaults to interactive toplevel
sail -i now starts an interactive toplevel with a few additional
options set by default:
- It applies the "interpreter" rewrites to any files passed on the command
line.
- It also applies those rewrites after the :l/:load command
- Registers previously started in a disabled state, as the interactive shell
made no default decision as to how to handle undefined (which is the initial
value for all registers). Now -i implies -undefined_gen
- Better help text for :fix_registers
- Nullary interactive actions generate Sail functions that round-trip through pretty
printing and parsing (bugfix)
The -interact_custom flag has the same behavior as the previous -i flag
This commit also improves the c/ocaml/interpreter test harness so it
cleans up temporary files which could cause issues with stale files
when switching ocaml versions
Diffstat (limited to 'test')
| -rw-r--r-- | test/c/execute.isail | 1 | ||||
| -rwxr-xr-x | test/c/run_tests.py | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/test/c/execute.isail b/test/c/execute.isail index 018dd92c..f4b5ea0f 100644 --- a/test/c/execute.isail +++ b/test/c/execute.isail @@ -1,4 +1,3 @@ -:rewrites interpreter initialize_registers() :run main() diff --git a/test/c/run_tests.py b/test/c/run_tests.py index 64c3ae42..c4f0e591 100755 --- a/test/c/run_tests.py +++ b/test/c/run_tests.py @@ -26,6 +26,7 @@ def test_c(name, c_opts, sail_opts, valgrind): step('diff {}.result {}.expect'.format(basename, basename)) if valgrind: 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) + step('rm {}.c {} {}.result'.format(basename, basename, basename)) print '{} {}{}{}'.format(filename, color.PASS, 'ok', color.END) sys.exit() results.collect(tests) @@ -40,8 +41,9 @@ def test_interpreter(name): basename = os.path.splitext(os.path.basename(filename))[0] tests[filename] = os.fork() if tests[filename] == 0: - step('sail -undefined_gen -is execute.isail -iout {}.iresult {}'.format(basename, filename)) + step('sail -is execute.isail -iout {}.iresult {}'.format(basename, filename)) step('diff {}.iresult {}.expect'.format(basename, basename)) + step('rm {}.iresult'.format(basename)) print '{} {}{}{}'.format(filename, color.PASS, 'ok', color.END) sys.exit() results.collect(tests) @@ -59,6 +61,8 @@ def test_ocaml(name): step('sail -ocaml -ocaml_build_dir _sbuild_{} -o {} {}'.format(basename, basename, filename)) step('./{} 1> {}.oresult'.format(basename, basename), expected_status = 1 if basename == "exception" else 0) step('diff {}.oresult {}.expect'.format(basename, basename)) + step('rm -r _sbuild_{}'.format(basename)) + step('rm {}.oresult {}'.format(basename, basename)) print '{} {}{}{}'.format(filename, color.PASS, 'ok', color.END) sys.exit() results.collect(tests) |
