From 9958c56eb0e2b71c1bea5abcc627899d0bed17dc Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Sun, 18 Apr 2010 19:14:38 +0000 Subject: [PATCH] Fix catastrophic file opening and closing logic in test_linecache --- Lib/test/test_linecache.py | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/Lib/test/test_linecache.py b/Lib/test/test_linecache.py index 4ec9eb4fa2a..613c7b4e006 100644 --- a/Lib/test/test_linecache.py +++ b/Lib/test/test_linecache.py @@ -86,31 +86,28 @@ class LineCacheTests(unittest.TestCase): source_name = support.TESTFN + '.py' with open(source_name, 'w') as source: source.write(SOURCE_1) - source.close() - getline(source_name, 1) + getline(source_name, 1) - # Keep a copy of the old contents - source_list = [] - source = open(source_name) + # 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) - source.close() - source = open(source_name, 'w') + with open(source_name, 'w') as source: source.write(SOURCE_2) - source.close() - # Try to update a bogus cache entry - linecache.checkcache('dummy') + # 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)) + # 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) - source = open(source_name) + # 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)