bpo-44784: Apply changes from importlib_metadata 4.6.3 (GH-27508)
![](https://secure.gravatar.com/avatar/cc7737cd64a84f1b5c61a160798e97ee.jpg?s=120&d=mm&r=g)
https://github.com/python/cpython/commit/1cf8424a62db38a041d421a46618e025bbb... commit: 1cf8424a62db38a041d421a46618e025bbb87f89 branch: main author: Jason R. Coombs <jaraco@jaraco.com> committer: miss-islington <31488909+miss-islington@users.noreply.github.com> date: 2021-07-31T06:08:13-07:00 summary: bpo-44784: Apply changes from importlib_metadata 4.6.3 (GH-27508) Addressing issues with tests under error on warnings. Automerge-Triggered-By: GH:jaraco files: A Misc/NEWS.d/next/Library/2021-07-31-08-45-31.bpo-44784.fIMIDS.rst M Lib/test/test_importlib/test_metadata_api.py diff --git a/Lib/test/test_importlib/test_metadata_api.py b/Lib/test/test_importlib/test_metadata_api.py index 2bfc44b18eedb..dc9c234d15b78 100644 --- a/Lib/test/test_importlib/test_metadata_api.py +++ b/Lib/test/test_importlib/test_metadata_api.py @@ -3,6 +3,7 @@ import unittest import warnings import importlib +import contextlib from . import fixtures from importlib.metadata import ( @@ -17,6 +18,13 @@ ) +@contextlib.contextmanager +def suppress_known_deprecation(): + with warnings.catch_warnings(record=True) as ctx: + warnings.simplefilter('default') + yield ctx + + class APITests( fixtures.EggInfoPkg, fixtures.DistInfoPkg, @@ -118,8 +126,7 @@ def test_entry_points_dict_construction(self): # Prior versions of entry_points() returned simple lists and # allowed casting those lists into maps by name using ``dict()``. # Capture this now deprecated use-case. - with warnings.catch_warnings(record=True) as caught: - warnings.filterwarnings("default", category=DeprecationWarning) + with suppress_known_deprecation() as caught: eps = dict(entry_points(group='entries')) assert 'main' in eps @@ -138,8 +145,7 @@ def test_entry_points_by_index(self): See python/importlib_metadata#300 and bpo-44246. """ eps = distribution('distinfo-pkg').entry_points - with warnings.catch_warnings(record=True) as caught: - warnings.filterwarnings("default", category=DeprecationWarning) + with suppress_known_deprecation() as caught: eps[0] # check warning @@ -151,7 +157,7 @@ def test_entry_points_groups_getitem(self): # Prior versions of entry_points() returned a dict. Ensure # that callers using '.__getitem__()' are supported but warned to # migrate. - with warnings.catch_warnings(record=True): + with suppress_known_deprecation(): entry_points()['entries'] == entry_points(group='entries') with self.assertRaises(KeyError): @@ -161,7 +167,7 @@ def test_entry_points_groups_get(self): # Prior versions of entry_points() returned a dict. Ensure # that callers using '.get()' are supported but warned to # migrate. - with warnings.catch_warnings(record=True): + with suppress_known_deprecation(): entry_points().get('missing', 'default') == 'default' entry_points().get('entries', 'default') == entry_points()['entries'] entry_points().get('missing', ()) == () diff --git a/Misc/NEWS.d/next/Library/2021-07-31-08-45-31.bpo-44784.fIMIDS.rst b/Misc/NEWS.d/next/Library/2021-07-31-08-45-31.bpo-44784.fIMIDS.rst new file mode 100644 index 0000000000000..6ad10ef3f5980 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2021-07-31-08-45-31.bpo-44784.fIMIDS.rst @@ -0,0 +1,2 @@ +In importlib.metadata tests, override warnings behavior under expected +DeprecationWarnings (importlib_metadata 4.6.3).
participants (1)
-
miss-islington