mirror of
https://github.com/python/cpython.git
synced 2025-07-30 06:34:15 +00:00
bpo-44784: Apply changes from importlib_metadata 4.6.3 (GH-27508) (#27510)
Addressing issues with tests under error on warnings.
Automerge-Triggered-By: GH:jaraco
(cherry picked from commit 1cf8424a62
)
Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
This commit is contained in:
parent
35035bc35a
commit
21d5897982
2 changed files with 14 additions and 6 deletions
|
@ -3,6 +3,7 @@ import textwrap
|
|||
import unittest
|
||||
import warnings
|
||||
import importlib
|
||||
import contextlib
|
||||
|
||||
from . import fixtures
|
||||
from importlib.metadata import (
|
||||
|
@ -17,6 +18,13 @@ from importlib.metadata import (
|
|||
)
|
||||
|
||||
|
||||
@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 @@ class APITests(
|
|||
# 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 @@ class APITests(
|
|||
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 @@ class APITests(
|
|||
# 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 @@ class APITests(
|
|||
# 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', ()) == ()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue