diff options
author | Tim Peters <tim.peters@gmail.com> | 2006-01-23 22:19:24 +0000 |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2006-01-23 22:19:24 +0000 |
commit | d3d1a64632848ab94eb4c0bebc7de025c3dce866 (patch) | |
tree | 9f1e311b7248435f1dc49ba14b3500d5d902ba5f /Lib/test/test_zipimport.py | |
parent | d836af1871699e641675d8c3385f53393af1d674 (diff) | |
download | cpython-d3d1a64632848ab94eb4c0bebc7de025c3dce866.tar.gz |
Repaired new test failures on Windows:
- The path separator isn't "/" on Windows.
- Leaving behind a read-only file causes cascades
of bogus failures on Windows.
Diffstat (limited to 'Lib/test/test_zipimport.py')
-rw-r--r-- | Lib/test/test_zipimport.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/Lib/test/test_zipimport.py b/Lib/test/test_zipimport.py index f20f472578..eb7cbf6527 100644 --- a/Lib/test/test_zipimport.py +++ b/Lib/test/test_zipimport.py @@ -30,6 +30,9 @@ def make_pyc(co, mtime): pyc = imp.get_magic() + struct.pack("<i", int(mtime)) + data return pyc +def module_path_to_dotted_name(path): + return path.replace(os.sep, '.') + NOW = time.time() test_pyc = make_pyc(test_co, NOW) @@ -206,7 +209,7 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase): self.assertEquals(zi.is_package(packdir2 + TESTMOD), False) mod_name = packdir2 + TESTMOD - mod = __import__(mod_name.replace('/', '.')) + mod = __import__(module_path_to_dotted_name(mod_name)) self.assertEquals(zi.get_source(TESTPACK), None) self.assertEquals(zi.get_source(mod_name), None) finally: @@ -276,8 +279,14 @@ class BadFileZipImportTestCase(unittest.TestCase): def testFileUnreadable(self): test_support.unlink(TESTMOD) fd = os.open(TESTMOD, os.O_CREAT, 000) - os.close(fd) - self.assertZipFailure(TESTMOD) + try: + os.close(fd) + self.assertZipFailure(TESTMOD) + finally: + # If we leave "the read-only bit" set on Windows, nothing can + # delete TESTMOD, and later tests suffer bogus failures. + os.chmod(TESTMOD, 0666) + test_support.unlink(TESTMOD) def testNotZipFile(self): test_support.unlink(TESTMOD) |