diff options
author | R. David Murray <rdmurray@bitdance.com> | 2009-12-04 00:13:33 (GMT) |
---|---|---|
committer | R. David Murray <rdmurray@bitdance.com> | 2009-12-04 00:13:33 (GMT) |
commit | 8054a5d36e42690c95975a9065abbc9285add053 (patch) | |
tree | 1ff72ba41adf0bc3dd688c38c026bc0d2ac47546 /Lib/test/test_linecache.py | |
parent | 8ab31014bfb4286c3459d5fcbe1465ea92ed03de (diff) | |
download | cpython-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.py | 68 |
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) |