summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_linecache.py
diff options
context:
space:
mode:
authorR. David Murray <rdmurray@bitdance.com>2009-12-04 00:13:33 (GMT)
committerR. David Murray <rdmurray@bitdance.com>2009-12-04 00:13:33 (GMT)
commit8054a5d36e42690c95975a9065abbc9285add053 (patch)
tree1ff72ba41adf0bc3dd688c38c026bc0d2ac47546 /Lib/test/test_linecache.py
parent8ab31014bfb4286c3459d5fcbe1465ea92ed03de (diff)
downloadcpython-8054a5d36e42690c95975a9065abbc9285add053.zip
cpython-8054a5d36e42690c95975a9065abbc9285add053.tar.gz
cpython-8054a5d36e42690c95975a9065abbc9285add053.tar.bz2
Merged revisions 76661 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r76661 | r.david.murray | 2009-12-03 19:09:14 -0500 (Thu, 03 Dec 2009) | 11 lines 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. ........ ................
Diffstat (limited to 'Lib/test/test_linecache.py')
-rw-r--r--Lib/test/test_linecache.py68
1 files changed, 32 insertions, 36 deletions
diff --git a/Lib/test/test_linecache.py b/Lib/test/test_linecache.py
index 14d8d59..4899511 100644
--- a/Lib/test/test_linecache.py
+++ b/Lib/test/test_linecache.py
@@ -83,44 +83,40 @@ class LineCacheTests(unittest.TestCase):
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)
+
+ # 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()
- finally:
- try:
+ 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)