Mercurial > hg
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) |