提交 59a511a2 编写于 作者: D deveco_test

修复OHJS驱动Fail用例被标记为Block的bug

Signed-off-by: Ndeveco_test <liguangjie1@huawei.com>
上级 8f48976a
...@@ -330,6 +330,8 @@ class OHJSUnitTestDriver(IDriver): ...@@ -330,6 +330,8 @@ class OHJSUnitTestDriver(IDriver):
do_module_kit_setup(request, self.kits) do_module_kit_setup(request, self.kits)
self.runner = OHJSUnitTestRunner(self.config) self.runner = OHJSUnitTestRunner(self.config)
self.runner.suites_name = request.get_module_name() self.runner.suites_name = request.get_module_name()
if self.rerun:
self.runner.retry_times = self.runner.MAX_RETRY_TIMES
# execute test case # execute test case
self._get_runner_config(json_config) self._get_runner_config(json_config)
oh_jsunit_para_parse(self.runner, self.config.testargs) oh_jsunit_para_parse(self.runner, self.config.testargs)
...@@ -400,6 +402,7 @@ class OHJSUnitTestDriver(IDriver): ...@@ -400,6 +402,7 @@ class OHJSUnitTestDriver(IDriver):
LOG.debug("Ready to run with rerun, expect run: %s" LOG.debug("Ready to run with rerun, expect run: %s"
% len(expected_tests)) % len(expected_tests))
test_run = self._run_tests(listener) test_run = self._run_tests(listener)
self.runner.retry_times -= 1
LOG.debug("Run with rerun, has run: %s" % len(test_run) LOG.debug("Run with rerun, has run: %s" % len(test_run)
if test_run else 0) if test_run else 0)
if len(test_run) < len(expected_tests): if len(test_run) < len(expected_tests):
...@@ -421,6 +424,7 @@ class OHJSUnitTestDriver(IDriver): ...@@ -421,6 +424,7 @@ class OHJSUnitTestDriver(IDriver):
self.runner.add_arg("class", ",".join(tests)) self.runner.add_arg("class", ",".join(tests))
LOG.debug("Ready to rerun twice, expect run: %s" % len(expected_tests)) LOG.debug("Ready to rerun twice, expect run: %s" % len(expected_tests))
test_run = self._run_tests(listener) test_run = self._run_tests(listener)
self.runner.retry_times -= 1
LOG.debug("Rerun twice, has run: %s" % len(test_run)) LOG.debug("Rerun twice, has run: %s" % len(test_run))
if len(test_run) < len(expected_tests): if len(test_run) < len(expected_tests):
expected_tests = TestDescription.remove_test(expected_tests, expected_tests = TestDescription.remove_test(expected_tests,
...@@ -449,6 +453,8 @@ class OHJSUnitTestDriver(IDriver): ...@@ -449,6 +453,8 @@ class OHJSUnitTestDriver(IDriver):
class OHJSUnitTestRunner: class OHJSUnitTestRunner:
MAX_RETRY_TIMES = 3
def __init__(self, config): def __init__(self, config):
self.arg_list = {} self.arg_list = {}
self.suites_name = None self.suites_name = None
...@@ -458,6 +464,7 @@ class OHJSUnitTestRunner: ...@@ -458,6 +464,7 @@ class OHJSUnitTestRunner:
self.finished = False self.finished = False
self.expect_tests_dict = dict() self.expect_tests_dict = dict()
self.finished_observer = None self.finished_observer = None
self.retry_times = 1
def dry_run(self): def dry_run(self):
parsers = get_plugin(Plugin.PARSER, CommonParserType.oh_jsunit_list) parsers = get_plugin(Plugin.PARSER, CommonParserType.oh_jsunit_list)
...@@ -483,6 +490,7 @@ class OHJSUnitTestRunner: ...@@ -483,6 +490,7 @@ class OHJSUnitTestRunner:
def notify_finished(self): def notify_finished(self):
if self.finished_observer: if self.finished_observer:
self.finished_observer.notify_task_finished() self.finished_observer.notify_task_finished()
self.retry_times -= 1
def _get_shell_handler(self, listener): def _get_shell_handler(self, listener):
parsers = get_plugin(Plugin.PARSER, CommonParserType.oh_jsunit) parsers = get_plugin(Plugin.PARSER, CommonParserType.oh_jsunit)
......
...@@ -1151,7 +1151,8 @@ class OHJSUnitTestParser(IParser): ...@@ -1151,7 +1151,8 @@ class OHJSUnitTestParser(IParser):
result = copy.copy(test_info) result = copy.copy(test_info)
result.code = ResultCode.FAILED.value result.code = ResultCode.FAILED.value
listener.__ended__(LifeCycle.TestCase, result) listener.__ended__(LifeCycle.TestCase, result)
if listener.__class__.__name__ == "ReportListener": if listener.__class__.__name__ == "ReportListener" \
and self.runner.retry_times > 1:
index = list(listener.tests.keys())[-1] index = list(listener.tests.keys())[-1]
listener.tests.pop(index) listener.tests.pop(index)
test_info.is_completed = True test_info.is_completed = True
...@@ -1165,7 +1166,8 @@ class OHJSUnitTestParser(IParser): ...@@ -1165,7 +1166,8 @@ class OHJSUnitTestParser(IParser):
result = copy.copy(test_info) result = copy.copy(test_info)
result.code = ResultCode.FAILED.value result.code = ResultCode.FAILED.value
listener.__ended__(LifeCycle.TestCase, result) listener.__ended__(LifeCycle.TestCase, result)
if listener.__class__.__name__ == "ReportListener": if listener.__class__.__name__ == "ReportListener" \
and self.runner.retry_times > 1:
index = list(listener.tests.keys())[-1] index = list(listener.tests.keys())[-1]
listener.tests.pop(index) listener.tests.pop(index)
test_info.is_completed = True test_info.is_completed = True
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册