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 at intel.com> --- app/test/autotest.py | 3 ++- app/test/autotest_runner.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/test/autotest.py b/app/test/autotest.py index a79db10..b9fd6b6 100644 --- a/app/test/autotest.py +++ b/app/test/autotest.py @@ -72,5 +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) diff --git a/app/test/autotest_runner.py b/app/test/autotest_runner.py index 260b72c..586b0fa 100644 --- a/app/test/autotest_runner.py +++ b/app/test/autotest_runner.py @@ -400,6 +400,7 @@ 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: @@ -407,3 +408,4 @@ class AutotestRunner: log_buffers = [] + return self.fails -- 1.8.1.4