MCPcopy
hub / github.com/pex-tool/pex / test_resolve_extra_setup_py

Function test_resolve_extra_setup_py

tests/test_resolver.py:267–292  ·  view source on GitHub ↗
(tmpdir)

Source from the content-addressed store, hash-verified

265
266
267def test_resolve_extra_setup_py(tmpdir):
268 # type: (Tempdir) -> None
269 with make_source_dir(
270 name="project1", version="1.0.0", extras_require={"foo": ["project2"]}
271 ) as project1_dir:
272 project2_wheel = build_wheel(name="project2", version="2.0.0")
273 safe_copy(project2_wheel, tmpdir.join(os.path.basename(project2_wheel)))
274 result = resolve(
275 requirements=[parse_requirement_string("setuptools")],
276 build_configuration=BuildConfiguration.create(allow_builds=False),
277 result_type=InstallableType.WHEEL_FILE,
278 )
279 for resolved_dist in result.distributions:
280 safe_copy(
281 resolved_dist.distribution.location,
282 tmpdir.join(os.path.basename(resolved_dist.distribution.location)),
283 )
284
285 resolved_dists = local_resolve(
286 requirements=[parse_requirement_string("{}[foo]".format(project1_dir))],
287 repos_configuration=ReposConfiguration.create(find_links=[Repo(tmpdir.path)]),
288 )
289 assert {_parse_requirement(req) for req in ("project1==1.0.0", "project2==2.0.0")} == {
290 _parse_requirement(resolved_dist.distribution.as_requirement())
291 for resolved_dist in resolved_dists
292 }
293
294
295def test_resolve_extra_wheel():

Callers

nothing calls this directly

Calls 11

make_source_dirFunction · 0.90
safe_copyFunction · 0.90
parse_requirement_stringFunction · 0.90
RepoClass · 0.90
local_resolveFunction · 0.85
_parse_requirementFunction · 0.85
build_wheelFunction · 0.70
resolveFunction · 0.70
joinMethod · 0.45
createMethod · 0.45
as_requirementMethod · 0.45

Tested by

no test coverage detected