From b9b119d827d84a8b869edd4f4fa9ff9622a74be0 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Mon, 9 Dec 2019 11:39:01 +0100 Subject: [PATCH] Jenkinsfile: use mergeJunitResults() (#38298) --- Jenkinsfile | 3 +- merge-junit-results.py | 65 ------------------------------------------ 2 files changed, 1 insertion(+), 67 deletions(-) delete mode 100755 merge-junit-results.py diff --git a/Jenkinsfile b/Jenkinsfile index 49aa7f3..2cadbeb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,7 @@ pip install tox""" utils.publish_coverage_native('index.html') utils.publish_pylint('pylint.out') } - sh './merge-junit-results.py junit-*.xml >junit.xml' - junit 'junit.xml' + mergeJunitResults() } } } diff --git a/merge-junit-results.py b/merge-junit-results.py deleted file mode 100755 index 6f1eec5..0000000 --- a/merge-junit-results.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python -# -# Corey Goldberg, Dec 2012 -# - -import os -import sys -import xml.etree.ElementTree as ET - - -"""Merge multiple JUnit XML files into a single results file. -Output dumps to sdtdout. -example usage: - $ python merge_junit_results.py results1.xml results2.xml > results.xml -""" - - -def main(): - args = sys.argv[1:] - if not args: - usage() - sys.exit(2) - if '-h' in args or '--help' in args: - usage() - sys.exit(2) - merge_results(args[:]) - - -def merge_results(xml_files): - failures = 0 - tests = 0 - errors = 0 - time = 0.0 - cases = [] - - for file_name in xml_files: - tree = ET.parse(file_name) - test_suite = tree.getroot() - failures += int(test_suite.attrib.get('failures', '0')) - tests += int(test_suite.attrib.get('tests', '0')) - errors += int(test_suite.attrib.get('errors', '0')) - time += float(test_suite.attrib.get('time', '0.')) - name = test_suite.attrib.get('name', '') - for child in test_suite.getchildren(): - child.attrib['classname'] = '%s-%s' % (name, child.attrib.get('classname', '')) - cases.append(test_suite.getchildren()) - - new_root = ET.Element('testsuite') - new_root.attrib['failures'] = '%s' % failures - new_root.attrib['tests'] = '%s' % tests - new_root.attrib['errors'] = '%s' % errors - new_root.attrib['time'] = '%s' % time - for case in cases: - new_root.extend(case) - new_tree = ET.ElementTree(new_root) - ET.dump(new_tree) - - -def usage(): - this_file = os.path.basename(__file__) - print('Usage: %s results1.xml results2.xml' % this_file) - - -if __name__ == '__main__': - main() -- 2.23.0