diff options
| author | Jelmer Vernooij <jelmer@samba.org> | 2011-04-11 15:56:05 +0200 |
|---|---|---|
| committer | Jelmer Vernooij <jelmer@samba.org> | 2011-04-11 15:56:05 +0200 |
| commit | 990cf93fb02250ccbd42153fc1f6b87b867d977e (patch) | |
| tree | 67a78fcacffd4483eb94c166e4bdda93998d399d /python | |
| parent | 67a43dcef5f1511398ef32052d1220a0ef35ffcf (diff) | |
| download | subunit-git-990cf93fb02250ccbd42153fc1f6b87b867d977e.tar.gz | |
Filter errors as well.
Diffstat (limited to 'python')
| -rw-r--r-- | python/subunit/test_results.py | 8 | ||||
| -rw-r--r-- | python/subunit/tests/test_subunit_filter.py | 16 |
2 files changed, 18 insertions, 6 deletions
diff --git a/python/subunit/test_results.py b/python/subunit/test_results.py index b3308ea..4e642ea 100644 --- a/python/subunit/test_results.py +++ b/python/subunit/test_results.py @@ -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() diff --git a/python/subunit/tests/test_subunit_filter.py b/python/subunit/tests/test_subunit_filter.py index 855aa1e..386c5a2 100644 --- a/python/subunit/tests/test_subunit_filter.py +++ b/python/subunit/tests/test_subunit_filter.py @@ -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): |
