Lines Matching refs:self
14 def inner(self, *args, **kw):
15 if getattr(self, 'failfast', False):
16 self.stop()
17 return method(self, *args, **kw)
38 def __init__(self, stream=None, descriptions=None, verbosity=None):
39 self.failfast = False
40 self.failures = []
41 self.errors = []
42 self.testsRun = 0
43 self.skipped = []
44 self.expectedFailures = []
45 self.unexpectedSuccesses = []
46 self.shouldStop = False
47 self.buffer = False
48 self.tb_locals = False
49 self._stdout_buffer = None
50 self._stderr_buffer = None
51 self._original_stdout = sys.stdout
52 self._original_stderr = sys.stderr
53 self._mirrorOutput = False
55 def printErrors(self):
58 def startTest(self, test):
60 self.testsRun += 1
61 self._mirrorOutput = False
62 self._setupStdout()
64 def _setupStdout(self):
65 if self.buffer:
66 if self._stderr_buffer is None:
67 self._stderr_buffer = io.StringIO()
68 self._stdout_buffer = io.StringIO()
69 sys.stdout = self._stdout_buffer
70 sys.stderr = self._stderr_buffer
72 def startTestRun(self):
78 def stopTest(self, test):
80 self._restoreStdout()
81 self._mirrorOutput = False
83 def _restoreStdout(self):
84 if self.buffer:
85 if self._mirrorOutput:
91 self._original_stdout.write(STDOUT_LINE % output)
95 self._original_stderr.write(STDERR_LINE % error)
97 sys.stdout = self._original_stdout
98 sys.stderr = self._original_stderr
99 self._stdout_buffer.seek(0)
100 self._stdout_buffer.truncate()
101 self._stderr_buffer.seek(0)
102 self._stderr_buffer.truncate()
104 def stopTestRun(self):
111 def addError(self, test, err):
115 self.errors.append((test, self._exc_info_to_string(err, test)))
116 self._mirrorOutput = True
119 def addFailure(self, test, err):
122 self.failures.append((test, self._exc_info_to_string(err, test)))
123 self._mirrorOutput = True
125 def addSubTest(self, test, subtest, err):
133 if getattr(self, 'failfast', False):
134 self.stop()
136 errors = self.failures
138 errors = self.errors
139 errors.append((subtest, self._exc_info_to_string(err, test)))
140 self._mirrorOutput = True
142 def addSuccess(self, test):
146 def addSkip(self, test, reason):
148 self.skipped.append((test, reason))
150 def addExpectedFailure(self, test, err):
152 self.expectedFailures.append(
153 (test, self._exc_info_to_string(err, test)))
156 def addUnexpectedSuccess(self, test):
158 self.unexpectedSuccesses.append(test)
160 def wasSuccessful(self):
165 return ((len(self.failures) == len(self.errors) == 0) and
166 (not hasattr(self, 'unexpectedSuccesses') or
167 len(self.unexpectedSuccesses) == 0))
169 def stop(self):
171 self.shouldStop = True
173 def _exc_info_to_string(self, err, test):
176 tb = self._clean_tracebacks(exctype, value, tb, test)
179 capture_locals=self.tb_locals, compact=True)
182 if self.buffer:
195 def _clean_tracebacks(self, exctype, value, tb, test):
203 while tb and self._is_relevant_tb_level(tb):
208 self._remove_unittest_tb_frames(tb)
223 def _is_relevant_tb_level(self, tb):
226 def _remove_unittest_tb_frames(self, tb):
235 while tb and not self._is_relevant_tb_level(tb):
241 def __repr__(self):
243 (util.strclass(self.__class__), self.testsRun, len(self.errors),
244 len(self.failures)))