aboutsummaryrefslogtreecommitdiffstats
path: root/functest/core/pytest_suite_runner.py
diff options
context:
space:
mode:
Diffstat (limited to 'functest/core/pytest_suite_runner.py')
-rw-r--r--functest/core/pytest_suite_runner.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/functest/core/pytest_suite_runner.py b/functest/core/pytest_suite_runner.py
index bcbaa25d3..a6e476600 100644
--- a/functest/core/pytest_suite_runner.py
+++ b/functest/core/pytest_suite_runner.py
@@ -8,12 +8,12 @@
# pylint: disable=missing-docstring
import logging
-import unittest
import time
+import unittest
-from functest.core import testcase
+import six
-logging.basicConfig()
+from functest.core import testcase
class PyTestSuiteRunner(testcase.TestCase):
@@ -21,17 +21,30 @@ class PyTestSuiteRunner(testcase.TestCase):
This superclass is designed to execute pre-configured unittest.TestSuite()
objects
"""
+
def __init__(self, **kwargs):
super(PyTestSuiteRunner, self).__init__(**kwargs)
- self.logger = logging.getLogger(self.__class__.__name__)
self.suite = None
+ self.logger = logging.getLogger(__name__)
def run(self, **kwargs):
"""
Starts test execution from the functest framework
"""
+ try:
+ name = kwargs["name"]
+ try:
+ self.suite = unittest.TestLoader().loadTestsFromName(name)
+ except ImportError:
+ self.logger.error("Can not import %s", name)
+ return testcase.TestCase.EX_RUN_ERROR
+ except KeyError:
+ pass
self.start_time = time.time()
- result = unittest.TextTestRunner(verbosity=2).run(self.suite)
+ 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()
if result.errors: