Filter errors as well.
This commit is contained in:
@@ -109,7 +109,7 @@ result = TestResultFilter(result, filter_error=options.error,
|
||||
filter_failure=options.failure, filter_success=options.success,
|
||||
filter_skip=options.skip,
|
||||
filter_predicate=regexp_filter,
|
||||
filter_expected_failures=fixup_expected_failures)
|
||||
fixup_expected_failures=fixup_expected_failures)
|
||||
if options.no_passthrough:
|
||||
passthrough_stream = DiscardStream()
|
||||
else:
|
||||
|
||||
@@ -339,8 +339,12 @@ class TestResultFilter(TestResultDecorator):
|
||||
|
||||
def addError(self, test, err=None, details=None):
|
||||
if (self.filter_predicate(test, 'error', err, details)):
|
||||
self._buffered_calls.append(
|
||||
('addError', [test, err], {'details': details}))
|
||||
if test.id() in self._fixup_expected_failures:
|
||||
self._buffered_calls.append(
|
||||
('addExpectedFailure', [test, err], {'details': details}))
|
||||
else:
|
||||
self._buffered_calls.append(
|
||||
('addError', [test, err], {'details': details}))
|
||||
else:
|
||||
self._filtered()
|
||||
|
||||
|
||||
@@ -94,10 +94,18 @@ xfail todo
|
||||
fixup_expected_failures=set(["failed"]))
|
||||
self.run_tests(result_filter)
|
||||
self.assertEqual(['failed', 'todo'],
|
||||
[error[0].id() for error in filtered_result.expectedFailures])
|
||||
self.assertEqual([],
|
||||
[failure[0].id() for failure in
|
||||
filtered_result.failures])
|
||||
[failure[0].id() for failure in filtered_result.expectedFailures])
|
||||
self.assertEqual([], filtered_result.failures)
|
||||
self.assertEqual(4, filtered_result.testsRun)
|
||||
|
||||
def test_fixup_expected_errors(self):
|
||||
filtered_result = unittest.TestResult()
|
||||
result_filter = TestResultFilter(filtered_result,
|
||||
fixup_expected_failures=set(["error"]))
|
||||
self.run_tests(result_filter)
|
||||
self.assertEqual(['error', 'todo'],
|
||||
[failure[0].id() for failure in filtered_result.expectedFailures])
|
||||
self.assertEqual([], filtered_result.errors)
|
||||
self.assertEqual(4, filtered_result.testsRun)
|
||||
|
||||
def test_exclude_failure(self):
|
||||
|
||||
Reference in New Issue
Block a user