From 990cf93fb02250ccbd42153fc1f6b87b867d977e Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 11 Apr 2011 15:56:05 +0200 Subject: Filter errors as well. --- python/subunit/test_results.py | 8 ++++++-- python/subunit/tests/test_subunit_filter.py | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) (limited to 'python/subunit') 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): -- cgit v1.2.1