From 63fe059b5520daa5f5542c226106638732b40ca1 Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Tue, 27 Jun 2023 10:48:32 +0800 Subject: [PATCH] ci(pytest): fix multi-dut missing c test case in the junit report issue --- tools/ci/idf_unity_tester.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/ci/idf_unity_tester.py b/tools/ci/idf_unity_tester.py index 3038dea02e..fdd781268b 100644 --- a/tools/ci/idf_unity_tester.py +++ b/tools/ci/idf_unity_tester.py @@ -1,5 +1,7 @@ # SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD # SPDX-License-Identifier: Apache-2.0 +import logging +import os import time from multiprocessing import Manager, Process, Semaphore from multiprocessing.managers import SyncManager @@ -304,6 +306,13 @@ class MultiDevCaseTester(BaseTester): break # The case finished, release the semaphore to unblock the '_wait_multi_dev_case_finish' + # + # Manually to create the real test case junit report + # The child process attributes won't be reflected to the parent one. + junit_report = os.path.splitext(dut.logfile)[0] + f'_{case.index}_{sub_case_index}.xml' + dut.testsuite.dump(junit_report) + logging.info(f'Created unity output junit report: {junit_report}') + dev_res.sem.release() def run_all_multi_dev_cases(self, reset: bool = False, timeout: int = 60) -> None: