Issue 10786: unittest.TextTestRunner default stream no longer bound at import time
This commit is contained in:
parent
30baf2b0ed
commit
6f17e2df29
|
@ -125,8 +125,10 @@ class TextTestRunner(object):
|
|||
"""
|
||||
resultclass = TextTestResult
|
||||
|
||||
def __init__(self, stream=sys.stderr, descriptions=True, verbosity=1,
|
||||
def __init__(self, stream=None, descriptions=True, verbosity=1,
|
||||
failfast=False, buffer=False, resultclass=None, warnings=None):
|
||||
if stream is None:
|
||||
stream = sys.stderr
|
||||
self.stream = _WritelnDecorator(stream)
|
||||
self.descriptions = descriptions
|
||||
self.verbosity = verbosity
|
||||
|
|
|
@ -299,3 +299,20 @@ class Test_TextTestRunner(unittest.TestCase):
|
|||
self.assertEqual(out.count(msg), 3)
|
||||
for msg in [ae_msg, at_msg]:
|
||||
self.assertEqual(out.count(msg), 1)
|
||||
|
||||
def testStdErrLookedUpAtInstantiationTime(self):
|
||||
# see issue 10786
|
||||
old_stderr = sys.stderr
|
||||
f = io.StringIO()
|
||||
sys.stderr = f
|
||||
try:
|
||||
runner = unittest.TextTestRunner()
|
||||
self.assertTrue(runner.stream.stream is f)
|
||||
finally:
|
||||
sys.stderr = old_stderr
|
||||
|
||||
def testSpecifiedStreamUsed(self):
|
||||
# see issue 10786
|
||||
f = io.StringIO()
|
||||
runner = unittest.TextTestRunner(f)
|
||||
self.assertTrue(runner.stream.stream is f)
|
||||
|
|
|
@ -20,6 +20,10 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue 10786: unittest.TextTestRunner default stream no longer bound at
|
||||
import time. `sys.stderr` now looked up at instantiation time. Fix contributed
|
||||
by Mark Roddy.
|
||||
|
||||
- Issue 10753 - Characters ';','=' and ',' in the PATH_INFO environment
|
||||
variable won't be quoted when the URI is constructed by the wsgiref.util 's
|
||||
request_uri method. According to RFC 3986, these characters can be a part of
|
||||
|
|
Loading…
Reference in New Issue