Replace importlib_metadata with importlib.metadata on Python 3.… (#5539)

Replace importlib_metadata with importlib.metadata on Python 3.8+
This commit is contained in:
Bruno Oliveira 2019-07-04 21:46:43 -03:00 committed by GitHub
commit 60a358fa2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 17 additions and 8 deletions

View File

@ -0,0 +1 @@
Fixed using multiple short options together in the command-line (for example ``-vs``) in Python 3.8+.

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

@ -358,7 +358,7 @@ class MyOptionParser(argparse.ArgumentParser):
getattr(args, FILE_OR_DIR).extend(argv)
return args
if sys.version_info[:2] < (3, 8): # pragma: no cover
if sys.version_info[:2] < (3, 9): # pragma: no cover
# Backport of https://github.com/python/cpython/pull/14316 so we can
# disable long --argument abbreviations without breaking short flags.
def _parse_optional(self, arg_string):

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():