From 34b2583ee5509daf8b237a9c55173026ad42b2bc Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Tue, 23 May 2017 19:07:52 +0200 Subject: Protect against self.suite = None MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ie3370ebfdd51b9aff707e50b754ca52796e49fbf Signed-off-by: Cédric Ollivier --- functest/core/unit.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'functest/core/unit.py') diff --git a/functest/core/unit.py b/functest/core/unit.py index 6799420c..5c4d2006 100644 --- a/functest/core/unit.py +++ b/functest/core/unit.py @@ -65,20 +65,24 @@ class Suite(testcase.TestCase): return testcase.TestCase.EX_RUN_ERROR except KeyError: pass - self.start_time = time.time() - stream = six.StringIO() - result = unittest.TextTestRunner( - stream=stream, verbosity=2).run(self.suite) - self.logger.debug("\n\n%s", stream.getvalue()) - self.stop_time = time.time() - self.details = {"failures": result.failures, - "errors": result.errors} try: + assert self.suite + self.start_time = time.time() + stream = six.StringIO() + result = unittest.TextTestRunner( + stream=stream, verbosity=2).run(self.suite) + self.logger.debug("\n\n%s", stream.getvalue()) + self.stop_time = time.time() + self.details = {"failures": result.failures, + "errors": result.errors} self.result = 100 * ( (result.testsRun - (len(result.failures) + len(result.errors))) / result.testsRun) return testcase.TestCase.EX_OK + except AssertionError: + self.logger.error("No suite is defined") + return testcase.TestCase.EX_RUN_ERROR except ZeroDivisionError: self.logger.error("No test has been run") return testcase.TestCase.EX_RUN_ERROR -- cgit 1.2.3-korg