summaryrefslogtreecommitdiff
path: root/test/c/run_tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/c/run_tests.py')
-rwxr-xr-xtest/c/run_tests.py26
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')