Lines Matching refs:self
64 def setUp(self):
65 self.path = sys.path[:]
66 self.meta_path = sys.meta_path[:]
67 self.path_hooks = sys.path_hooks[:]
69 self.modules_before = import_helper.modules_setup()
71 def tearDown(self):
72 sys.path[:] = self.path
73 sys.meta_path[:] = self.meta_path
74 sys.path_hooks[:] = self.path_hooks
76 import_helper.modules_cleanup(*self.modules_before)
83 def setUp(self):
88 ImportHooksBaseTestCase.setUp(self)
90 def makeTree(self, files, dirName=TEMP_DIR):
93 self.addCleanup(os_helper.rmtree, dirName)
107 def makeZip(self, files, zipName=TEMP_ZIP, **kw):
111 self.addCleanup(os_helper.unlink, zipName)
116 zinfo.compress_type = self.compression
131 def doTest(self, expected_ext, files, *modules, **kw):
132 self.makeZip(files, **kw)
144 self.assertEqual(file, os.path.join(TEMP_ZIP,
147 def testAFakeZlib(self):
167 self.skipTest('zlib is a builtin module')
172 self.doTest(".py", files, "zlib")
174 if self.compression != ZIP_DEFLATED:
175 self.fail("expected test to not raise ImportError")
177 if self.compression != ZIP_STORED:
178 self.fail("expected test to raise ImportError")
180 def testPy(self):
182 self.doTest(".py", files, TESTMOD)
184 def testPyc(self):
186 self.doTest(pyc_ext, files, TESTMOD)
188 def testBoth(self):
191 self.doTest(pyc_ext, files, TESTMOD)
193 def testUncheckedHashBasedPyc(self):
204 self.assertEqual(mod.state, 'old')
205 self.doTest(None, files, TESTMOD, call=check)
208 def test_checked_hash_based_change_pyc(self):
219 self.assertEqual(mod.state, 'new')
220 self.doTest(None, files, TESTMOD, call=check)
222 def testEmptyPy(self):
224 self.doTest(None, files, TESTMOD)
226 def testBadMagic(self):
232 self.doTest(".py", files, TESTMOD)
234 def testBadMagic2(self):
240 self.doTest(".py", files, TESTMOD)
241 self.fail("This should not be reached")
243 self.assertIsInstance(exc.__cause__, ImportError)
244 self.assertIn("magic number", exc.__cause__.msg)
246 def testBadMTime(self):
253 self.doTest(".py", files, TESTMOD)
255 def test2038MTime(self):
261 self.doTest(".py", files, TESTMOD)
263 def testPackage(self):
267 self.doTest(pyc_ext, files, TESTPACK, TESTMOD)
269 def testSubPackage(self):
277 self.doTest(pyc_ext, files, TESTPACK, TESTPACK2, TESTMOD)
279 def testSubNamespacePackage(self):
288 self.doTest(pyc_ext, files, TESTPACK, TESTPACK2, TESTMOD)
290 def testMixedNamespacePackage(self):
310 self.makeZip(files1, zip1)
313 self.makeTree(files2, zip2)
324 self.assertEqual(2, len(mod.__path__))
326 self.assertEqual(os.path.basename(TEMP_DIR), p1.split(os.sep)[-2])
327 self.assertEqual("path1.zip", p2.split(os.sep)[-2])
332 self.assertEqual(1, len(mod.__path__))
334 self.assertEqual(packdir3[:-1], mpath)
338 self.assertEqual("path1.zip", mod.__file__.split(os.sep)[-3])
342 self.assertEqual(os.path.basename(TEMP_DIR),
348 self.assertEqual(2, len(mod.__path__))
350 self.assertEqual(os.path.basename(TEMP_DIR), p1.split(os.sep)[-3])
351 self.assertEqual("path1.zip", p2.split(os.sep)[-3])
355 self.assertEqual(os.path.basename(TEMP_DIR),
360 self.assertEqual(os.path.basename(TEMP_DIR),
365 self.assertEqual('path1.zip', mod.__file__.split(os.sep)[-4])
367 def testNamespacePackage(self):
381 self.makeZip(files1, zip1)
389 self.makeZip(files2, zip2)
400 self.assertEqual(2, len(mod.__path__))
402 self.assertEqual("path2.zip", p1.split(os.sep)[-2])
403 self.assertEqual("path1.zip", p2.split(os.sep)[-2])
408 self.assertEqual(1, len(mod.__path__))
410 self.assertEqual(packdir3[:-1], mpath)
414 self.assertEqual("path1.zip", mod.__file__.split(os.sep)[-3])
418 self.assertEqual("path2.zip", mod.__file__.split(os.sep)[-3])
423 self.assertEqual(2, len(mod.__path__))
425 self.assertEqual("path2.zip", p1.split(os.sep)[-3])
426 self.assertEqual("path1.zip", p2.split(os.sep)[-3])
430 self.assertEqual('path2.zip', mod.__file__.split(os.sep)[-4])
434 self.assertEqual('path2.zip', mod.__file__.split(os.sep)[-4])
438 self.assertEqual('path1.zip', mod.__file__.split(os.sep)[-4])
440 def testZipImporterMethods(self):
448 self.addCleanup(os_helper.unlink, TEMP_ZIP)
452 zinfo.compress_type = self.compression
457 self.assertEqual(zi.archive, TEMP_ZIP)
458 self.assertTrue(zi.is_package(TESTPACK))
464 self.assertIsNotNone(find_mod)
465 self.assertIsInstance(find_mod, zipimport.zipimporter)
466 self.assertFalse(find_mod.is_package('spam'))
468 self.assertEqual(find_mod.get_filename('spam'), load_mod.__file__)
471 self.assertEqual(zi.get_filename(TESTPACK), mod.__file__)
475 self.assertIsNotNone(spec)
476 self.assertIsInstance(spec.loader, zipimport.zipimporter)
477 self.assertFalse(spec.loader.is_package('spam'))
480 self.assertEqual(spec.loader.get_filename('spam'), exec_mod.__file__)
485 self.assertEqual(zi.get_filename(TESTPACK), mod.__file__)
489 self.assertEqual(existing_pack_path, expected_path_path)
491 self.assertFalse(zi.is_package(packdir + '__init__'))
492 self.assertTrue(zi.is_package(packdir + TESTPACK2))
493 self.assertFalse(zi.is_package(packdir2 + TESTMOD))
498 self.assertTrue(mod_name in sys.modules)
499 self.assertIsNone(zi.get_source(TESTPACK))
500 self.assertIsNone(zi.get_source(mod_path))
501 self.assertEqual(zi.get_filename(mod_path), mod.__file__)
505 self.assertIsNone(loader.get_source(mod_name))
506 self.assertEqual(loader.get_filename(mod_name), mod.__file__)
510 self.assertEqual(zi2.archive, TEMP_ZIP)
511 self.assertEqual(zi2.prefix, TESTPACK + os.sep)
513 def testInvalidateCaches(self):
520 self.addCleanup(os_helper.unlink, TEMP_ZIP)
524 zinfo.compress_type = self.compression
529 self.assertEqual(zi._files.keys(), files.keys())
532 self.assertEqual(zi._files.keys(), files.keys())
539 zinfo.compress_type = self.compression
544 self.assertEqual(zi._files.keys(), files.keys())
546 self.assertIsNotNone(spec)
547 self.assertIsInstance(spec.loader, zipimport.zipimporter)
551 self.assertFalse(zi._files)
552 self.assertIsNone(zipimport._zip_directory_cache.get(zi.archive))
553 self.assertIsNone(zi.find_spec("name_does_not_matter"))
555 def testZipImporterMethodsInSubDirectory(self):
561 self.addCleanup(os_helper.unlink, TEMP_ZIP)
565 zinfo.compress_type = self.compression
570 self.assertEqual(zi.archive, TEMP_ZIP)
571 self.assertEqual(zi.prefix, packdir)
572 self.assertTrue(zi.is_package(TESTPACK2))
577 self.assertEqual(zi.get_filename(TESTPACK2), mod.__file__)
582 self.assertEqual(spec.loader.get_filename(TESTPACK2), mod.__file__)
584 self.assertFalse(zi.is_package(TESTPACK2 + os.sep + '__init__'))
585 self.assertFalse(zi.is_package(TESTPACK2 + os.sep + TESTMOD))
593 self.assertIsNotNone(find_mod_dotted)
594 self.assertIsInstance(find_mod_dotted, zipimport.zipimporter)
595 self.assertFalse(zi2.is_package(TESTMOD))
597 self.assertEqual(
602 self.assertIsNotNone(spec)
603 self.assertIsInstance(spec.loader, zipimport.zipimporter)
604 self.assertFalse(spec.loader.is_package(TESTMOD))
607 self.assertEqual(
613 self.assertTrue(mod_name in sys.modules)
614 self.assertIsNone(zi.get_source(TESTPACK2))
615 self.assertIsNone(zi.get_source(mod_path))
616 self.assertEqual(zi.get_filename(mod_path), mod.__file__)
620 self.assertIsNone(loader.get_source(mod_name))
621 self.assertEqual(loader.get_filename(mod_name), mod.__file__)
623 def testGetData(self):
624 self.addCleanup(os_helper.unlink, TEMP_ZIP)
626 z.compression = self.compression
632 self.assertEqual(data, zi.get_data(name))
633 self.assertIn('zipimporter object', repr(zi))
635 def testImporterAttr(self):
644 self.doTest(pyc_ext, files, TESTMOD)
646 def testDefaultOptimizationLevel(self):
653 self.makeZip(files)
656 self.assertEqual(mod.test(1), 1)
658 self.assertRaises(AssertionError, mod.test, False)
660 self.assertEqual(mod.test(0), 0)
662 def testImport_WithStuff(self):
666 self.doTest(".py", files, TESTMOD,
669 def assertModuleSource(self, module):
670 self.assertEqual(inspect.getsource(module), test_src)
672 def testGetSource(self):
674 self.doTest(".py", files, TESTMOD, call=self.assertModuleSource)
676 def testGetCompiledSource(self):
680 self.doTest(pyc_ext, files, TESTMOD, call=self.assertModuleSource)
682 def runDoctest(self, callback):
685 self.doTest(".py", files, TESTMOD, call=callback)
687 def doDoctestFile(self, module):
697 self.assertEqual(log,[True])
699 def testDoctestFile(self):
700 self.runDoctest(self.doDoctestFile)
702 def doDoctestSuite(self, module):
708 self.assertEqual(log,[True])
710 def testDoctestSuite(self):
711 self.runDoctest(self.doDoctestSuite)
713 def doTraceback(self, module):
720 self.assertEqual(line, raise_src.strip())
723 self.assertEqual(line, raise_src.strip())
727 self.assertTrue(s.getvalue().endswith(
735 def testTraceback(self):
737 self.doTest(None, files, TESTMOD, call=self.doTraceback)
741 def testUnencodable(self):
743 self.addCleanup(os_helper.unlink, filename)
746 zinfo.compress_type = self.compression
752 def testBytesPath(self):
754 self.addCleanup(os_helper.unlink, filename)
757 zinfo.compress_type = self.compression
761 with self.assertRaises(TypeError):
763 with self.assertRaises(TypeError):
765 with self.assertRaises(TypeError):
768 def testComment(self):
770 self.doTest(".py", files, TESTMOD, comment=b"comment")
772 def testBeginningCruftAndComment(self):
774 self.doTest(".py", files, TESTMOD, stuff=b"cruft" * 64, comment=b"hi")
776 def testLargestPossibleComment(self):
778 self.doTest(".py", files, TESTMOD, comment=b"c" * ((1 << 16) - 1))
787 def assertZipFailure(self, filename):
788 self.assertRaises(zipimport.ZipImportError,
791 def testNoFile(self):
792 self.assertZipFailure('AdfjdkFJKDFJjdklfjs')
794 def testEmptyFilename(self):
795 self.assertZipFailure('')
797 def testBadArgs(self):
798 self.assertRaises(TypeError, zipimport.zipimporter, None)
799 self.assertRaises(TypeError, zipimport.zipimporter, TESTMOD, kwd=None)
800 self.assertRaises(TypeError, zipimport.zipimporter,
803 def testFilenameTooLong(self):
804 self.assertZipFailure('A' * 33000)
806 def testEmptyFile(self):
809 self.assertZipFailure(TESTMOD)
812 def testFileUnreadable(self):
818 with self.assertRaises(zipimport.ZipImportError) as cm:
826 def testNotZipFile(self):
831 self.assertZipFailure(TESTMOD)
834 def _testBogusZipFile(self):
845 self.assertRaises(TypeError, z.load_module, None)
846 self.assertRaises(TypeError, z.find_module, None)
847 self.assertRaises(TypeError, z.find_spec, None)
848 self.assertRaises(TypeError, z.exec_module, None)
849 self.assertRaises(TypeError, z.is_package, None)
850 self.assertRaises(TypeError, z.get_code, None)
851 self.assertRaises(TypeError, z.get_data, None)
852 self.assertRaises(TypeError, z.get_source, None)
855 self.assertIsNone(z.find_module('abc'))
856 self.assertIsNone(z.find_spec('abc'))
860 self.assertRaises(error, z.load_module, 'abc')
861 self.assertRaises(error, z.get_code, 'abc')
862 self.assertRaises(OSError, z.get_data, 'abc')
863 self.assertRaises(error, z.get_source, 'abc')
864 self.assertRaises(error, z.is_package, 'abc')