mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
PEP 3147
This commit is contained in:
parent
0e59cc3fc3
commit
28a691b7fd
39 changed files with 1203 additions and 287 deletions
|
@ -48,17 +48,14 @@ NOW = time.time()
|
|||
test_pyc = make_pyc(test_co, NOW)
|
||||
|
||||
|
||||
if __debug__:
|
||||
pyc_ext = ".pyc"
|
||||
else:
|
||||
pyc_ext = ".pyo"
|
||||
|
||||
|
||||
TESTMOD = "ziptestmodule"
|
||||
TESTPACK = "ziptestpackage"
|
||||
TESTPACK2 = "ziptestpackage2"
|
||||
TEMP_ZIP = os.path.abspath("junk95142.zip")
|
||||
|
||||
pyc_file = imp.cache_from_source(TESTMOD + '.py')
|
||||
pyc_ext = ('.pyc' if __debug__ else '.pyo')
|
||||
|
||||
|
||||
class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
|
||||
|
||||
|
@ -83,14 +80,11 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
|
|||
stuff = kw.get("stuff", None)
|
||||
if stuff is not None:
|
||||
# Prepend 'stuff' to the start of the zipfile
|
||||
f = open(TEMP_ZIP, "rb")
|
||||
data = f.read()
|
||||
f.close()
|
||||
|
||||
f = open(TEMP_ZIP, "wb")
|
||||
f.write(stuff)
|
||||
f.write(data)
|
||||
f.close()
|
||||
with open(TEMP_ZIP, "rb") as f:
|
||||
data = f.read()
|
||||
with open(TEMP_ZIP, "wb") as f:
|
||||
f.write(stuff)
|
||||
f.write(data)
|
||||
|
||||
sys.path.insert(0, TEMP_ZIP)
|
||||
|
||||
|
@ -180,8 +174,9 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
|
|||
|
||||
def testBadMTime(self):
|
||||
badtime_pyc = bytearray(test_pyc)
|
||||
badtime_pyc[7] ^= 0x02 # flip the second bit -- not the first as that one
|
||||
# isn't stored in the .py's mtime in the zip archive.
|
||||
# flip the second bit -- not the first as that one isn't stored in the
|
||||
# .py's mtime in the zip archive.
|
||||
badtime_pyc[7] ^= 0x02
|
||||
files = {TESTMOD + ".py": (NOW, test_src),
|
||||
TESTMOD + pyc_ext: (NOW, badtime_pyc)}
|
||||
self.doTest(".py", files, TESTMOD)
|
||||
|
@ -232,7 +227,8 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
|
|||
self.assertEquals(zi.get_source(TESTPACK), None)
|
||||
self.assertEquals(zi.get_source(mod_path), None)
|
||||
self.assertEquals(zi.get_filename(mod_path), mod.__file__)
|
||||
# To pass in the module name instead of the path, we must use the right importer
|
||||
# To pass in the module name instead of the path, we must use the
|
||||
# right importer
|
||||
loader = mod.__loader__
|
||||
self.assertEquals(loader.get_source(mod_name), None)
|
||||
self.assertEquals(loader.get_filename(mod_name), mod.__file__)
|
||||
|
@ -266,8 +262,10 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
|
|||
mod = zi.load_module(TESTPACK2)
|
||||
self.assertEquals(zi.get_filename(TESTPACK2), mod.__file__)
|
||||
|
||||
self.assertEquals(zi.is_package(TESTPACK2 + os.sep + '__init__'), False)
|
||||
self.assertEquals(zi.is_package(TESTPACK2 + os.sep + TESTMOD), False)
|
||||
self.assertEquals(
|
||||
zi.is_package(TESTPACK2 + os.sep + '__init__'), False)
|
||||
self.assertEquals(
|
||||
zi.is_package(TESTPACK2 + os.sep + TESTMOD), False)
|
||||
|
||||
mod_path = TESTPACK2 + os.sep + TESTMOD
|
||||
mod_name = module_path_to_dotted_name(mod_path)
|
||||
|
@ -276,7 +274,8 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
|
|||
self.assertEquals(zi.get_source(TESTPACK2), None)
|
||||
self.assertEquals(zi.get_source(mod_path), None)
|
||||
self.assertEquals(zi.get_filename(mod_path), mod.__file__)
|
||||
# To pass in the module name instead of the path, we must use the right importer
|
||||
# To pass in the module name instead of the path, we must use the
|
||||
# right importer
|
||||
loader = mod.__loader__
|
||||
self.assertEquals(loader.get_source(mod_name), None)
|
||||
self.assertEquals(loader.get_filename(mod_name), mod.__file__)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue