summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJonathan Lange <jml@mumak.net>2012-04-20 12:32:41 +0100
committerJonathan Lange <jml@mumak.net>2012-04-20 12:32:41 +0100
commita61e333822723ca40c9e7423228bd1f240eddd91 (patch)
tree507a99c87e6a934e925b57dd4802ccccbace6d8d /python
parent89eb5aede70157e89c93df2e6bf988ecb6fcba02 (diff)
downloadsubunit-git-a61e333822723ca40c9e7423228bd1f240eddd91.tar.gz
Flush global tags too.
Diffstat (limited to 'python')
-rw-r--r--python/subunit/test_results.py2
-rw-r--r--python/subunit/tests/test_test_results.py19
2 files changed, 21 insertions, 0 deletions
diff --git a/python/subunit/test_results.py b/python/subunit/test_results.py
index 4a55cf8..8db40e1 100644
--- a/python/subunit/test_results.py
+++ b/python/subunit/test_results.py
@@ -244,6 +244,8 @@ class TagCollapsingDecorator(HookedTestResultDecorator):
self.decorated.tags(new_tags, gone_tags)
if self._current_test_tags:
self._current_test_tags = set(), set()
+ else:
+ self._global_tags = set(), set()
def tags(self, new_tags, gone_tags):
"""Handle tag instructions.
diff --git a/python/subunit/tests/test_test_results.py b/python/subunit/tests/test_test_results.py
index 09b4c2f..3c4f686 100644
--- a/python/subunit/tests/test_test_results.py
+++ b/python/subunit/tests/test_test_results.py
@@ -212,6 +212,25 @@ class TestTagCollapsingDecorator(TestCase):
('startTest', self),
], result._events)
+ def test_tags_collapsed_outside_of_tests_are_flushed(self):
+ result = ExtendedTestResult()
+ tag_collapser = subunit.test_results.TagCollapsingDecorator(result)
+ tag_collapser.startTestRun()
+ tag_collapser.tags(set(['a']), set())
+ tag_collapser.tags(set(['b']), set())
+ tag_collapser.startTest(self)
+ tag_collapser.addSuccess(self)
+ tag_collapser.stopTest(self)
+ tag_collapser.stopTestRun()
+ self.assertEquals(
+ [('startTestRun',),
+ ('tags', set(['a', 'b']), set([])),
+ ('startTest', self),
+ ('addSuccess', self),
+ ('stopTest', self),
+ ('stopTestRun',),
+ ], result._events)
+
def test_tags_forwarded_after_tests(self):
test = subunit.RemotedTestCase('foo')
result = ExtendedTestResult()