Skip to content

Commit 03ec38b

Browse files
committed
Fixup test for modern Pip.
1 parent a4dea76 commit 03ec38b

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

tests/test_resolver.py

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from pex.common import safe_copy, safe_mkdtemp, temporary_dir
1717
from pex.dist_metadata import Distribution, Requirement
1818
from pex.interpreter import PythonInterpreter
19+
from pex.pep_427 import InstallableType
1920
from pex.pip.version import PipVersion
2021
from pex.resolve import abbreviated_platforms
2122
from pex.resolve.configured_resolver import ConfiguredResolver
@@ -41,6 +42,7 @@
4142
make_source_dir,
4243
subprocess,
4344
)
45+
from testing.pytest_utils.tmp import Tempdir
4446

4547
if TYPE_CHECKING:
4648
from typing import Any, DefaultDict, Iterable, Iterator, List, Union
@@ -259,23 +261,32 @@ def _parse_requirement(req):
259261
return Requirement.parse(req)
260262

261263

262-
def test_resolve_extra_setup_py():
263-
# type: () -> None
264+
def test_resolve_extra_setup_py(tmpdir):
265+
# type: (Tempdir) -> None
264266
with make_source_dir(
265267
name="project1", version="1.0.0", extras_require={"foo": ["project2"]}
266268
) as project1_dir:
267269
project2_wheel = build_wheel(name="project2", version="2.0.0")
268-
with temporary_dir() as td:
269-
safe_copy(project2_wheel, os.path.join(td, os.path.basename(project2_wheel)))
270-
271-
resolved_dists = local_resolve(
272-
requirements=["{}[foo]".format(project1_dir)],
273-
repos_configuration=ReposConfiguration.create(find_links=[Repo(td)]),
270+
safe_copy(project2_wheel, tmpdir.join(os.path.basename(project2_wheel)))
271+
result = resolve(
272+
requirements=["setuptools"],
273+
build_configuration=BuildConfiguration.create(allow_builds=False),
274+
result_type=InstallableType.WHEEL_FILE,
275+
)
276+
for resolved_dist in result.distributions:
277+
safe_copy(
278+
resolved_dist.distribution.location,
279+
tmpdir.join(os.path.basename(resolved_dist.distribution.location)),
274280
)
275-
assert {_parse_requirement(req) for req in ("project1==1.0.0", "project2==2.0.0")} == {
276-
_parse_requirement(resolved_dist.distribution.as_requirement())
277-
for resolved_dist in resolved_dists
278-
}
281+
282+
resolved_dists = local_resolve(
283+
requirements=["{}[foo]".format(project1_dir)],
284+
repos_configuration=ReposConfiguration.create(find_links=[Repo(tmpdir.path)]),
285+
)
286+
assert {_parse_requirement(req) for req in ("project1==1.0.0", "project2==2.0.0")} == {
287+
_parse_requirement(resolved_dist.distribution.as_requirement())
288+
for resolved_dist in resolved_dists
289+
}
279290

280291

281292
def test_resolve_extra_wheel():

0 commit comments

Comments
 (0)