Fix return behavior of run_tools.py
If not running in forever mode, and a test fails, fail run_tests.py
also.
If running in forever mode and make fails, wait for the next run.
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index bb25b38..b4d426f 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -80,17 +80,20 @@
for cfg in build_configs
for target in _MAKE_TEST_TARGETS),
check_cancelled, maxjobs=1):
- sys.exit(1)
+ return 1
# run all the tests
- jobset.run((
+ if not jobset.run((
config.run_command(x)
for config in run_configs
for filt in filters
for x in itertools.chain.from_iterable(itertools.repeat(
glob.glob('bins/%s/%s_test' % (
config.build_config, filt)),
- runs_per_test))), check_cancelled)
+ runs_per_test))), check_cancelled):
+ return 2
+
+ return 0
if forever:
@@ -102,5 +105,5 @@
while not have_files_changed():
time.sleep(1)
else:
- _build_and_run(lambda: False)
+ sys.exit(_build_and_run(lambda: False))