annotate tests/basic_test_result.py @ 44893:95c832849955

setup: require that Python has TLS 1.1 or TLS 1.2 This ensures that Mercurial never downgrades the minimum TLS version from TLS 1.1+ to TLS 1.0+ and enables us to remove that compatibility code. It is reasonable to expect that distributions having Python 2.7.9+ or having backported modern features to the ssl module (which we require) have a OpenSSL version supporting TLS 1.1 or TLS 1.2, as this is the main reason why distributions would want to backport these features. TLS 1.1 and TLS 1.2 are often either both enabled or both not enabled. However, both can be disabled independently, at least on current Python / OpenSSL versions. For the record, I contacted the CPython developers to remark that unconditionally defining ssl.PROTOCOL_TLSv1_1 / ssl.PROTOCOL_TLSv1_2 is problematic: https://github.com/python/cpython/commit/6e8cda91d92da72800d891b2fc2073ecbc134d98#r39569316
author Manuel Jacob <me@manueljacob.de>
date Sat, 30 May 2020 23:42:19 +0200
parents 2372284d9457
children 3a95a4e660b9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
1 from __future__ import absolute_import, print_function
38616
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
2
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
3 import unittest
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
4
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 38621
diff changeset
5
38616
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
6 class TestResult(unittest._TextTestResult):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
7 def __init__(self, options, *args, **kwargs):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
8 super(TestResult, self).__init__(*args, **kwargs)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
9 self._options = options
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
10
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
11 # 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
12 # polyfill it.
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
13 self.skipped = []
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 # 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
16 # 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
17 # 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
18 self.ignored = []
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
19
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
20 self.times = []
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
21 self._firststarttime = None
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
22 # 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
23 self.successes = []
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
24 self.faildata = {}
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
25
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
26 def addFailure(self, test, reason):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
27 print("FAILURE!", test, reason)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
28
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
29 def addSuccess(self, test):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
30 print("SUCCESS!", test)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
31
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
32 def addError(self, test, err):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
33 print("ERR!", test, err)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
34
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
35 # Polyfill.
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
36 def addSkip(self, test, reason):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
37 print("SKIP!", test, reason)
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 def addIgnore(self, test, reason):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
40 print("IGNORE!", test, reason)
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
41
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
42 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
43 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
44
f4a214300957 run-tests: add missing life-cycle methods on the example custom test result
Boris Feld <boris.feld@octobus.net>
parents: 38616
diff changeset
45 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
46 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
47
38616
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
48 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
49 return False
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
50
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
51 def stopTest(self, test, interrupted=False):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
52 super(TestResult, self).stopTest(test)