mirror of https://github.com/python/cpython
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
This commit is contained in:
parent
302cf35505
commit
1cf8424a62
|
@ -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', ()) == ()
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
In importlib.metadata tests, override warnings behavior under expected
|
||||
DeprecationWarnings (importlib_metadata 4.6.3).
|
Loading…
Reference in New Issue