aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2018-08-07 05:06:23 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2018-08-07 05:36:44 +0200
commit0b69c9ee6ca5188045a5927b41fa2666555631d9 (patch)
tree2cf85f3684156d52c57ced195066c18172b14497
parent12217df35b64528f786d3548ca2353907b2b6ebb (diff)
Allow calling a skip test
run_tests shouldn't return an incorrect value if the test is skipped. Else it simply forbids running tests in parallel (one test per thread). Change-Id: I07efca28dbf6cf1c29ec8e5c999e38cfe3ad0aad Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
-rw-r--r--xtesting/ci/run_tests.py14
-rw-r--r--xtesting/ci/tier_handler.py4
-rw-r--r--xtesting/tests/unit/ci/test_tier_builder.py5
3 files changed, 12 insertions, 11 deletions
diff --git a/xtesting/ci/run_tests.py b/xtesting/ci/run_tests.py
index c8983b46..61482d98 100644
--- a/xtesting/ci/run_tests.py
+++ b/xtesting/ci/run_tests.py
@@ -49,11 +49,6 @@ class BlockingTestFailed(Exception):
pass
-class TestNotEnabled(Exception):
- """Exception when the test is not enabled"""
- pass
-
-
class RunTestsParser(object):
"""Parser to run tests"""
# pylint: disable=too-few-public-methods
@@ -144,8 +139,13 @@ class Runner(object):
def run_test(self, test):
"""Run one test case"""
if not test.is_enabled():
- raise TestNotEnabled(
- "The test case {} is not enabled".format(test.get_name()))
+ msg = prettytable.PrettyTable(
+ header_style='upper', padding_width=5,
+ field_names=['test case', 'project', 'duration',
+ 'result'])
+ msg.add_row([test.get_name(), test.get_project(), "00:00", "SKIP"])
+ LOGGER.info("Test result:\n\n%s\n", msg)
+ return testcase.TestCase.EX_TESTCASE_SKIPPED
result = testcase.TestCase.EX_RUN_ERROR
run_dict = self.get_run_dict(test.get_name())
if run_dict:
diff --git a/xtesting/ci/tier_handler.py b/xtesting/ci/tier_handler.py
index 7a77e4cf..11a0858e 100644
--- a/xtesting/ci/tier_handler.py
+++ b/xtesting/ci/tier_handler.py
@@ -65,13 +65,13 @@ class Tier(object):
def get_test(self, test_name):
if self.is_test(test_name):
- for test in self.tests_array:
+ for test in self.tests_array + self.skipped_tests_array:
if test.get_name() == test_name:
return test
return None
def is_test(self, test_name):
- for test in self.tests_array:
+ for test in self.tests_array + self.skipped_tests_array:
if test.get_name() == test_name:
return True
return False
diff --git a/xtesting/tests/unit/ci/test_tier_builder.py b/xtesting/tests/unit/ci/test_tier_builder.py
index 88018472..70a7951a 100644
--- a/xtesting/tests/unit/ci/test_tier_builder.py
+++ b/xtesting/tests/unit/ci/test_tier_builder.py
@@ -66,8 +66,9 @@ class TierBuilderTesting(unittest.TestCase):
self.tier_obj.get_test('test_name'))
def test_get_test_disabled(self):
- self.assertEqual(self.tierbuilder.get_test('test_name_disabled'), None)
- self.assertEqual(self.tier_obj.get_test('test_name_disabled'), None)
+ self.assertEqual(
+ self.tierbuilder.get_test('test_name_disabled'),
+ self.tier_obj.get_test('test_name_disabled'))
self.assertEqual(
self.tier_obj.get_skipped_test()[0].name, 'test_name_disabled')