summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_importlib/test_spec.py
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2020-12-04 23:39:21 (GMT)
committerGitHub <noreply@github.com>2020-12-04 23:39:21 (GMT)
commit2de5097ba4c50eba90df55696a7b2e74c93834d4 (patch)
tree7a3d54477997114ef27136e9c9da0e380f835a34 /Lib/test/test_importlib/test_spec.py
parent79c1849b9e5b635bd36b13e1be9dc7cbc2bd6312 (diff)
downloadcpython-2de5097ba4c50eba90df55696a7b2e74c93834d4.zip
cpython-2de5097ba4c50eba90df55696a7b2e74c93834d4.tar.gz
cpython-2de5097ba4c50eba90df55696a7b2e74c93834d4.tar.bz2
bpo-26131: Deprecate usage of load_module() (GH-23469)
Raise an ImportWarning when the import system falls back on load_module(). As for implementations of load_module(), raise a DeprecationWarning.
Diffstat (limited to 'Lib/test/test_importlib/test_spec.py')
-rw-r--r--Lib/test/test_importlib/test_spec.py54
1 files changed, 31 insertions, 23 deletions
diff --git a/Lib/test/test_importlib/test_spec.py b/Lib/test/test_importlib/test_spec.py
index eed90f2..b57eb6c 100644
--- a/Lib/test/test_importlib/test_spec.py
+++ b/Lib/test/test_importlib/test_spec.py
@@ -303,32 +303,38 @@ class ModuleSpecMethodsTests:
self.assertNotIn(self.spec.name, sys.modules)
def test_load_legacy(self):
- self.spec.loader = LegacyLoader()
- with CleanImport(self.spec.name):
- loaded = self.bootstrap._load(self.spec)
+ with warnings.catch_warnings():
+ warnings.simplefilter("ignore", ImportWarning)
+ self.spec.loader = LegacyLoader()
+ with CleanImport(self.spec.name):
+ loaded = self.bootstrap._load(self.spec)
- self.assertEqual(loaded.ham, -1)
+ self.assertEqual(loaded.ham, -1)
def test_load_legacy_attributes(self):
- self.spec.loader = LegacyLoader()
- with CleanImport(self.spec.name):
- loaded = self.bootstrap._load(self.spec)
+ with warnings.catch_warnings():
+ warnings.simplefilter("ignore", ImportWarning)
+ self.spec.loader = LegacyLoader()
+ with CleanImport(self.spec.name):
+ loaded = self.bootstrap._load(self.spec)
- self.assertIs(loaded.__loader__, self.spec.loader)
- self.assertEqual(loaded.__package__, self.spec.parent)
- self.assertIs(loaded.__spec__, self.spec)
+ self.assertIs(loaded.__loader__, self.spec.loader)
+ self.assertEqual(loaded.__package__, self.spec.parent)
+ self.assertIs(loaded.__spec__, self.spec)
def test_load_legacy_attributes_immutable(self):
module = object()
- class ImmutableLoader(TestLoader):
- def load_module(self, name):
- sys.modules[name] = module
- return module
- self.spec.loader = ImmutableLoader()
- with CleanImport(self.spec.name):
- loaded = self.bootstrap._load(self.spec)
+ with warnings.catch_warnings():
+ warnings.simplefilter("ignore", ImportWarning)
+ class ImmutableLoader(TestLoader):
+ def load_module(self, name):
+ sys.modules[name] = module
+ return module
+ self.spec.loader = ImmutableLoader()
+ with CleanImport(self.spec.name):
+ loaded = self.bootstrap._load(self.spec)
- self.assertIs(sys.modules[self.spec.name], module)
+ self.assertIs(sys.modules[self.spec.name], module)
# reload()
@@ -382,11 +388,13 @@ class ModuleSpecMethodsTests:
self.assertFalse(hasattr(loaded, '__cached__'))
def test_reload_legacy(self):
- self.spec.loader = LegacyLoader()
- with CleanImport(self.spec.name):
- loaded = self.bootstrap._load(self.spec)
- reloaded = self.bootstrap._exec(self.spec, loaded)
- installed = sys.modules[self.spec.name]
+ with warnings.catch_warnings():
+ warnings.simplefilter("ignore", ImportWarning)
+ self.spec.loader = LegacyLoader()
+ with CleanImport(self.spec.name):
+ loaded = self.bootstrap._load(self.spec)
+ reloaded = self.bootstrap._exec(self.spec, loaded)
+ installed = sys.modules[self.spec.name]
self.assertEqual(loaded.ham, -1)
self.assertIs(reloaded, loaded)