]> granicus.if.org Git - python/commitdiff
Repaired new test failures on Windows:
authorTim Peters <tim.peters@gmail.com>
Mon, 23 Jan 2006 22:19:24 +0000 (22:19 +0000)
committerTim Peters <tim.peters@gmail.com>
Mon, 23 Jan 2006 22:19:24 +0000 (22:19 +0000)
- The path separator isn't "/" on Windows.

- Leaving behind a read-only file causes cascades
  of bogus failures on Windows.

Lib/test/test_zipimport.py

index f20f472578f43c7f6c009bcf65ef017761b394bc..eb7cbf6527b3a031eff79fef36b716a2ea8752ec 100644 (file)
@@ -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)