Replace importlib_metadata with importlib.metadata on Python 3.8+

Fixes https://github.com/pytest-dev/pytest/issues/5537
This commit is contained in:
Miro Hrončok 2019-07-03 01:46:44 +02:00
parent 1db132290f
commit c54cbd63c8
8 changed files with 15 additions and 7 deletions

View File

@ -0,0 +1,2 @@
Replace ``importlib_metadata`` backport with ``importlib.metadata`` from the
standard library on Python 3.8+.

View File

@ -11,7 +11,7 @@ INSTALL_REQUIRES = [
'pathlib2>=2.2.0;python_version<"3.6"',
'colorama;sys_platform=="win32"',
"pluggy>=0.12,<1.0",
"importlib-metadata>=0.12",
'importlib-metadata>=0.12;python_version<"3.8"',
"wcwidth",
]

View File

@ -26,6 +26,12 @@ MODULE_NOT_FOUND_ERROR = (
)
if sys.version_info >= (3, 8):
from importlib import metadata as importlib_metadata # noqa
else:
import importlib_metadata # noqa
def _format_args(func):
return str(signature(func))

View File

@ -9,7 +9,6 @@ import types
import warnings
from functools import lru_cache
import importlib_metadata
import py
from packaging.version import Version
from pluggy import HookimplMarker
@ -25,6 +24,7 @@ from .findpaths import determine_setup
from .findpaths import exists
from _pytest._code import ExceptionInfo
from _pytest._code import filter_traceback
from _pytest.compat import importlib_metadata
from _pytest.outcomes import fail
from _pytest.outcomes import Skipped
from _pytest.warning_types import PytestConfigWarning

View File

@ -4,10 +4,10 @@ import textwrap
import types
import attr
import importlib_metadata
import py
import pytest
from _pytest.compat import importlib_metadata
from _pytest.main import ExitCode
from _pytest.warnings import SHOW_PYTEST_WARNINGS_ARG

View File

@ -172,7 +172,8 @@ class TestImportHookInstallation:
return check
""",
"mainwrapper.py": """\
import pytest, importlib_metadata
import pytest
from _pytest.compat import importlib_metadata
class DummyEntryPoint(object):
name = 'spam'

View File

@ -1,10 +1,9 @@
import sys
import textwrap
import importlib_metadata
import _pytest._code
import pytest
from _pytest.compat import importlib_metadata
from _pytest.config import _iter_rewritable_modules
from _pytest.config.exceptions import UsageError
from _pytest.config.findpaths import determine_setup

View File

@ -1,4 +1,4 @@
import importlib_metadata
from _pytest.compat import importlib_metadata
def test_pytest_entry_points_are_identical():