#7960: merge with 3.2.
This commit is contained in:
commit
6b8934053a
|
@ -887,14 +887,8 @@ def transient_internet(resource_name, *, timeout=30.0, errnos=()):
|
|||
|
||||
@contextlib.contextmanager
|
||||
def captured_output(stream_name):
|
||||
"""Run the 'with' statement body using a StringIO object in place of a
|
||||
specific attribute on the sys module.
|
||||
Example use (with 'stream_name=stdout')::
|
||||
|
||||
with captured_stdout() as s:
|
||||
print("hello")
|
||||
assert s.getvalue() == "hello"
|
||||
"""
|
||||
"""Return a context manager used by captured_stdout and captured_stdin
|
||||
that temporarily replaces the sys stream *stream_name* with a StringIO."""
|
||||
import io
|
||||
orig_stdout = getattr(sys, stream_name)
|
||||
setattr(sys, stream_name, io.StringIO())
|
||||
|
@ -904,6 +898,12 @@ def captured_output(stream_name):
|
|||
setattr(sys, stream_name, orig_stdout)
|
||||
|
||||
def captured_stdout():
|
||||
"""Capture the output of sys.stdout:
|
||||
|
||||
with captured_stdout() as s:
|
||||
print("hello")
|
||||
self.assertEqual(s.getvalue(), "hello")
|
||||
"""
|
||||
return captured_output("stdout")
|
||||
|
||||
def captured_stderr():
|
||||
|
|
Loading…
Reference in New Issue