Merge with 3.2 and also remove captured_output from __all__ (see #7960).
diff --git a/Lib/test/support.py b/Lib/test/support.py
index d6f0e0d..e49453e 100644
--- a/Lib/test/support.py
+++ b/Lib/test/support.py
@@ -35,8 +35,8 @@
"is_resource_enabled", "requires", "find_unused_port", "bind_port",
"IPV6_ENABLED", "is_jython", "TESTFN", "HOST", "SAVEDCWD", "temp_cwd",
"findfile", "sortdict", "check_syntax_error", "open_urlresource",
- "check_warnings", "CleanImport", "EnvironmentVarGuard",
- "TransientResource", "captured_output", "captured_stdout", "time_out",
+ "check_warnings", "CleanImport", "EnvironmentVarGuard", "TransientResource",
+ "captured_stdout", "captured_stdin", "captured_stderr", "time_out",
"socket_peer_reset", "ioerror_peer_reset", "run_with_locale", 'temp_umask',
"transient_internet", "set_memlimit", "bigmemtest", "bigaddrspacetest",
"BasicTestRunner", "run_unittest", "run_doctest", "threading_setup",
@@ -887,7 +887,7 @@
@contextlib.contextmanager
def captured_output(stream_name):
- """Return a context manager used by captured_stdout and captured_stdin
+ """Return a context manager used by captured_stdout/stdin/stderr
that temporarily replaces the sys stream *stream_name* with a StringIO."""
import io
orig_stdout = getattr(sys, stream_name)
@@ -912,6 +912,7 @@
def captured_stdin():
return captured_output("stdin")
+
def gc_collect():
"""Force as many objects as possible to be collected.