From d82b5c2060b5e3fe2e06d4400bd002e0e6098bc1 Mon Sep 17 00:00:00 2001 From: XiaGuochao Date: Tue, 9 Jun 2020 21:38:35 +0800 Subject: [PATCH] Bugfix: when depenence error test hang --- test/maple_test/configs.py | 2 +- test/maple_test/task.py | 19 ++++++++++++------- test/maple_test/test.py | 14 +++++++++----- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/test/maple_test/configs.py b/test/maple_test/configs.py index 628e52505f..2549b75826 100644 --- a/test/maple_test/configs.py +++ b/test/maple_test/configs.py @@ -199,7 +199,7 @@ def parse_args(): "fail_exit": args.fail_exit, "print_type": args.print_type, "progress": args.progress, - "fail_verbose": args.fail_verbose + "fail_verbose": args.fail_verbose, } test_suite_config = { diff --git a/test/maple_test/task.py b/test/maple_test/task.py index 45e1fa168e..8cef13ba65 100644 --- a/test/maple_test/task.py +++ b/test/maple_test/task.py @@ -148,7 +148,7 @@ class TestSuiteTask: if user_config_set: run_config_set = user_config_set else: - run_config_set = list(top_dir.glob("**/*.cfg")) + run_config_set = [self.cfg_path] for cfg in run_config_set: if not cfg.exists(): @@ -297,11 +297,13 @@ class TestSuiteTask: postion, result = result case = self.task_set[postion[0]][postion[1]] - if result[0] != PASS: - output = {} - output["name"] = str(case) - output["cmd_list"] = "" - output["cmd_output"] = "" + output = {} + output["name"] = str(case) + output["cmd_list"] = "" + output["cmd_output"] = "" + if result[0] == PASS: + return + if result[0] != PASS and not isinstance(result[1], str): for cmd_result in result[1]: output["cmd_output"] += cmd_template.format(**cmd_result) for cmd in case.commands[: len(result[1]) - 1]: @@ -311,7 +313,10 @@ class TestSuiteTask: ) for cmd in case.commands[len(result[1]) :]: output["cmd_list"] += cmd_list_template.format(NOT_RUN, cmd) - print(output_template.format(**output)) + else: + output["cmd_list"] = "Test case preparation failed, " + result[1] + "\n" + output["cmd_output"] = output["cmd_list"] + print(output_template.format(**output)) def parallel_run_task(self, process_num): multiprocessing.freeze_support() diff --git a/test/maple_test/test.py b/test/maple_test/test.py index 9173a66417..bfa32e6cd0 100644 --- a/test/maple_test/test.py +++ b/test/maple_test/test.py @@ -145,11 +145,15 @@ class Result: if self.status == FAIL: failure = ElementTree.SubElement(case, "failure") - failure.text = "List of commands:\n" - for cmd in self.commands: - failure.text += "EXEC: {}\n".format(cmd) - failure.text += "----\n" - failure.text += self.command_result_to_text(self.commands_result[-1]) + if isinstance(self.commands_result, str): + failure.text = "Test case preparation failed, " + failure.text += self.commands_result + else: + failure.text = "List of commands:\n" + for cmd in self.commands: + failure.text += "EXEC: {}\n".format(cmd) + failure.text += "----\n" + failure.text += self.command_result_to_text(self.commands_result[-1]) elif self.status == UNRESOLVED: skipped = ElementTree.SubElement(case, "skipped") skipped.text = "No valid command statement was found." -- Gitee