diff --git a/tools/run_tests/python_utils/report_utils.py b/tools/run_tests/python_utils/report_utils.py index d9f6c5595d0..0ab346b6139 100644 --- a/tools/run_tests/python_utils/report_utils.py +++ b/tools/run_tests/python_utils/report_utils.py @@ -54,18 +54,22 @@ def render_junit_xml_report(resultset, """Generate JUnit-like XML report.""" if not multi_target: tree = new_junit_xml_tree() - append_junit_xml_results(tree, resultset, suite_package, suite_name, '1', - replace_dots) + append_junit_xml_results(tree, resultset, suite_package, suite_name, + '1', replace_dots) create_xml_report_file(tree, report_file) else: # To have each test result displayed as a separate target by the Resultstore/Sponge UI, # we generate a separate XML report file for each test result for shortname, results in six.iteritems(resultset): - one_result = { shortname: results } + one_result = {shortname: results} tree = new_junit_xml_tree() - append_junit_xml_results(tree, one_result, '%s_%s' % (suite_package, shortname), '%s_%s' % (suite_name, shortname), '1', - replace_dots) - per_suite_report_file = os.path.join(os.path.dirname(report_file), shortname, os.path.basename(report_file)) + append_junit_xml_results(tree, one_result, '%s_%s' % (suite_package, + shortname), + '%s_%s' % (suite_name, + shortname), '1', replace_dots) + per_suite_report_file = os.path.join( + os.path.dirname(report_file), shortname, + os.path.basename(report_file)) create_xml_report_file(tree, per_suite_report_file) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 8b2dfad2ef0..a3708dc2b80 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -1477,8 +1477,7 @@ argp.add_argument( default=False, const=True, action='store_const', - help= - 'Generate separate XML report for each test job (Looks better in UIs).' + help='Generate separate XML report for each test job (Looks better in UIs).' ) argp.add_argument( '--quiet_success', @@ -1888,7 +1887,10 @@ def _build_and_run(check_cancelled, upload_extra_fields) if xml_report and resultset: report_utils.render_junit_xml_report( - resultset, xml_report, suite_name=args.report_suite_name, multi_target=args.report_multi_target) + resultset, + xml_report, + suite_name=args.report_suite_name, + multi_target=args.report_multi_target) number_failures, _ = jobset.run( post_tests_steps, diff --git a/tools/run_tests/run_tests_matrix.py b/tools/run_tests/run_tests_matrix.py index f4e8f3cdc5f..105e5dcd906 100755 --- a/tools/run_tests/run_tests_matrix.py +++ b/tools/run_tests/run_tests_matrix.py @@ -48,6 +48,7 @@ _DEFAULT_INNER_JOBS = 2 # the per-test breakdown items that start with 'run_tests/' (it is more readable that way) _MATRIX_REPORT_NAME = 'toplevel_run_tests_invocations' + def _safe_report_name(name): """Reports with '+' in target name won't show correctly in ResultStore""" return name.replace('+', 'p') @@ -65,7 +66,8 @@ def _matrix_job_logfilename(shortname_for_multi_target): # for the corresponding 'sponge_log.xml' report. # the shortname_for_multi_target component must be set to match the sponge_log.xml location # because the top-level render_junit_xml_report is called with multi_target=True - s = '%s/%s/%s' % (_MATRIX_REPORT_NAME, shortname_for_multi_target, 'sponge_log.log') + s = '%s/%s/%s' % (_MATRIX_REPORT_NAME, shortname_for_multi_target, + 'sponge_log.log') print(s) return s @@ -203,7 +205,8 @@ def _create_test_jobs(extra_args=[], inner_jobs=_DEFAULT_INNER_JOBS): configs=['dbg', 'opt'], platforms=['linux', 'macos', 'windows'], labels=['basictests', 'corelang'], - extra_args=extra_args, # don't use multi_target report because C has too many test cases + extra_args= + extra_args, # don't use multi_target report because C has too many test cases inner_jobs=inner_jobs, timeout_seconds=_CPP_RUNTESTS_TIMEOUT) @@ -241,7 +244,8 @@ def _create_test_jobs(extra_args=[], inner_jobs=_DEFAULT_INNER_JOBS): configs=['dbg', 'opt'], platforms=['linux', 'macos'], labels=['basictests', 'corelang'], - extra_args=extra_args, # don't use multi_target report because C++ has too many test cases + extra_args= + extra_args, # don't use multi_target report because C++ has too many test cases inner_jobs=inner_jobs, timeout_seconds=_CPP_RUNTESTS_TIMEOUT) @@ -615,7 +619,8 @@ if __name__ == "__main__": report_utils.render_junit_xml_report( resultset, _report_filename(_MATRIX_REPORT_NAME), - suite_name=_MATRIX_REPORT_NAME, multi_target=True) + suite_name=_MATRIX_REPORT_NAME, + multi_target=True) if num_failures == 0: jobset.message(