From 27d5cbaf03e532e30de2b6aacbc330391a0d1735 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Thu, 17 Mar 2011 14:51:59 +0100 Subject: [PATCH] Make smoketests' exit code reveal whether they were succesful. --- smoketests/admin_smoketests.py | 2 +- smoketests/base.py | 9 +++++++-- smoketests/netadmin_smoketests.py | 2 +- smoketests/public_network_smoketests.py | 2 +- smoketests/sysadmin_smoketests.py | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/smoketests/admin_smoketests.py b/smoketests/admin_smoketests.py index 86a7f600d37a..8d8b4349ecb7 100644 --- a/smoketests/admin_smoketests.py +++ b/smoketests/admin_smoketests.py @@ -95,4 +95,4 @@ class UserTests(AdminSmokeTestCase): if __name__ == "__main__": suites = {'user': unittest.makeSuite(UserTests)} - sys.exit(base.run_tests(suites)) + sys.exit(not base.run_tests(suites)) diff --git a/smoketests/base.py b/smoketests/base.py index 204b4a1eb3df..11f67ed6f706 100644 --- a/smoketests/base.py +++ b/smoketests/base.py @@ -205,7 +205,12 @@ def run_tests(suites): ', '.join(suites.keys()) return 1 - unittest.TextTestRunner(verbosity=2).run(suite) + return unittest.TextTestRunner(verbosity=2).run(suite).wasSuccessful() else: + successful = True for suite in suites.itervalues(): - unittest.TextTestRunner(verbosity=2).run(suite) + result = unittest.TextTestRunner(verbosity=2).run(suite) + if not result.wasSuccesful(): + successful = False + return successful + diff --git a/smoketests/netadmin_smoketests.py b/smoketests/netadmin_smoketests.py index 38beb8fdc7ed..4aa97c4e2c83 100644 --- a/smoketests/netadmin_smoketests.py +++ b/smoketests/netadmin_smoketests.py @@ -191,4 +191,4 @@ if __name__ == "__main__": suites = {'address': unittest.makeSuite(AddressTests), 'security_group': unittest.makeSuite(SecurityGroupTests) } - sys.exit(base.run_tests(suites)) + sys.exit(not base.run_tests(suites)) diff --git a/smoketests/public_network_smoketests.py b/smoketests/public_network_smoketests.py index 5a4c67642d8c..8a2ae3379f6d 100644 --- a/smoketests/public_network_smoketests.py +++ b/smoketests/public_network_smoketests.py @@ -184,4 +184,4 @@ class InstanceTestsFromPublic(base.UserSmokeTestCase): if __name__ == "__main__": suites = {'instance': unittest.makeSuite(InstanceTestsFromPublic)} - sys.exit(base.run_tests(suites)) + sys.exit(not base.run_tests(suites)) diff --git a/smoketests/sysadmin_smoketests.py b/smoketests/sysadmin_smoketests.py index e3b84d3d3ac2..6648ae7cf8e4 100644 --- a/smoketests/sysadmin_smoketests.py +++ b/smoketests/sysadmin_smoketests.py @@ -290,4 +290,4 @@ if __name__ == "__main__": 'instance': unittest.makeSuite(InstanceTests), 'volume': unittest.makeSuite(VolumeTests) } - sys.exit(base.run_tests(suites)) + sys.exit(not base.run_tests(suites))