Properly close a test file in test_cprofile.
diff --git a/Lib/test/test_cprofile.py b/Lib/test/test_cprofile.py
index 4586b36..d7f9d72 100644
--- a/Lib/test/test_cprofile.py
+++ b/Lib/test/test_cprofile.py
@@ -18,15 +18,16 @@
     def test_bad_counter_during_dealloc(self):
         import _lsprof
         # Must use a file as StringIO doesn't trigger the bug.
-        sys.stderr = open(TESTFN, 'w')
-        try:
-            obj = _lsprof.Profiler(lambda: int)
-            obj.enable()
-            obj = _lsprof.Profiler(1)
-            obj.disable()
-        finally:
-            sys.stderr = sys.__stderr__
-            unlink(TESTFN)
+        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)
 
 
 def test_main():