diff options
Diffstat (limited to 'functest/core')
-rw-r--r-- | functest/core/pytest_suite_runner.py | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/functest/core/pytest_suite_runner.py b/functest/core/pytest_suite_runner.py index bcbaa25d..a6e47660 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: |