Allow running unittest.TestCase via run_tests.py
authorCédric Ollivier <cedric.ollivier@orange.com>
Wed, 17 May 2017 22:26:26 +0000 (00:26 +0200)
committerCédric Ollivier <cedric.ollivier@orange.com>
Wed, 17 May 2017 22:37:16 +0000 (00:37 +0200)
pytest_suite_runner can run any unittest.TestCase thanks to name passed
as run arg. Here is the related functest/ci/testcases.yaml:

  run:
      module: 'functest.core.pytest_suite_runner'
      class: 'PyTestSuiteRunner'
      args:
          name: 'functest.tests.unit.odl.test_odl'

Change-Id: I7c2c611c4afbad1e52bfdca4a3288ccc21491389
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
functest/core/pytest_suite_runner.py

index bcbaa25..9d78735 100644 (file)
@@ -30,6 +30,11 @@ class PyTestSuiteRunner(testcase.TestCase):
         """
         Starts test execution from the functest framework
         """
+        try:
+            name = kwargs["name"]
+            self.suite = unittest.TestLoader().loadTestsFromName(name)
+        except KeyError:
+            pass
         self.start_time = time.time()
         result = unittest.TextTestRunner(verbosity=2).run(self.suite)
         self.stop_time = time.time()