pass
return module
- # XXX If we don't end up using this for pythonrun.c/runpy, we should
- # get rid of it.
- def _load_existing(self, module):
- """Exec the spec'ed module into an existing module's namespace."""
- # For use by runpy.
- with _installed_safely(module):
- loaded = self.exec(module)
- return loaded
-
def _load_unlocked(self):
# A helper for direct use by the import system.
if self.spec.loader is not None:
@classmethod
def find_spec(cls, fullname, path=None, target=None):
- # XXX untested! Need a Windows person to write tests (otherwise mock out appropriately)
filepath = cls._search_registry(fullname)
if filepath is None:
return None
loaded = self.bootstrap._SpecMethods(self.spec).load()
self.assertNotIn(self.spec.name, sys.modules)
- def test_load_existing(self):
- existing = type(sys)('ham')
- existing.count = 5
- self.spec.loader = NewLoader()
- with CleanImport(self.name):
- sys.modules[self.name] = existing
- assert self.spec.name == self.name
- loaded = self.bootstrap._SpecMethods(self.spec).load()
-
- self.assertEqual(loaded.eggs, 1)
- self.assertFalse(hasattr(loaded, 'ham'))
-
def test_load_legacy(self):
self.spec.loader = LegacyLoader()
with CleanImport(self.spec.name):