]> granicus.if.org Git - python/commitdiff
use addCleanup
authorBenjamin Peterson <benjamin@python.org>
Fri, 21 May 2010 21:16:12 +0000 (21:16 +0000)
committerBenjamin Peterson <benjamin@python.org>
Fri, 21 May 2010 21:16:12 +0000 (21:16 +0000)
Lib/test/test_linecache.py

index 613c7b4e00698107c5bb674d11e054f9790c2e52..6b6eb15f75f219b510b53070e019abb9a162687b 100644 (file)
@@ -81,39 +81,36 @@ class LineCacheTests(unittest.TestCase):
 
     def test_checkcache(self):
         getline = linecache.getline
-        try:
-            # Create a source file and cache its contents
-            source_name = support.TESTFN + '.py'
-            with open(source_name, 'w') as source:
-                source.write(SOURCE_1)
-            getline(source_name, 1)
-
-            # Keep a copy of the old contents
-            source_list = []
-            with open(source_name) as source:
-                for index, line in enumerate(source):
-                    self.assertEquals(line, getline(source_name, index + 1))
-                    source_list.append(line)
-
-            with open(source_name, 'w') as source:
-                source.write(SOURCE_2)
-
-            # Try to update a bogus cache entry
-            linecache.checkcache('dummy')
-
-            # Check that the cache matches the old contents
-            for index, line in enumerate(source_list):
+        # Create a source file and cache its contents
+        source_name = support.TESTFN + '.py'
+        self.addCleanup(test_support.unlink, source_name)
+        with open(source_name, 'w') as source:
+            source.write(SOURCE_1)
+        getline(source_name, 1)
+
+        # Keep a copy of the old contents
+        source_list = []
+        with open(source_name) as source:
+            for index, line in enumerate(source):
                 self.assertEquals(line, getline(source_name, index + 1))
+                source_list.append(line)
 
-            # Update the cache and check whether it matches the new source file
-            linecache.checkcache(source_name)
-            with open(source_name) as source:
-                for index, line in enumerate(source):
-                    self.assertEquals(line, getline(source_name, index + 1))
-                    source_list.append(line)
+        with open(source_name, 'w') as source:
+            source.write(SOURCE_2)
 
-        finally:
-            support.unlink(source_name)
+        # Try to update a bogus cache entry
+        linecache.checkcache('dummy')
+
+        # Check that the cache matches the old contents
+        for index, line in enumerate(source_list):
+            self.assertEquals(line, getline(source_name, index + 1))
+
+        # Update the cache and check whether it matches the new source file
+        linecache.checkcache(source_name)
+        with open(source_name) as source:
+            for index, line in enumerate(source):
+                self.assertEquals(line, getline(source_name, index + 1))
+                source_list.append(line)
 
 def test_main():
     support.run_unittest(LineCacheTests)