From 4b2b43d9889b498c1dc71b8a2bef8cfea45f410c Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 5 Jan 2011 03:54:26 +0000 Subject: regrtest: close the new stdout and restore the original stdout at exit Fix a ResourceWarning(unclosed file). --- Lib/test/regrtest.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 1649865..92d1597 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): -- cgit v0.12