Skip to content

Commit 6a82592

Browse files
committed
conftest.py: Replace pkg_resources use with packaging
1 parent 3682edf commit 6a82592

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

html5lib/tests/conftest.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22
import os.path
33
import sys
44

5-
import pkg_resources
5+
from packaging.requirements import Requirement
6+
from packaging.markers import Marker
7+
try:
8+
from importlib import metadata
9+
except ImportError:
10+
import importlib_metadata as metadata
611
import pytest
712

813
from .tree_construction import TreeConstructionFile
@@ -63,17 +68,16 @@ def pytest_configure(config):
6368
spec, marker = line.strip().split(";", 1)
6469
else:
6570
spec, marker = line.strip(), None
66-
req = pkg_resources.Requirement.parse(spec)
67-
if marker and not pkg_resources.evaluate_marker(marker):
71+
req = Requirement(spec)
72+
if marker and not Marker(marker).evaluate():
6873
msgs.append("%s not available in this environment" % spec)
6974
else:
7075
try:
71-
installed = pkg_resources.working_set.find(req)
72-
except pkg_resources.VersionConflict:
73-
msgs.append("Outdated version of %s installed, need %s" % (req.name, spec))
74-
else:
75-
if not installed:
76-
msgs.append("Need %s" % spec)
76+
installed = metadata.version(req.name)
77+
if not req.specifier.contains(installed, prereleases=True):
78+
msgs.append("Outdated version of %s installed, need %s" % (req.name, spec))
79+
except metadata.PackageNotFoundError:
80+
msgs.append("Need %s" % spec)
7781

7882
# Check cElementTree
7983
import xml.etree.ElementTree as ElementTree

requirements-test.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,5 @@ coverage>=5.1,<6
88
pytest-expect>=1.1.0,<2
99
mock>=3.0.5,<4 ; python_version < '3.3'
1010
setuptools; python_version >= '3.12'
11+
packaging
12+
importlib-metadata; python_version < '3.8'

0 commit comments

Comments
 (0)