from .. import abc from .. import util machinery = util.import_importlib('importlib.machinery') import unittest class FindSpecTests(abc.FinderTests): """Test finding frozen modules.""" def find(self, name, path=None): finder = self.machinery.FrozenImporter return finder.find_spec(name, path) def test_module(self): name = '__hello__' spec = self.find(name) self.assertEqual(spec.origin, 'frozen') def test_package(self): spec = self.find('__phello__') self.assertIsNotNone(spec) def test_module_in_package(self): spec = self.find('__phello__.spam', ['__phello__']) self.assertIsNotNone(spec) # No frozen package within another package to test with. test_package_in_package = None # No easy way to test. test_package_over_module = None def test_failure(self): spec = self.find('') self.assertIsNone(spec) Frozen_FindSpecTests, Source_FindSpecTests = util.test_both(FindSpecTests, machinery=machinery) class FinderTests(abc.FinderTests): """Test finding frozen modules.""" def find(self, name, path=None): finder = self.machinery.FrozenImporter return finder.find_module(name, path) def test_module(self): name = '__hello__' loader = self.find(name) self.assertTrue(hasattr(loader, 'load_module')) def test_package(self): loader = self.find('__phello__') self.assertTrue(hasattr(loader, 'load_module')) def test_module_in_package(self): loader = self.find('__phello__.spam', ['__phello__']) self.assertTrue(hasattr(loader, 'load_module')) # No frozen package within another package to test with. test_package_in_package = None # No easy way to test. test_package_over_module = None def test_failure(self): loader = self.find('') self.assertIsNone(loader) Frozen_FinderTests, Source_FinderTests = util.test_both(FinderTests, machinery=machinery) if __name__ == '__main__': unittest.main()