@@ -318,7 +318,7 @@ class TestRunner(ContextManager['TestRunner']):
return res
- def run_tests(self, tests: List[str]) -> None:
+ def run_tests(self, tests: List[str]) -> bool:
n_run = 0
failed = []
notrun = []
@@ -363,5 +363,7 @@ class TestRunner(ContextManager['TestRunner']):
if failed:
print('Failures:', ' '.join(failed))
print(f'Failed {len(failed)} of {n_run} iotests')
+ return False
else:
print(f'Passed all {n_run} iotests')
+ return True
@@ -140,4 +140,7 @@ if __name__ == '__main__':
else:
with TestRunner(env, makecheck=args.makecheck,
color=args.color) as tr:
- tr.run_tests([os.path.join(env.source_iotests, t) for t in tests])
+ paths = [os.path.join(env.source_iotests, t) for t in tests]
+ ok = tr.run_tests(paths)
+ if not ok:
+ sys.exit(1)