Merge lp://staging/~jml/subunit/filter-tags into lp://staging/~subunit/subunit/trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 165 | ||||
Proposed branch: | lp://staging/~jml/subunit/filter-tags | ||||
Merge into: | lp://staging/~subunit/subunit/trunk | ||||
Prerequisite: | lp://staging/~jml/subunit/tag-collapsing-rigor | ||||
Diff against target: |
798 lines (+431/-201) 3 files modified
filters/subunit-filter (+89/-59) python/subunit/test_results.py (+209/-140) python/subunit/tests/test_subunit_filter.py (+133/-2) |
||||
To merge this branch: | bzr merge lp://staging/~jml/subunit/filter-tags | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Robert Collins | Needs Fixing | ||
Review via email:
|
Commit message
Add options to filter streams by tags.
Description of the change
This branch adds options to subunit-filter to have it filter by tags. It has three main components:
1. Separating out a _PredicateFilter from TestResultFilter.
This simplifies TestResultFilter, leaving it managing two concerns: assembling options into a predicate and transforming results. It will be much easier to separate out the 'transforming results' concern after this change.
It is likely that _PredicateFilter could also be written in terms of TestByTestResult at some point.
2. Extending the predicate function to take 'tags'.
I've tried to do this in a way that preserves backwards compatibility and allows any users of TestResultFilter who've had a predicate function that does not support tags to continue using their code unchanged. Perhaps this is not needed.
3. Cleaning up subunit-filter
It behaves a little differently to the other filter commands, and has a different set of options, but these cleanups share code where we can and make the differences -- I hope -- more obvious.
None of this works without the fixes to TagCollapsingDe
jml
I don't get nalDecorator doesn't properly wrap current_tags. /bugs.launchpad .net/testtools/ +bug/978027
353 + # XXX: ExtendedToOrigi
354 + # https:/