diff --git a/Lib/importlib/abc.py b/Lib/importlib/abc.py index 16b96266b51..37fef357fe2 100644 --- a/Lib/importlib/abc.py +++ b/Lib/importlib/abc.py @@ -13,6 +13,7 @@ _frozen_importlib_external = _bootstrap_external from ._abc import Loader import abc +import warnings from .resources import abc as _resources_abc diff --git a/Lib/test/test_importlib/test_abc.py b/Lib/test/test_importlib/test_abc.py index 603125f6d92..479039055ca 100644 --- a/Lib/test/test_importlib/test_abc.py +++ b/Lib/test/test_importlib/test_abc.py @@ -913,5 +913,27 @@ def test_universal_newlines(self): SourceOnlyLoaderMock=SPLIT_SOL) +class DeprecatedAttrsTests: + + """Test the deprecated attributes can be accessed.""" + + def test_deprecated_attr_ResourceReader(self): + with self.assertWarns(DeprecationWarning): + self.abc.ResourceReader + + def test_deprecated_attr_Traversable(self): + with self.assertWarns(DeprecationWarning): + self.abc.Traversable + + def test_deprecated_attr_TraversableResources(self): + with self.assertWarns(DeprecationWarning): + self.abc.TraversableResources + + +(Frozen_DeprecatedAttrsTests, + Source_DeprecatedAttrsTests + ) = test_util.test_both(DeprecatedAttrsTests, abc=abc) + + if __name__ == '__main__': unittest.main() diff --git a/Misc/NEWS.d/next/Library/2024-07-02-19-36-54.gh-issue-121279.BltDo9.rst b/Misc/NEWS.d/next/Library/2024-07-02-19-36-54.gh-issue-121279.BltDo9.rst new file mode 100644 index 00000000000..709a37885a7 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2024-07-02-19-36-54.gh-issue-121279.BltDo9.rst @@ -0,0 +1,2 @@ +Avoid :exc:`NameError` for the :mod:`warnings` module when accessing the +depracated atributes of the :mod:`importlib.abc` module.