We should indicate failure by exit code, not only output.
Reported-by: Peter Maydell
Fixes: f203080bbd9f9e5b31041b1f2afcd6040c5aaec5
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <
20210201085041.3079-1-vsementsov@virtuozzo.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
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)
return res
- def run_tests(self, tests: List[str]) -> None:
+ def run_tests(self, tests: List[str]) -> bool:
n_run = 0
failed = []
notrun = []
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