diff options
| author | Jonathan Lange <jml@mumak.net> | 2012-03-25 15:57:45 +0100 |
|---|---|---|
| committer | Jonathan Lange <jml@mumak.net> | 2012-03-25 15:57:45 +0100 |
| commit | cb4407b480a8e28d05d4b2a2eb720f5064997874 (patch) | |
| tree | 6be0032d74c0ea4132cb72f16b87249e3d9e4bae /python | |
| parent | d569ecc69d7f4c78467ebc55f13b5e99b8d8f51b (diff) | |
| download | subunit-git-cb4407b480a8e28d05d4b2a2eb720f5064997874.tar.gz | |
Don't write anything until startTestRun is called.
Diffstat (limited to 'python')
| -rw-r--r-- | python/subunit/test_results.py | 23 | ||||
| -rw-r--r-- | python/subunit/tests/test_test_results.py | 5 |
2 files changed, 17 insertions, 11 deletions
diff --git a/python/subunit/test_results.py b/python/subunit/test_results.py index f64126d..73adfab 100644 --- a/python/subunit/test_results.py +++ b/python/subunit/test_results.py @@ -579,14 +579,15 @@ class TestByTestResult(testtools.TestResult): self._details = details -def csv_result(stream): - writer = csv.writer(stream) - w = writer.writerow - # XXX: Not great that we write this out immediately. Probably better to - # wait for startTestRun. - w(['test', 'status', 'start_time', 'stop_time']) - def on_test(test, status, start_time, stop_time, tags, details): - # XXX: Don't really know how to serialize tags or details into csv in - # a useful way. - w([test.id(), status, start_time, stop_time]) - return TestByTestResult(on_test) +class csv_result(TestByTestResult): + + def __init__(self, stream): + super(csv_result, self).__init__(self._on_test) + self._write_row = csv.writer(stream).writerow + + def _on_test(self, test, status, start_time, stop_time, tags, details): + self._write_row([test.id(), status, start_time, stop_time]) + + def startTestRun(self): + super(csv_result, self).startTestRun() + self._write_row(['test', 'status', 'start_time', 'stop_time']) diff --git a/python/subunit/tests/test_test_results.py b/python/subunit/tests/test_test_results.py index 1a95e9e..0e8d81e 100644 --- a/python/subunit/tests/test_test_results.py +++ b/python/subunit/tests/test_test_results.py @@ -486,6 +486,11 @@ class TestCsvResult(testtools.TestCase): [['test', 'status', 'start_time', 'stop_time']], self.parse_stream(stream)) + def test_no_output_before_events(self): + stream = StringIO() + subunit.test_results.csv_result(stream) + self.assertEqual([], self.parse_stream(stream)) + def test_suite(): loader = subunit.tests.TestUtil.TestLoader() |
