From: Victor Stinner Date: Wed, 5 Jan 2011 03:54:26 +0000 (+0000) Subject: regrtest: close the new stdout and restore the original stdout at exit X-Git-Tag: v3.2rc1~182 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4b2b43d9889b498c1dc71b8a2bef8cfea45f410c;p=python regrtest: close the new stdout and restore the original stdout at exit Fix a ResourceWarning(unclosed file). --- diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 1649865ecc..92d1597c62 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -743,10 +743,19 @@ def replace_stdout(): if os.name == "nt": # Replace sys.stdout breaks the stdout newlines on Windows: issue #8533 return + + import atexit + stdout = sys.stdout sys.stdout = open(stdout.fileno(), 'w', encoding=stdout.encoding, - errors="backslashreplace") + errors="backslashreplace", + closefd=False) + + def restore_stdout(): + sys.stdout.close() + sys.stdout = stdout + atexit.register(restore_stdout) def runtest(test, verbose, quiet, huntrleaks=False, debug=False, use_resources=None):