Skip to content

Commit 5ccf50e

Browse files
authored
Merge pull request #5006 from pypa/feature/remove-more-pkg_resources
Removed pkg_resources from test_wheel.
2 parents 0cb446c + 134e587 commit 5ccf50e

File tree

2 files changed

+11
-35
lines changed

2 files changed

+11
-35
lines changed

newsfragments/3085.feature.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Removed reliance on pkg_resources in test_wheel.

setuptools/tests/test_wheel.py

Lines changed: 10 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import inspect
88
import os
99
import pathlib
10-
import shutil
1110
import stat
1211
import subprocess
1312
import sys
@@ -18,9 +17,8 @@
1817
import pytest
1918
from jaraco import path
2019
from packaging.tags import parse_tag
21-
from packaging.utils import canonicalize_name
2220

23-
from pkg_resources import Distribution, PathMetadata
21+
from setuptools._importlib import metadata
2422
from setuptools.wheel import Wheel
2523

2624
from .contexts import tempdir
@@ -160,15 +158,13 @@ def _check_wheel_install(
160158
exp = tree_set(install_dir)
161159
assert install_tree.issubset(exp), install_tree - exp
162160

163-
metadata = PathMetadata(egg_path, os.path.join(egg_path, 'EGG-INFO'))
164-
dist = Distribution.from_filename(egg_path, metadata=metadata)
165-
assert dist.project_name == project_name
166-
assert dist.version == version
167-
if requires_txt is None:
168-
assert not dist.has_metadata('requires.txt')
169-
else:
170-
# Order must match to ensure reproducibility.
171-
assert requires_txt == dist.get_metadata('requires.txt').lstrip()
161+
(dist,) = metadata.Distribution.discover(path=[egg_path])
162+
163+
# pyright is nitpicky; fine to assume dist.metadata.__getitem__ will fail or return None
164+
# (https://github.com/pypa/setuptools/pull/5006#issuecomment-2894774288)
165+
assert dist.metadata['Name'] == project_name # pyright: ignore # noqa: PGH003
166+
assert dist.metadata['Version'] == version # pyright: ignore # noqa: PGH003
167+
assert dist.read_text('requires.txt') == requires_txt
172168

173169

174170
class Record:
@@ -407,7 +403,8 @@ def __repr__(self) -> str:
407403
extras_require={
408404
'extra': f'foobar; {sys.platform!r} != sys_platform',
409405
},
410-
requires_txt=DALS(
406+
requires_txt='\n'
407+
+ DALS(
411408
"""
412409
[extra]
413410
"""
@@ -579,28 +576,6 @@ def test_wheel_install(params):
579576
)
580577

581578

582-
def test_wheel_install_pep_503():
583-
project_name = 'Foo_Bar' # PEP 503 canonicalized name is "foo-bar"
584-
version = '1.0'
585-
with (
586-
build_wheel(
587-
name=project_name,
588-
version=version,
589-
) as filename,
590-
tempdir() as install_dir,
591-
):
592-
new_filename = filename.replace(project_name, canonicalize_name(project_name))
593-
shutil.move(filename, new_filename)
594-
_check_wheel_install(
595-
new_filename,
596-
install_dir,
597-
None,
598-
canonicalize_name(project_name),
599-
version,
600-
None,
601-
)
602-
603-
604579
def test_wheel_no_dist_dir():
605580
project_name = 'nodistinfo'
606581
version = '1.0'

0 commit comments

Comments
 (0)