summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_importlib/test_util.py
diff options
context:
space:
mode:
authorNikita Sobolev <mail@sobolevn.me>2022-10-07 00:57:10 (GMT)
committerGitHub <noreply@github.com>2022-10-07 00:57:10 (GMT)
commit27025e158c70331d0a8fb42fe234a2a6770850d1 (patch)
tree7a65a7e92f1db72ce3d942f32af13dfe40ed2462 /Lib/test/test_importlib/test_util.py
parent4875433682ffec2694647ac43f1b21f5ad73fd25 (diff)
downloadcpython-27025e158c70331d0a8fb42fe234a2a6770850d1.zip
cpython-27025e158c70331d0a8fb42fe234a2a6770850d1.tar.gz
cpython-27025e158c70331d0a8fb42fe234a2a6770850d1.tar.bz2
gh-97850: Remove deprecated functions from `importlib.utils` (#97898)
* gh-97850: Remove deprecated functions from `importlib.utils` * Rebase and remove `set_package` from diff
Diffstat (limited to 'Lib/test/test_importlib/test_util.py')
-rw-r--r--Lib/test/test_importlib/test_util.py178
1 files changed, 0 insertions, 178 deletions
diff --git a/Lib/test/test_importlib/test_util.py b/Lib/test/test_importlib/test_util.py
index e70971e..08a615e 100644
--- a/Lib/test/test_importlib/test_util.py
+++ b/Lib/test/test_importlib/test_util.py
@@ -121,184 +121,6 @@ class ModuleFromSpecTests:
util=importlib_util)
-class ModuleForLoaderTests:
-
- """Tests for importlib.util.module_for_loader."""
-
- @classmethod
- def module_for_loader(cls, func):
- with warnings.catch_warnings():
- warnings.simplefilter('ignore', DeprecationWarning)
- return cls.util.module_for_loader(func)
-
- def test_warning(self):
- # Should raise a PendingDeprecationWarning when used.
- with warnings.catch_warnings():
- warnings.simplefilter('error', DeprecationWarning)
- with self.assertRaises(DeprecationWarning):
- func = self.util.module_for_loader(lambda x: x)
-
- def return_module(self, name):
- fxn = self.module_for_loader(lambda self, module: module)
- return fxn(self, name)
-
- def raise_exception(self, name):
- def to_wrap(self, module):
- raise ImportError
- fxn = self.module_for_loader(to_wrap)
- try:
- fxn(self, name)
- except ImportError:
- pass
-
- def test_new_module(self):
- # Test that when no module exists in sys.modules a new module is
- # created.
- module_name = 'a.b.c'
- with util.uncache(module_name):
- module = self.return_module(module_name)
- self.assertIn(module_name, sys.modules)
- self.assertIsInstance(module, types.ModuleType)
- self.assertEqual(module.__name__, module_name)
-
- def test_reload(self):
- # Test that a module is reused if already in sys.modules.
- class FakeLoader:
- def is_package(self, name):
- return True
- @self.module_for_loader
- def load_module(self, module):
- return module
- name = 'a.b.c'
- module = types.ModuleType('a.b.c')
- module.__loader__ = 42
- module.__package__ = 42
- with util.uncache(name):
- sys.modules[name] = module
- loader = FakeLoader()
- returned_module = loader.load_module(name)
- self.assertIs(returned_module, sys.modules[name])
- self.assertEqual(module.__loader__, loader)
- self.assertEqual(module.__package__, name)
-
- def test_new_module_failure(self):
- # Test that a module is removed from sys.modules if added but an
- # exception is raised.
- name = 'a.b.c'
- with util.uncache(name):
- self.raise_exception(name)
- self.assertNotIn(name, sys.modules)
-
- def test_reload_failure(self):
- # Test that a failure on reload leaves the module in-place.
- name = 'a.b.c'
- module = types.ModuleType(name)
- with util.uncache(name):
- sys.modules[name] = module
- self.raise_exception(name)
- self.assertIs(module, sys.modules[name])
-
- def test_decorator_attrs(self):
- def fxn(self, module): pass
- wrapped = self.module_for_loader(fxn)
- self.assertEqual(wrapped.__name__, fxn.__name__)
- self.assertEqual(wrapped.__qualname__, fxn.__qualname__)
-
- def test_false_module(self):
- # If for some odd reason a module is considered false, still return it
- # from sys.modules.
- class FalseModule(types.ModuleType):
- def __bool__(self): return False
-
- name = 'mod'
- module = FalseModule(name)
- with util.uncache(name):
- self.assertFalse(module)
- sys.modules[name] = module
- given = self.return_module(name)
- self.assertIs(given, module)
-
- def test_attributes_set(self):
- # __name__, __loader__, and __package__ should be set (when
- # is_package() is defined; undefined implicitly tested elsewhere).
- class FakeLoader:
- def __init__(self, is_package):
- self._pkg = is_package
- def is_package(self, name):
- return self._pkg
- @self.module_for_loader
- def load_module(self, module):
- return module
-
- name = 'pkg.mod'
- with util.uncache(name):
- loader = FakeLoader(False)
- module = loader.load_module(name)
- self.assertEqual(module.__name__, name)
- self.assertIs(module.__loader__, loader)
- self.assertEqual(module.__package__, 'pkg')
-
- name = 'pkg.sub'
- with util.uncache(name):
- loader = FakeLoader(True)
- module = loader.load_module(name)
- self.assertEqual(module.__name__, name)
- self.assertIs(module.__loader__, loader)
- self.assertEqual(module.__package__, name)
-
-
-(Frozen_ModuleForLoaderTests,
- Source_ModuleForLoaderTests
- ) = util.test_both(ModuleForLoaderTests, util=importlib_util)
-
-
-class SetLoaderTests:
-
- """Tests importlib.util.set_loader()."""
-
- @property
- def DummyLoader(self):
- # Set DummyLoader on the class lazily.
- class DummyLoader:
- @self.util.set_loader
- def load_module(self, module):
- return self.module
- self.__class__.DummyLoader = DummyLoader
- return DummyLoader
-
- def test_no_attribute(self):
- loader = self.DummyLoader()
- loader.module = types.ModuleType('blah')
- try:
- del loader.module.__loader__
- except AttributeError:
- pass
- with warnings.catch_warnings():
- warnings.simplefilter('ignore', DeprecationWarning)
- self.assertEqual(loader, loader.load_module('blah').__loader__)
-
- def test_attribute_is_None(self):
- loader = self.DummyLoader()
- loader.module = types.ModuleType('blah')
- loader.module.__loader__ = None
- with warnings.catch_warnings():
- warnings.simplefilter('ignore', DeprecationWarning)
- self.assertEqual(loader, loader.load_module('blah').__loader__)
-
- def test_not_reset(self):
- loader = self.DummyLoader()
- loader.module = types.ModuleType('blah')
- loader.module.__loader__ = 42
- with warnings.catch_warnings():
- warnings.simplefilter('ignore', DeprecationWarning)
- self.assertEqual(42, loader.load_module('blah').__loader__)
-
-
-(Frozen_SetLoaderTests,
- Source_SetLoaderTests
- ) = util.test_both(SetLoaderTests, util=importlib_util)
-
-
class ResolveNameTests:
"""Tests importlib.util.resolve_name()."""