File importlib-py38.patch of Package python-pytest (Revision f213a27bb0b551d0feba19a4a1390029)
Currently displaying revision f213a27bb0b551d0feba19a4a1390029 , Show latest
xxxxxxxxxx
1
From c54cbd63c8bc5db6626d26c0f3339a552a6b1a90 Mon Sep 17 00:00:00 2001
2
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
3
Date: Wed, 3 Jul 2019 01:46:44 +0200
4
Subject: [PATCH] Replace importlib_metadata with importlib.metadata on Python
5
3.8+
6
7
Fixes https://github.com/pytest-dev/pytest/issues/5537
8
---
9
setup.py | 2 +-
10
src/_pytest/compat.py | 6 ++++++
11
src/_pytest/config/__init__.py | 2 +-
12
testing/acceptance_test.py | 2 +-
13
testing/test_assertion.py | 3 ++-
14
testing/test_config.py | 3 +--
15
testing/test_entry_points.py | 2 +-
16
8 files changed, 15 insertions(+), 7 deletions(-)
17
create mode 100644 changelog/5537.bugfix.rst
18
19
Index: pytest-3.10.1/setup.py
20
===================================================================
21
--- pytest-3.10.1.orig/setup.py
22
+++ pytest-3.10.1/setup.py
23
24
'funcsigs;python_version<"3.0"',
25
'pathlib2>=2.2.0;python_version<"3.6"',
26
'colorama;sys_platform=="win32"',
27
- 'importlib-metadata>=0.12',
28
+ 'importlib-metadata>=0.12;python_version<"3.8"',
29
]
30
31
32
Index: pytest-3.10.1/src/_pytest/compat.py
33
===================================================================
34
--- pytest-3.10.1.orig/src/_pytest/compat.py
35
+++ pytest-3.10.1/src/_pytest/compat.py
36
37
return None
38
39
40
+if sys.version_info >= (3, 8):
41
+ from importlib import metadata as importlib_metadata # noqa
42
+else:
43
+ import importlib_metadata # noqa
44
+
45
+
46
def _format_args(func):
47
return str(signature(func))
48
49
Index: pytest-3.10.1/src/_pytest/config/__init__.py
50
===================================================================
51
--- pytest-3.10.1.orig/src/_pytest/config/__init__.py
52
+++ pytest-3.10.1/src/_pytest/config/__init__.py
53
54
import types
55
import warnings
56
57
-import importlib_metadata
58
import py
59
import six
60
from packaging.version import Version
61
62
from _pytest._code import filter_traceback
63
from _pytest.compat import lru_cache
64
from _pytest.compat import safe_str
65
+from _pytest.compat import importlib_metadata
66
from _pytest.outcomes import Skipped
67
68
hookimpl = HookimplMarker("pytest")
69
Index: pytest-3.10.1/testing/acceptance_test.py
70
===================================================================
71
--- pytest-3.10.1.orig/testing/acceptance_test.py
72
+++ pytest-3.10.1/testing/acceptance_test.py
73
74
import six
75
76
import pytest
77
+from _pytest.compat import importlib_metadata
78
from _pytest.main import EXIT_NOTESTSCOLLECTED
79
from _pytest.main import EXIT_USAGEERROR
80
81
-
82
def prepend_pythonpath(*dirs):
83
cur = os.getenv("PYTHONPATH")
84
if cur:
85
Index: pytest-3.10.1/testing/test_assertion.py
86
===================================================================
87
--- pytest-3.10.1.orig/testing/test_assertion.py
88
+++ pytest-3.10.1/testing/test_assertion.py
89
90
return check
91
""",
92
"mainwrapper.py": """\
93
- import pytest, importlib_metadata
94
+ import pytest
95
+ from _pytest.compat import importlib_metadata
96
97
class DummyEntryPoint(object):
98
name = 'spam'
99
Index: pytest-3.10.1/testing/test_config.py
100
===================================================================
101
--- pytest-3.10.1.orig/testing/test_config.py
102
+++ pytest-3.10.1/testing/test_config.py
103
104
import sys
105
import textwrap
106
107
-import importlib_metadata
108
-
109
import _pytest._code
110
import pytest
111
+from _pytest.compat import importlib_metadata
112
from _pytest.config import _iter_rewritable_modules
113
from _pytest.config.findpaths import determine_setup
114
from _pytest.config.findpaths import get_common_ancestor
115
Index: pytest-3.10.1/testing/test_entry_points.py
116
===================================================================
117
--- pytest-3.10.1.orig/testing/test_entry_points.py
118
+++ pytest-3.10.1/testing/test_entry_points.py
119
120
from __future__ import division
121
from __future__ import print_function
122
123
-import importlib_metadata
124
+from _pytest.compat import importlib_metadata
125
126
127
def test_pytest_entry_points_are_identical():
128