Mercurial > hg
view tests/basic_test_result.py @ 38616:c44ae5997869
run-tests: add support for external test result
The goal is to begin experiment with custom test result. I'm not sure we
should offers any backward-compatibility guarantee on that plugin API as it
doesn't change often and shouldn't have too much clients.
Differential Revision: https://phab.mercurial-scm.org/D3700
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Sat, 28 Apr 2018 12:51:44 +0200 |
parents | |
children | f4a214300957 |
line wrap: on
line source
from __future__ import print_function import unittest class TestResult(unittest._TextTestResult): def __init__(self, options, *args, **kwargs): super(TestResult, self).__init__(*args, **kwargs) self._options = options # unittest.TestResult didn't have skipped until 2.7. We need to # polyfill it. self.skipped = [] # We have a custom "ignored" result that isn't present in any Python # unittest implementation. It is very similar to skipped. It may make # sense to map it into skip some day. self.ignored = [] self.times = [] self._firststarttime = None # Data stored for the benefit of generating xunit reports. self.successes = [] self.faildata = {} def addFailure(self, test, reason): print("FAILURE!", test, reason) def addSuccess(self, test): print("SUCCESS!", test) def addError(self, test, err): print("ERR!", test, err) # Polyfill. def addSkip(self, test, reason): print("SKIP!", test, reason) def addIgnore(self, test, reason): print("IGNORE!", test, reason) def addOutputMismatch(self, test, ret, got, expected): return False def stopTest(self, test, interrupted=False): super(TestResult, self).stopTest(test)