diff options
| author | John Arbash Meinel <john@arbash-meinel.com> | 2010-08-24 17:41:12 -0500 |
|---|---|---|
| committer | John Arbash Meinel <john@arbash-meinel.com> | 2010-08-24 17:41:12 -0500 |
| commit | 8fa9c2b1ac2ab8e9b4df8d6506965d47839e0240 (patch) | |
| tree | ea125220c058d91b65cf0117b1b3228d9473a82b /python | |
| parent | 7a7a14024f445a18bbdab8a7dbfe45328ae6e5d6 (diff) | |
| download | subunit-8fa9c2b1ac2ab8e9b4df8d6506965d47839e0240.tar.gz | |
(bug #623642) Add --no-xfail and -F to subunit-filter.
The existing --no-success only filtered out genuine success cases. Now we
can filter everything down to stuff that would actually be considered a
'failure'.
Diffstat (limited to 'python')
| -rw-r--r-- | python/subunit/test_results.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/python/subunit/test_results.py b/python/subunit/test_results.py index 1c91daa..cc588d2 100644 --- a/python/subunit/test_results.py +++ b/python/subunit/test_results.py @@ -208,7 +208,7 @@ class TestResultFilter(TestResultDecorator): """ def __init__(self, result, filter_error=False, filter_failure=False, - filter_success=True, filter_skip=False, + filter_success=True, filter_skip=False, filter_xfail=False, filter_predicate=None): """Create a FilterResult object filtering to result. @@ -216,6 +216,7 @@ class TestResultFilter(TestResultDecorator): :param filter_failure: Filter out failures. :param filter_success: Filter out successful tests. :param filter_skip: Filter out skipped tests. + :param filter_xfail: Filter out expected failure tests. :param filter_predicate: A callable taking (test, outcome, err, details) and returning True if the result should be passed through. err and details may be none if no error or extra @@ -227,6 +228,7 @@ class TestResultFilter(TestResultDecorator): self._filter_failure = filter_failure self._filter_success = filter_success self._filter_skip = filter_skip + self._filter_xfail = filter_xfail if filter_predicate is None: filter_predicate = lambda test, outcome, err, details: True self.filter_predicate = filter_predicate @@ -270,7 +272,8 @@ class TestResultFilter(TestResultDecorator): self._filtered() def addExpectedFailure(self, test, err=None, details=None): - if self.filter_predicate(test, 'expectedfailure', err, details): + if (not self._filter_xfail and + self.filter_predicate(test, 'expectedfailure', err, details)): self.decorated.startTest(test) return self.decorated.addExpectedFailure(test, err, details=details) |
