From: Victor Stinner Date: Wed, 29 Jun 2011 22:00:45 +0000 (+0200) Subject: Issue #12400: test_cprofile now restores correctly the previous sys.stderr X-Git-Tag: v3.3.0a1~2003^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7f86811d55a7a15cb4f29f9fad458aecaf2161d3;p=thirdparty%2FPython%2Fcpython.git Issue #12400: test_cprofile now restores correctly the previous sys.stderr Copy sys.stderr before replacing it, instead of using sys.__stderr__ --- diff --git a/Lib/test/test_cprofile.py b/Lib/test/test_cprofile.py index ae17c2b69486..56766682b3cc 100644 --- a/Lib/test/test_cprofile.py +++ b/Lib/test/test_cprofile.py @@ -18,16 +18,19 @@ class CProfileTest(ProfileTest): def test_bad_counter_during_dealloc(self): import _lsprof # Must use a file as StringIO doesn't trigger the bug. - with open(TESTFN, 'w') as file: - sys.stderr = file - try: - obj = _lsprof.Profiler(lambda: int) - obj.enable() - obj = _lsprof.Profiler(1) - obj.disable() - finally: - sys.stderr = sys.__stderr__ - unlink(TESTFN) + orig_stderr = sys.stderr + try: + with open(TESTFN, 'w') as file: + sys.stderr = file + try: + obj = _lsprof.Profiler(lambda: int) + obj.enable() + obj = _lsprof.Profiler(1) + obj.disable() + finally: + sys.stderr = orig_stderr + finally: + unlink(TESTFN) def test_main():