author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Tue, 10 Oct 2023 10:03:34 +0200 | |
changeset 51040 | 7d66621c5349 |
parent 48875 | 6000f5b25c9b |
permissions | -rw-r--r-- |
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) |