summaryrefslogtreecommitdiff
path: root/python/subunit
diff options
context:
space:
mode:
Diffstat (limited to 'python/subunit')
-rw-r--r--python/subunit/test_results.py2
-rw-r--r--python/subunit/tests/test_test_results.py15
2 files changed, 17 insertions, 0 deletions
diff --git a/python/subunit/test_results.py b/python/subunit/test_results.py
index cf051ba..a3f640d 100644
--- a/python/subunit/test_results.py
+++ b/python/subunit/test_results.py
@@ -256,6 +256,8 @@ class TimeCollapsingDecorator(HookedTestResultDecorator):
self._last_sent_time = None
def _before_event(self):
+ if self._last_received_time is None:
+ return
if self._last_received_time != self._last_sent_time:
self.decorated.time(self._last_received_time)
self._last_sent_time = self._last_received_time
diff --git a/python/subunit/tests/test_test_results.py b/python/subunit/tests/test_test_results.py
index 8633b44..bed2bd8 100644
--- a/python/subunit/tests/test_test_results.py
+++ b/python/subunit/tests/test_test_results.py
@@ -263,6 +263,21 @@ class TestTimeCollapsingDecorator(TestCase):
tag_collapser.startTest(subunit.RemotedTestCase('foo'))
self.assertEquals([('time', a_time)], result._events[:-1])
+ def test_no_times_inserted(self):
+ result = ExtendedTestResult()
+ tag_collapser = subunit.test_results.TimeCollapsingDecorator(result)
+ a_time = self.make_time()
+ tag_collapser.time(a_time)
+ foo = subunit.RemotedTestCase('foo')
+ tag_collapser.startTest(foo)
+ tag_collapser.addSuccess(foo)
+ tag_collapser.stopTest(foo)
+ self.assertEquals(
+ [('time', a_time),
+ ('startTest', foo),
+ ('addSuccess', foo),
+ ('stopTest', foo)], result._events)
+
def test_suite():
loader = subunit.tests.TestUtil.TestLoader()