annotate tests/basic_test_result.py @ 40024:86b22a4cfab1

wireprotov2: client support for advertising redirect targets With the server now able to emit a redirect target descriptor, we can start to teach the client to recognize it. This commit implements support for filtering the advertised redirect targets against supported features and for advertising compatible redirect targets as part of command requests. It also adds the minimal boilerplate required to fail when a content redirect is seen. The server doesn't yet do anything with the advertised redirect targets. And the client can't yet follow redirects if it did. But at least we're putting bytes on the wire. Differential Revision: https://phab.mercurial-scm.org/D4776
author Gregory Szorc <gregory.szorc@gmail.com>
date Wed, 26 Sep 2018 15:02:19 -0700
parents f4a214300957
children 2372284d9457
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
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
5 class TestResult(unittest._TextTestResult):
c44ae5997869 run-tests: add support for external test result
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
6
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)