app/test: return error code on failed tests

This change returns a system error code if tests fail when
running any of the "make test" targets.

This allows the tests to report failures while running in
continuous integration environments.

Previously "make test" returned $? == 0 for all combinations
of success, failure and exception conditions.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
This commit is contained in:
John McNamara 2015-06-11 15:48:56 +01:00 committed by Thomas Monjalon
parent a3894e2fbc
commit a8a9262de3
2 changed files with 6 additions and 1 deletions

View File

@ -72,4 +72,6 @@ for test_group in autotest_data.parallel_test_group_list:
for test_group in autotest_data.non_parallel_test_group_list:
runner.add_non_parallel_test_group(test_group)
runner.run_all_tests()
num_fails = runner.run_all_tests()
sys.exit(num_fails)

View File

@ -400,9 +400,12 @@ class AutotestRunner:
except:
print "Exception occured"
print sys.exc_info()
self.fails = 1
# drop logs from all executions to a logfile
for buf in self.log_buffers:
self.logfile.write(buf.replace("\r",""))
log_buffers = []
return self.fails