# HG changeset patch # User Siddharth Agarwal # Date 1496875626 25200 # Node ID ef8d245396121f0dd1687ba04a48a1da4ae13124 # Parent 28240b75e880ee24b89789bb2d5f159354b52e2b run-tests: wrap failures in an XUnit 'failure' element This is closer to what most XUnit consumers can understand. diff -r 28240b75e880 -r ef8d24539612 tests/run-tests.py --- a/tests/run-tests.py Wed Jun 07 10:44:11 2017 +0100 +++ b/tests/run-tests.py Wed Jun 07 15:47:06 2017 -0700 @@ -2024,6 +2024,7 @@ @staticmethod def _writexunit(result, outf): + # See http://llg.cubic.org/docs/junit/ for a reference. timesd = dict((t[0], t[3]) for t in result.times) doc = minidom.Document() s = doc.createElement('testsuite') @@ -2052,7 +2053,13 @@ # fail if string isn't ASCII. err = cdatasafe(err).decode('utf-8', 'replace') cd = doc.createCDATASection(err) - t.appendChild(cd) + # Use 'failure' here instead of 'error' to match errors = 0, + # failures = len(result.failures) in the testsuite element. + failelem = doc.createElement('failure') + failelem.setAttribute('message', 'output changed') + failelem.setAttribute('type', 'output-mismatch') + failelem.appendChild(cd) + t.appendChild(failelem) s.appendChild(t) outf.write(doc.toprettyxml(indent=' ', encoding='utf-8')) diff -r 28240b75e880 -r ef8d24539612 tests/test-run-tests.t --- a/tests/test-run-tests.t Wed Jun 07 10:44:11 2017 +0100 +++ b/tests/test-run-tests.t Wed Jun 07 15:47:06 2017 -0700 @@ -200,14 +200,17 @@ (glob) (glob) + + ]]> + (glob) + + ]]> + $ cat .testtimes