gh-121604: fix warnings in test_importlib.test_abc and test_importlib.test_windows (GH-128904)

This commit is contained in:
Thomas Grainger 2025-01-16 21:29:16 +00:00 committed by GitHub
parent 211f41316b
commit 27494dd9ad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 48 additions and 7 deletions

View file

@ -226,7 +226,15 @@ class ResourceLoaderDefaultsTests(ABCTestHarness):
SPLIT = make_abc_subclasses(ResourceLoader) SPLIT = make_abc_subclasses(ResourceLoader)
def test_get_data(self): def test_get_data(self):
with self.assertRaises(IOError): with (
self.assertRaises(IOError),
self.assertWarnsRegex(
DeprecationWarning,
r"importlib\.abc\.ResourceLoader is deprecated in favour of "
r"supporting resource loading through importlib\.resources"
r"\.abc\.TraversableResources.",
),
):
self.ins.get_data('/some/path') self.ins.get_data('/some/path')
@ -927,9 +935,19 @@ class SourceLoaderDeprecationWarningsTests(unittest.TestCase):
def path_stats(self, path): def path_stats(self, path):
return {'mtime': 1} return {'mtime': 1}
with self.assertWarnsRegex(
DeprecationWarning,
r"importlib\.abc\.ResourceLoader is deprecated in favour of "
r"supporting resource loading through importlib\.resources"
r"\.abc\.TraversableResources.",
):
loader = DummySourceLoader()
loader = DummySourceLoader() with self.assertWarnsRegex(
with self.assertWarns(DeprecationWarning): DeprecationWarning,
r"SourceLoader\.path_mtime is deprecated in favour of "
r"SourceLoader\.path_stats\(\)\."
):
loader.path_mtime('foo.py') loader.path_mtime('foo.py')

View file

@ -91,23 +91,46 @@ class WindowsRegistryFinderTests:
test_module = "spamham{}".format(os.getpid()) test_module = "spamham{}".format(os.getpid())
def test_find_spec_missing(self): def test_find_spec_missing(self):
spec = self.machinery.WindowsRegistryFinder.find_spec('spam') with self.assertWarnsRegex(
DeprecationWarning,
r"importlib\.machinery\.WindowsRegistryFinder is deprecated; "
r"use site configuration instead\. Future versions of Python may "
r"not enable this finder by default\."
):
spec = self.machinery.WindowsRegistryFinder.find_spec('spam')
self.assertIsNone(spec) self.assertIsNone(spec)
def test_module_found(self): def test_module_found(self):
with setup_module(self.machinery, self.test_module): with setup_module(self.machinery, self.test_module):
spec = self.machinery.WindowsRegistryFinder.find_spec(self.test_module) with self.assertWarnsRegex(
DeprecationWarning,
r"importlib\.machinery\.WindowsRegistryFinder is deprecated; "
r"use site configuration instead\. Future versions of Python may "
r"not enable this finder by default\."
):
spec = self.machinery.WindowsRegistryFinder.find_spec(self.test_module)
self.assertIsNotNone(spec) self.assertIsNotNone(spec)
def test_module_not_found(self): def test_module_not_found(self):
with setup_module(self.machinery, self.test_module, path="."): with setup_module(self.machinery, self.test_module, path="."):
spec = self.machinery.WindowsRegistryFinder.find_spec(self.test_module) with self.assertWarnsRegex(
DeprecationWarning,
r"importlib\.machinery\.WindowsRegistryFinder is deprecated; "
r"use site configuration instead\. Future versions of Python may "
r"not enable this finder by default\."
):
spec = self.machinery.WindowsRegistryFinder.find_spec(self.test_module)
self.assertIsNone(spec) self.assertIsNone(spec)
def test_raises_deprecation_warning(self): def test_raises_deprecation_warning(self):
# WindowsRegistryFinder is not meant to be instantiated, so the # WindowsRegistryFinder is not meant to be instantiated, so the
# deprecation warning is raised in the 'find_spec' method instead. # deprecation warning is raised in the 'find_spec' method instead.
with self.assertWarns(DeprecationWarning): with self.assertWarnsRegex(
DeprecationWarning,
r"importlib\.machinery\.WindowsRegistryFinder is deprecated; "
r"use site configuration instead\. Future versions of Python may "
r"not enable this finder by default\."
):
self.machinery.WindowsRegistryFinder.find_spec('spam') self.machinery.WindowsRegistryFinder.find_spec('spam')
(Frozen_WindowsRegistryFinderTests, (Frozen_WindowsRegistryFinderTests,