96
class EarlyStoppingTestResultAdapter(object):
97
"""An adapter for TestResult to stop at the first first failure or error"""
99
def __init__(self, result):
100
self._result = result
102
def addError(self, test, err):
103
if (isinstance(err[1], TestSkipped) and
104
getattr(self, "addSkipped", None) is not None):
105
return self.addSkipped(test, err)
106
self._result.addError(test, err)
109
def addFailure(self, test, err):
110
self._result.addFailure(test, err)
113
def __getattr__(self, name):
114
return getattr(self._result, name)
116
def __setattr__(self, name, value):
117
if name == '_result':
118
object.__setattr__(self, name, value)
119
return setattr(self._result, name, value)
122
96
class _MyResult(unittest._TextTestResult):
123
97
"""Custom TestResult.
125
99
Shows output in a different format, including displaying runtime for tests.
128
103
def _elapsedTime(self):
129
104
return "%5dms" % (1000 * (time.time() - self._start_time))
849
827
'bzrlib.tests.test_commit_merge',
850
828
'bzrlib.tests.test_config',
851
829
'bzrlib.tests.test_conflicts',
830
'bzrlib.tests.test_decorators',
852
831
'bzrlib.tests.test_diff',
853
'bzrlib.tests.test_decorators',
832
'bzrlib.tests.test_doc_generate',
854
833
'bzrlib.tests.test_fetch',
855
834
'bzrlib.tests.test_gpg',
856
835
'bzrlib.tests.test_graph',