From 210020412c1d70b70993dfdec5041d486b28a8c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 23 Aug 2022 15:49:59 +0200 Subject: [PATCH] testrunner: Generate JUnit result files The JUnit format is easier to feed to tools that don't support the native Qt Test XML format. Change-Id: Ie9803cc0fb0577b3b7258b05faa78d8fb1aad1d1 Reviewed-by: Dimitrios Apostolou --- util/testrunner/qt-testrunner.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/util/testrunner/qt-testrunner.py b/util/testrunner/qt-testrunner.py index cb54d70f1bd..ff71c09d5b5 100755 --- a/util/testrunner/qt-testrunner.py +++ b/util/testrunner/qt-testrunner.py @@ -236,7 +236,7 @@ def run_test(arg_list: List[str], **kwargs): def unique_filename(test_basename: str) -> str: timestamp = round(time.time() * 1000) - return f"{test_basename}-{timestamp}.xml" + return f"{test_basename}-{timestamp}" # Returns tuple: (exit_code, xml_logfile) def run_full_test(test_basename, testargs: List[str], output_dir: str, @@ -250,9 +250,11 @@ def run_full_test(test_basename, testargs: List[str], output_dir: str, # Append arguments to write log to qtestlib XML file, # and text to stdout. if not no_extra_args: + filename_base = unique_filename(test_basename) results_files.append( - os.path.join(output_dir, unique_filename(test_basename))) + os.path.join(output_dir, f"{filename_base}.xml")) output_testargs.extend(["-o", results_files[0] + ",xml"]) + output_testargs.extend(["-o", f"{filename_base}.junit.xml,junitxml"]) output_testargs.extend(["-o", "-,txt"]) proc = run_test(testargs + specific_extra_args + output_testargs, @@ -280,8 +282,10 @@ def rerun_failed_testcase(test_basename, testargs: List[str], output_dir: str, for i in range(max_repeats): # For the individual testcase re-runs, we log to file since Coin needs # to parse it. That is the reason we use unique filename every time. + filename_base = unique_filename(test_basename) output_args = [ - "-o", os.path.join(output_dir, unique_filename(test_basename)) + ",xml", + "-o", os.path.join(output_dir, f"{filename_base}.xml") + ",xml", + "-o", os.path.join(output_dir, f"{filename_base}.junit.xml") + ",junitxml", "-o", "-,txt"] L.info("Re-running testcase: %s", failed_arg) if i < max_repeats - 1: