summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2011-04-11 16:38:56 +0200
committerJelmer Vernooij <jelmer@samba.org>2011-04-11 16:38:56 +0200
commitd3a4695b7a8678304001e6cf8dc68b64d2a7cde7 (patch)
tree8e3029acf937dbda7f4676b4ca5808e75d239f4b /python
parent990cf93fb02250ccbd42153fc1f6b87b867d977e (diff)
downloadsubunit-git-d3a4695b7a8678304001e6cf8dc68b64d2a7cde7.tar.gz
Mark unexpected successes, too.
Diffstat (limited to 'python')
-rw-r--r--python/subunit/test_results.py8
-rw-r--r--python/subunit/tests/test_subunit_filter.py9
2 files changed, 15 insertions, 2 deletions
diff --git a/python/subunit/test_results.py b/python/subunit/test_results.py
index 4e642ea..a3ad928 100644
--- a/python/subunit/test_results.py
+++ b/python/subunit/test_results.py
@@ -368,8 +368,12 @@ class TestResultFilter(TestResultDecorator):
def addSuccess(self, test, details=None):
if (self.filter_predicate(test, 'success', None, details)):
- self._buffered_calls.append(
- ('addSuccess', [test], {'details': details}))
+ if test.id() in self._fixup_expected_failures:
+ self._buffered_calls.append(
+ ('addUnexpectedSuccess', [test], {'details': details}))
+ else:
+ self._buffered_calls.append(
+ ('addSuccess', [test], {'details': details}))
else:
self._filtered()
diff --git a/python/subunit/tests/test_subunit_filter.py b/python/subunit/tests/test_subunit_filter.py
index 386c5a2..f8db05b 100644
--- a/python/subunit/tests/test_subunit_filter.py
+++ b/python/subunit/tests/test_subunit_filter.py
@@ -108,6 +108,15 @@ xfail todo
self.assertEqual([], filtered_result.errors)
self.assertEqual(4, filtered_result.testsRun)
+ def test_fixup_unexpected_success(self):
+ filtered_result = unittest.TestResult()
+ result_filter = TestResultFilter(filtered_result, filter_success=False,
+ fixup_expected_failures=set(["passed"]))
+ self.run_tests(result_filter)
+ self.assertEqual(['passed'],
+ [passed.id() for passed in filtered_result.unexpectedSuccesses])
+ self.assertEqual(5, filtered_result.testsRun)
+
def test_exclude_failure(self):
filtered_result = unittest.TestResult()
result_filter = TestResultFilter(filtered_result, filter_failure=True)