From 3b6bb06f1dd52c10702b293d34a76283ae4a7f00 Mon Sep 17 00:00:00 2001 From: Irina Efode Date: Fri, 3 Mar 2023 15:02:04 +0400 Subject: [PATCH] Update merge script to work with outdated reports (#16078) * Update merge script to work with outdated xml * change report name --- .../layer_tests_summary/merge_xmls.py | 13 +++++++++++-- .../layer_tests_summary/run_conformance.py | 6 +++--- .../layer_tests_summary/utils/constants.py | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/merge_xmls.py b/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/merge_xmls.py index fcc526a44a0..48b6b4f7515 100644 --- a/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/merge_xmls.py +++ b/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/merge_xmls.py @@ -34,8 +34,18 @@ def parse_arguments(): return parser.parse_args() +def update_rel_values(xml_node: SubElement): + if not "relative_all" in xml_node.attrib: + test_cnt = int(xml_node.attrib.get("passed")) + int(xml_node.attrib.get("failed")) + int(xml_node.attrib.get("skipped")) + \ + int(xml_node.attrib.get("crashed")) + int(xml_node.attrib.get("hanged")) + xml_node.set("relative_all", str(test_cnt)) + if not "relative_passed" in xml_node.attrib: + xml_node.set("relative_passed", xml_node.attrib.get("passed")) + def update_result_node(xml_node: SubElement, aggregated_res: SubElement): + update_rel_values(aggregated_res) + update_rel_values(xml_node) for attr_name in xml_node.attrib: if attr_name == "passrate" or attr_name == "relative_passrate": continue @@ -47,8 +57,6 @@ def update_result_node(xml_node: SubElement, aggregated_res: SubElement): continue xml_value = float(xml_node.attrib.get(attr_name)) if "relative_" in attr_name else int(xml_node.attrib.get(attr_name)) aggregated_value = float(aggregated_res.attrib.get(attr_name)) if "relative_" in attr_name else int(aggregated_res.attrib.get(attr_name)) - # if attr_name == "crashed" and xml_value > 0: - # print("f") aggregated_res.set(attr_name, str(xml_value + aggregated_value)) @@ -74,6 +82,7 @@ def aggregate_test_results(aggregated_results: SubElement, xml_reports: list, re for xml_results_entry in xml_device_entry: aggregated_results_entry = aggregated_device_results.find(xml_results_entry.tag) if aggregated_results_entry is None: + update_rel_values(xml_results_entry) aggregated_device_results.append(xml_results_entry) continue if report_type == "OP": diff --git a/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/run_conformance.py b/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/run_conformance.py index da2904fc878..8ab653652c4 100644 --- a/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/run_conformance.py +++ b/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/run_conformance.py @@ -171,12 +171,12 @@ class Conformance: conformance.run() conformance.postprocess_logs() - final_report_name = f'report_{self._type}' + final_report_name = f'report_{self._type.lower()}' # API Conformance contains both report type merge_xml([parallel_report_dir], report_dir, final_report_name, self._type) if self._type == constants.API_CONFORMANCE: - final_op_report_name = f'report_{constants.OP_CONFORMANCE}' - merge_xml([parallel_report_dir], report_dir, final_op_report_name, constants.OP_CONFORMANCE) + final_op_report_name = f'report_{constants.OP_CONFORMANCE.lower()}' + merge_xml([parallel_report_dir], report_dir, final_op_report_name, constants.OP_CONFORMANCE.lower()) logger.info(f"Conformance is successful. XML reportwas saved to {report_dir}") return (os.path.join(report_dir, final_report_name + ".xml"), report_dir) diff --git a/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/utils/constants.py b/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/utils/constants.py index 797832dff52..851fc57fc97 100644 --- a/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/utils/constants.py +++ b/src/tests/ie_test_utils/functional_test_utils/layer_tests_summary/utils/constants.py @@ -31,4 +31,4 @@ DEBUG_DIR = "Debug" RELEASE_DIR = "Release" OP_CONFORMANCE = "OP" -API_CONFORMANCE = "API" \ No newline at end of file +API_CONFORMANCE = "API"