summaryrefslogtreecommitdiff
path: root/python/subunit/tests
diff options
context:
space:
mode:
authorJonathan Lange <jml@mumak.net>2012-04-20 11:00:14 +0100
committerJonathan Lange <jml@mumak.net>2012-04-20 11:00:14 +0100
commit7ae3b8ff3d861923877a273cf6818eaf86f220e5 (patch)
tree3aabae65e8e63c2c7b37e8e484afd6ecdcab2d50 /python/subunit/tests
parenteff5dc6d9da686ebbb2de9444c5bdc46e5a0539f (diff)
downloadsubunit-git-7ae3b8ff3d861923877a273cf6818eaf86f220e5.tar.gz
Make sure tags directives are sent before addSuccess etc.
Diffstat (limited to 'python/subunit/tests')
-rw-r--r--python/subunit/tests/test_test_results.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/python/subunit/tests/test_test_results.py b/python/subunit/tests/test_test_results.py
index 6beb57a..750958e 100644
--- a/python/subunit/tests/test_test_results.py
+++ b/python/subunit/tests/test_test_results.py
@@ -208,6 +208,22 @@ class TestTagCollapsingDecorator(TestCase):
self.assertEquals(
[('tags', set(['a', 'b']), set([]))], result._events)
+ def test_tags_forwarded_after_tests(self):
+ test = subunit.RemotedTestCase('foo')
+ result = ExtendedTestResult()
+ tag_collapser = subunit.test_results.TagCollapsingDecorator(result)
+ tag_collapser.startTest(test)
+ tag_collapser.addSuccess(test)
+ tag_collapser.stopTest(test)
+ tag_collapser.tags(set(['a']), set(['b']))
+ self.assertEqual(
+ [('startTest', test),
+ ('addSuccess', test),
+ ('stopTest', test),
+ ('tags', set(['a']), set(['b'])),
+ ],
+ result._events)
+
def test_tags_collapsed_inside_of_tests(self):
result = ExtendedTestResult()
tag_collapser = subunit.test_results.TagCollapsingDecorator(result)
@@ -238,6 +254,25 @@ class TestTagCollapsingDecorator(TestCase):
('stopTest', test)],
result._events)
+ def test_tags_sent_before_result(self):
+ # Because addSuccess and friends tend to send subunit output
+ # immediately, and because 'tags:' before a result line means
+ # something different to 'tags:' after a result line, we need to be
+ # sure that tags are emitted before 'addSuccess' (or whatever).
+ result = ExtendedTestResult()
+ tag_collapser = subunit.test_results.TagCollapsingDecorator(result)
+ test = subunit.RemotedTestCase('foo')
+ tag_collapser.startTest(test)
+ tag_collapser.tags(set(['a']), set())
+ tag_collapser.addSuccess(test)
+ tag_collapser.stopTest(test)
+ self.assertEquals(
+ [('startTest', test),
+ ('tags', set(['a']), set()),
+ ('addSuccess', test),
+ ('stopTest', test)],
+ result._events)
+
class TestTimeCollapsingDecorator(TestCase):