summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorRobert Collins <robertc@robertcollins.net>2009-10-19 18:51:29 +1100
committerRobert Collins <robertc@robertcollins.net>2009-10-19 18:51:29 +1100
commit46dd4f37b4828e8ac265374dfef6d9fe3995292b (patch)
tree943993d3bf47d21663d70d7ddaa9d0dcc90c2ead /python
parent4e7bd221e171a96e44231218025157f4886a9cc5 (diff)
downloadsubunit-git-46dd4f37b4828e8ac265374dfef6d9fe3995292b.tar.gz
Support tags on the ExtendedToOriginal decorator.
Diffstat (limited to 'python')
-rw-r--r--python/subunit/test_results.py10
-rw-r--r--python/subunit/tests/test_test_results.py16
2 files changed, 26 insertions, 0 deletions
diff --git a/python/subunit/test_results.py b/python/subunit/test_results.py
index 49fc731..f73d747 100644
--- a/python/subunit/test_results.py
+++ b/python/subunit/test_results.py
@@ -109,6 +109,9 @@ class TestResultDecorator(object):
def stop(self):
return self.decorated.stop()
+ def tags(self, gone_tags, new_tags):
+ return self._call_maybe("tags", None, gone_tags, new_tags)
+
def time(self, a_datetime):
return self._call_maybe("time", None, a_datetime)
@@ -352,3 +355,10 @@ class ExtendedToOriginalDecorator(object):
return self.decorated.stopTestRun()
except AttributeError:
return
+
+ def tags(self, new_tags, gone_tags):
+ method = getattr(self.decorated, 'tags', None)
+ if method is None:
+ return
+ return method(new_tags, gone_tags)
+
diff --git a/python/subunit/tests/test_test_results.py b/python/subunit/tests/test_test_results.py
index 7400f0b..b7a26d5 100644
--- a/python/subunit/tests/test_test_results.py
+++ b/python/subunit/tests/test_test_results.py
@@ -134,6 +134,9 @@ class ExtendedTestResult(Python27TestResult):
def progress(self, offset, whence):
self._calls.append(('progress', offset, whence))
+ def tags(self, new_tags, gone_tags):
+ self._calls.append(('tags', new_tags, gone_tags))
+
class TestExtendedToOriginalResultDecoratorBase(unittest.TestCase):
@@ -313,6 +316,19 @@ class TestExtendedToOriginalResultDecorator(
self.converter.stopTestRun()
self.assertEqual([('stopTestRun',)], self.result._calls)
+ def test_tags_py26(self):
+ self.make_26_result()
+ self.converter.tags(1, 2)
+
+ def test_tags_py27(self):
+ self.make_27_result()
+ self.converter.tags(1, 2)
+
+ def test_tags_pyextended(self):
+ self.make_extended_result()
+ self.converter.tags(1, 2)
+ self.assertEqual([('tags', 1, 2)], self.result._calls)
+
class TestExtendedToOriginalAddError(TestExtendedToOriginalResultDecoratorBase):