|
|
|
@ -64,6 +64,8 @@ def render_junit_xml_report(resultset, xml_report, suite_package='grpc', |
|
|
|
|
root = ET.Element('testsuites') |
|
|
|
|
testsuite = ET.SubElement(root, 'testsuite', id='1', package=suite_package, |
|
|
|
|
name=suite_name) |
|
|
|
|
failure_count = 0 |
|
|
|
|
error_count = 0 |
|
|
|
|
for shortname, results in six.iteritems(resultset): |
|
|
|
|
for result in results: |
|
|
|
|
xml_test = ET.SubElement(testsuite, 'testcase', name=shortname) |
|
|
|
@ -73,10 +75,14 @@ def render_junit_xml_report(resultset, xml_report, suite_package='grpc', |
|
|
|
|
'XML') |
|
|
|
|
if result.state == 'FAILED': |
|
|
|
|
ET.SubElement(xml_test, 'failure', message='Failure') |
|
|
|
|
failure_count += 1 |
|
|
|
|
elif result.state == 'TIMEOUT': |
|
|
|
|
ET.SubElement(xml_test, 'error', message='Timeout') |
|
|
|
|
error_count += 1 |
|
|
|
|
elif result.state == 'SKIPPED': |
|
|
|
|
ET.SubElement(xml_test, 'skipped', message='Skipped') |
|
|
|
|
testsuite.set('failures', str(failure_count)) |
|
|
|
|
testsuite.set('errors', str(error_count)) |
|
|
|
|
# ensure the report directory exists |
|
|
|
|
report_dir = os.path.dirname(os.path.abspath(xml_report)) |
|
|
|
|
if not os.path.exists(report_dir): |
|
|
|
|