comparison tests/run-tests.py @ 41546:20e62312e016

run-tests: set attributes in sorted order Python 3.8 preserves insertion order in serialized output (https://bugs.python.org/issue34160). Older Pythons serialized in sorted order. Let's make insertion order sorted so behavior is consistent across Python versions. Differential Revision: https://phab.mercurial-scm.org/D5831
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 04 Feb 2019 09:47:13 -0800
parents 17a6e063c886
children 7855a949b7c2
comparison
equal deleted inserted replaced
41545:fbb43514f342 41546:20e62312e016
2376 def _writexunit(result, outf): 2376 def _writexunit(result, outf):
2377 # See http://llg.cubic.org/docs/junit/ for a reference. 2377 # See http://llg.cubic.org/docs/junit/ for a reference.
2378 timesd = dict((t[0], t[3]) for t in result.times) 2378 timesd = dict((t[0], t[3]) for t in result.times)
2379 doc = minidom.Document() 2379 doc = minidom.Document()
2380 s = doc.createElement('testsuite') 2380 s = doc.createElement('testsuite')
2381 s.setAttribute('name', 'run-tests')
2382 s.setAttribute('tests', str(result.testsRun))
2383 s.setAttribute('errors', "0") # TODO 2381 s.setAttribute('errors', "0") # TODO
2384 s.setAttribute('failures', str(len(result.failures))) 2382 s.setAttribute('failures', str(len(result.failures)))
2383 s.setAttribute('name', 'run-tests')
2385 s.setAttribute('skipped', str(len(result.skipped) + 2384 s.setAttribute('skipped', str(len(result.skipped) +
2386 len(result.ignored))) 2385 len(result.ignored)))
2386 s.setAttribute('tests', str(result.testsRun))
2387 doc.appendChild(s) 2387 doc.appendChild(s)
2388 for tc in result.successes: 2388 for tc in result.successes:
2389 t = doc.createElement('testcase') 2389 t = doc.createElement('testcase')
2390 t.setAttribute('name', tc.name) 2390 t.setAttribute('name', tc.name)
2391 tctime = timesd.get(tc.name) 2391 tctime = timesd.get(tc.name)