diff options
Diffstat (limited to 'test/c/run_tests.py')
| -rwxr-xr-x | test/c/run_tests.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/c/run_tests.py b/test/c/run_tests.py index 4f221636..4927e281 100755 --- a/test/c/run_tests.py +++ b/test/c/run_tests.py @@ -64,6 +64,30 @@ def test_ocaml(name): results.collect(tests) return results.finish() +def test_lem(name): + banner('Testing {}'.format(name)) + results = Results(name) + for filenames in chunks(os.listdir('.'), parallel()): + tests = {} + for filename in filenames: + basename = os.path.splitext(os.path.basename(filename))[0] + tests[filename] = os.fork() + if tests[filename] == 0: + step('sail -lem {}'.format(filename)) + step('mkdir -p _lbuild_{}'.format(basename)) + step('cp {}*.lem _lbuild_{}'.format(basename, basename)) + step('cp lbuild/* _lbuild_{}'.format(basename)) + step('cp ../../src/gen_lib/*.lem _lbuild_{}'.format(basename)) + os.chdir('_lbuild_{}'.format(basename)) + step('echo "let _ = {}.main ()" > main.ml'.format(basename.capitalize())) + step('ocamlbuild -use-ocamlfind main.native'.format(basename, basename)) + step('./main.native 1> {}.lresult'.format(basename)) + step('diff ../{}.expect {}.lresult'.format(basename, basename)) + print '{} {}{}{}'.format(filename, color.PASS, 'ok', color.END) + sys.exit() + results.collect(tests) + return results.finish() + xml = '<testsuites>\n' xml += test_c('unoptimized C', '', '', True) @@ -76,6 +100,8 @@ xml += test_interpreter('interpreter') xml += test_ocaml('OCaml') +#xml += test_lem('lem') + xml += '</testsuites>\n' output = open('tests.xml', 'w') |
