annotate tests/basic_test_result.py @ 51990:4b347e9429e7

tests: stabilize `test-split-legacy-inline-changelog.t` on Windows The `tar` command is unable to process "C:\path\to\foo.tar" style paths, which is how `$TESTDIR` is constructed. It also didn't work with `$TESTDIR_FORWARD_SLASH`- both failed with: tar: Cannot connect to C: resolve failed [128] But `cat` can handle it if the path is quoted, and `tar` can read from stdin.
author Matt Harbison <matt_harbison@yahoo.com>
date Mon, 07 Oct 2024 21:48:36 -0400
parents 6000f5b25c9b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
48273
3a95a4e660b9 python: compatibility for python 3.11 (issue6604)
Raphaël Gomès <rgomes@octobus.net>
parents: 43076
diff changeset
1 import sys
38616
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
2 import unittest
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
3
48273
3a95a4e660b9 python: compatibility for python 3.11 (issue6604)
Raphaël Gomès <rgomes@octobus.net>
parents: 43076
diff changeset
4 if sys.version_info[0] < 3:
3a95a4e660b9 python: compatibility for python 3.11 (issue6604)
Raphaël Gomès <rgomes@octobus.net>
parents: 43076
diff changeset
5 base_class = unittest._TextTestResult
3a95a4e660b9 python: compatibility for python 3.11 (issue6604)
Raphaël Gomès <rgomes@octobus.net>
parents: 43076
diff changeset
6 else:
3a95a4e660b9 python: compatibility for python 3.11 (issue6604)
Raphaël Gomès <rgomes@octobus.net>
parents: 43076
diff changeset
7 base_class = unittest.TextTestResult
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 38621
diff changeset
8
48273
3a95a4e660b9 python: compatibility for python 3.11 (issue6604)
Raphaël Gomès <rgomes@octobus.net>
parents: 43076
diff changeset
9
3a95a4e660b9 python: compatibility for python 3.11 (issue6604)
Raphaël Gomès <rgomes@octobus.net>
parents: 43076
diff changeset
10 class TestResult(base_class):
38616
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
11 def __init__(self, options, *args, **kwargs):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
12 super(TestResult, self).__init__(*args, **kwargs)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
13 self._options = options
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
14
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
15 # unittest.TestResult didn't have skipped until 2.7. We need to
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
16 # polyfill it.
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
17 self.skipped = []
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
18
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
19 # We have a custom "ignored" result that isn't present in any Python
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
20 # unittest implementation. It is very similar to skipped. It may make
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
21 # sense to map it into skip some day.
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
22 self.ignored = []
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
23
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
24 self.times = []
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
25 self._firststarttime = None
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
26 # Data stored for the benefit of generating xunit reports.
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
27 self.successes = []
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
28 self.faildata = {}
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
29
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
30 def addFailure(self, test, reason):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
31 print("FAILURE!", test, reason)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
32
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
33 def addSuccess(self, test):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
34 print("SUCCESS!", test)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
35
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
36 def addError(self, test, err):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
37 print("ERR!", test, err)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
38
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
39 # Polyfill.
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
40 def addSkip(self, test, reason):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
41 print("SKIP!", test, reason)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
42
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
43 def addIgnore(self, test, reason):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
44 print("IGNORE!", test, reason)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
45
38621
f4a214300957 run-tests: add missing life-cycle methods on the example custom test result
Boris Feld <boris.feld@octobus.net>
parents: 38616
diff changeset
46 def onStart(self, test):
f4a214300957 run-tests: add missing life-cycle methods on the example custom test result
Boris Feld <boris.feld@octobus.net>
parents: 38616
diff changeset
47 print("ON_START!", test)
f4a214300957 run-tests: add missing life-cycle methods on the example custom test result
Boris Feld <boris.feld@octobus.net>
parents: 38616
diff changeset
48
f4a214300957 run-tests: add missing life-cycle methods on the example custom test result
Boris Feld <boris.feld@octobus.net>
parents: 38616
diff changeset
49 def onEnd(self):
f4a214300957 run-tests: add missing life-cycle methods on the example custom test result
Boris Feld <boris.feld@octobus.net>
parents: 38616
diff changeset
50 print("ON_END!")
f4a214300957 run-tests: add missing life-cycle methods on the example custom test result
Boris Feld <boris.feld@octobus.net>
parents: 38616
diff changeset
51
38616
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
52 def addOutputMismatch(self, test, ret, got, expected):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
53 return False
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
54
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
55 def stopTest(self, test, interrupted=False):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
56 super(TestResult, self).stopTest(test)