compiler.testbench.embedding: allow compiling only.

This commit is contained in:
whitequark 2015-10-09 01:24:44 +03:00
parent 7bcba52d6a
commit 844d37ff18
1 changed files with 12 additions and 3 deletions

View File

@ -6,6 +6,12 @@ from artiq.master.worker_db import DeviceManager
from artiq.coredevice.core import Core, CompileError
def main():
if len(sys.argv) > 1 and sys.argv[1] == "+compile":
del sys.argv[1]
compile_only = True
else:
compile_only = False
with open(sys.argv[1]) as f:
testcase_code = compile(f.read(), f.name, "exec")
testcase_vars = {'__name__': 'testbench'}
@ -15,9 +21,12 @@ def main():
try:
core = Core(dmgr=DeviceManager(FlatFileDB(ddb_path)))
core.run(testcase_vars["entrypoint"], (), {})
print(core.comm.get_log())
core.comm.clear_log()
if compile_only:
core.compile(testcase_vars["entrypoint"], (), {})
else:
core.run(testcase_vars["entrypoint"], (), {})
print(core.comm.get_log())
core.comm.clear_log()
except CompileError as error:
print("\n".join(error.__cause__.diagnostic.render(only_line=True)))