diff options
author | Michael Foord <fuzzyman@voidspace.org.uk> | 2010-04-07 23:04:22 +0000 |
---|---|---|
committer | Michael Foord <fuzzyman@voidspace.org.uk> | 2010-04-07 23:04:22 +0000 |
commit | d1fbcef27ac40a8ebdfce0f79738b011f1d76ea0 (patch) | |
tree | 9de6dc3b32efab0a3ae1fb5379f7897092ff44a8 /Lib/unittest | |
parent | 20021870d8fe29989ce0a868d30357a6b039c35b (diff) | |
download | cpython-d1fbcef27ac40a8ebdfce0f79738b011f1d76ea0.tar.gz |
unittest.result.TestResult does not create its buffers until they're used. It uses StringIO not cStringIO. Issue 8333.
Diffstat (limited to 'Lib/unittest')
-rw-r--r-- | Lib/unittest/result.py | 9 | ||||
-rw-r--r-- | Lib/unittest/test/test_result.py | 8 |
2 files changed, 11 insertions, 6 deletions
diff --git a/Lib/unittest/result.py b/Lib/unittest/result.py index b9045f4b07..4b7cde658a 100644 --- a/Lib/unittest/result.py +++ b/Lib/unittest/result.py @@ -4,7 +4,7 @@ import os import sys import traceback -from cStringIO import StringIO +from StringIO import StringIO from . import util from functools import wraps @@ -46,8 +46,8 @@ class TestResult(object): self.unexpectedSuccesses = [] self.shouldStop = False self.buffer = False - self._stdout_buffer = StringIO() - self._stderr_buffer = StringIO() + self._stdout_buffer = None + self._stderr_buffer = None self._original_stdout = sys.stdout self._original_stderr = sys.stderr self._mirrorOutput = False @@ -60,6 +60,9 @@ class TestResult(object): self.testsRun += 1 self._mirrorOutput = False if self.buffer: + if self._stderr_buffer is None: + self._stderr_buffer = StringIO() + self._stdout_buffer = StringIO() sys.stdout = self._stdout_buffer sys.stderr = self._stderr_buffer diff --git a/Lib/unittest/test/test_result.py b/Lib/unittest/test/test_result.py index c02b8efab2..57ac5494b6 100644 --- a/Lib/unittest/test/test_result.py +++ b/Lib/unittest/test/test_result.py @@ -1,6 +1,6 @@ import sys import textwrap -from cStringIO import StringIO, OutputType +from StringIO import StringIO from test import test_support import unittest @@ -24,6 +24,8 @@ class Test_TestResult(unittest.TestCase): self.assertEqual(len(result.failures), 0) self.assertEqual(result.testsRun, 0) self.assertEqual(result.shouldStop, False) + self.assertIsNone(result._stdout_buffer) + self.assertIsNone(result._stderr_buffer) # "This method can be called to signal that the set of tests being @@ -400,8 +402,8 @@ class TestOutputBuffering(unittest.TestCase): self.assertIsNot(real_out, sys.stdout) self.assertIsNot(real_err, sys.stderr) - self.assertIsInstance(sys.stdout, OutputType) - self.assertIsInstance(sys.stderr, OutputType) + self.assertIsInstance(sys.stdout, StringIO) + self.assertIsInstance(sys.stderr, StringIO) self.assertIsNot(sys.stdout, sys.stderr) out_stream = sys.stdout |