[Python-checkins] r76661 - in python/branches/py3k: Lib/test/test_linecache.py Misc/NEWS

r.david.murray python-checkins at python.org
Fri Dec 4 01:09:14 CET 2009


Author: r.david.murray
Date: Fri Dec  4 01:09:14 2009
New Revision: 76661

Log:
Merged revisions 76659 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76659 | r.david.murray | 2009-12-03 18:57:59 -0500 (Thu, 03 Dec 2009) | 4 lines
  
  Issue 7431: use TESTFN in test_linecache instead of trying to create a 
  file in the Lib/test directory, which might be read-only for the
  user running the tests.
........


Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/test/test_linecache.py
   python/branches/py3k/Misc/NEWS

Modified: python/branches/py3k/Lib/test/test_linecache.py
==============================================================================
--- python/branches/py3k/Lib/test/test_linecache.py	(original)
+++ python/branches/py3k/Lib/test/test_linecache.py	Fri Dec  4 01:09:14 2009
@@ -83,44 +83,40 @@
         getline = linecache.getline
         try:
             # Create a source file and cache its contents
-            source_name = os.path.join(TEST_PATH, 'linecache_test.py')
-            source = open(source_name, 'w')
-            source.write(SOURCE_1)
-            source.close()
-            getline(source_name, 1)
-
-            # Keep a copy of the old contents
-            source_list = []
-            source = open(source_name)
-            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')
-            source.write(SOURCE_2)
-            source.close()
-
-            # 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)
-            source = open(source_name)
-            for index, line in enumerate(source):
-                self.assertEquals(line, getline(source_name, index + 1))
-                source_list.append(line)
-            source.close()
+            source_name = support.TESTFN + '.py'
+            with open(source_name, 'w') as source:
+                source.write(SOURCE_1)
+                source.close()
+                getline(source_name, 1)
 
-        finally:
-            try:
+                # Keep a copy of the old contents
+                source_list = []
+                source = open(source_name)
+                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')
+                source.write(SOURCE_2)
                 source.close()
-            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)
+                source = open(source_name)
+                for index, line in enumerate(source):
+                    self.assertEquals(line, getline(source_name, index + 1))
+                    source_list.append(line)
+
+        finally:
+            support.unlink(source_name)
 
 def test_main():
     support.run_unittest(LineCacheTests)

Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Fri Dec  4 01:09:14 2009
@@ -475,6 +475,10 @@
 Tests
 -----
 
+- Issue #7431: use TESTFN in test_linecache instead of trying to create a 
+  file in the Lib/test directory, which might be read-only for the
+  user running the tests.
+
 - Issue #7324: add a sanity check to regrtest argument parsing to
   catch the case of an option with no handler.
 


More information about the Python-checkins mailing list