[dpdk-dev] app/test: return error code on failed tests

Message ID 1434034136-12162-1-git-send-email-john.mcnamara@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

John McNamara June 11, 2015, 2:48 p.m. UTC
  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>
---
 app/test/autotest.py        | 3 ++-
 app/test/autotest_runner.py | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)
  

Comments

Thomas Monjalon June 15, 2015, 1:24 p.m. UTC | #1
2015-06-11 15:48, John McNamara:
> 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>

Applied, thanks
  

Patch

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