Update Suite details pushed to DB
authorCédric Ollivier <cedric.ollivier@orange.com>
Tue, 13 Jun 2017 22:14:59 +0000 (00:14 +0200)
committerCédric Ollivier <cedric.ollivier@orange.com>
Wed, 14 Jun 2017 01:57:15 +0000 (03:57 +0200)
It now reports stats and dumps stream into details.
By the way, it fixes a bug when serializing the former details.

Change-Id: Idd388708071ca3185e5a07bc7e977f2d9837dc95
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
functest/core/unit.py
functest/tests/unit/core/test_unit.py

index 515a208..61b5a58 100644 (file)
@@ -74,8 +74,11 @@ class Suite(testcase.TestCase):
                 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.details = {
+                "testsRun": result.testsRun,
+                "failures": len(result.failures),
+                "errors": len(result.errors),
+                "stream": stream.getvalue()}
             self.result = 100 * (
                 (result.testsRun - (len(result.failures) +
                                     len(result.errors))) /
index 79c4e7d..ca73de6 100644 (file)
@@ -41,7 +41,9 @@ class PyTestSuiteRunnerTesting(unittest.TestCase):
         self._test_run(result=mock_result,
                        status=testcase.TestCase.EX_RUN_ERROR)
         self.assertEqual(self.psrunner.result, 0)
-        self.assertEqual(self.psrunner.details, {'errors': [], 'failures': []})
+        self.assertEqual(self.psrunner.details,
+                         {'errors': 0, 'failures': 0, 'stream': '',
+                          'testsRun': 0})
         self.assertEqual(self.psrunner.is_successful(),
                          testcase.TestCase.EX_TESTCASE_FAILED)
 
@@ -52,8 +54,8 @@ class PyTestSuiteRunnerTesting(unittest.TestCase):
         self._test_run(result=mock_result)
         self.assertEqual(self.psrunner.result, 96)
         self.assertEqual(self.psrunner.details,
-                         {'errors': [('test1', 'error_msg1')],
-                          'failures': [('test2', 'failure_msg1')]})
+                         {'errors': 1, 'failures': 1, 'stream': '',
+                          'testsRun': 50})
         self.assertEqual(self.psrunner.is_successful(),
                          testcase.TestCase.EX_TESTCASE_FAILED)
 
@@ -62,7 +64,9 @@ class PyTestSuiteRunnerTesting(unittest.TestCase):
                                 failures=[])
         self._test_run(result=mock_result)
         self.assertEqual(self.psrunner.result, 100)
-        self.assertEqual(self.psrunner.details, {'errors': [], 'failures': []})
+        self.assertEqual(self.psrunner.details,
+                         {'errors': 0, 'failures': 0, 'stream': '',
+                          'testsRun': 50})
         self.assertEqual(self.psrunner.is_successful(),
                          testcase.TestCase.EX_OK)