mirror of https://github.com/pypa/pip
Merge pull request #8286 from uranusjr/read-root-extras-correctly
Always read InstallRequirement.extras
This commit is contained in:
commit
278ac2d67f
|
@ -55,7 +55,7 @@ class SpecifierRequirement(Requirement):
|
|||
assert ireq.link is None, "This is a link, not a specifier"
|
||||
self._ireq = ireq
|
||||
self._factory = factory
|
||||
self.extras = ireq.req.extras
|
||||
self.extras = set(ireq.extras)
|
||||
|
||||
def __str__(self):
|
||||
# type: () -> str
|
||||
|
|
|
@ -189,7 +189,40 @@ def test_new_resolver_ignore_dependencies(script):
|
|||
assert_not_installed(script, "dep")
|
||||
|
||||
|
||||
def test_new_resolver_installs_extras(script):
|
||||
@pytest.mark.parametrize(
|
||||
"root_dep",
|
||||
[
|
||||
"base[add]",
|
||||
"base[add] >= 0.1.0",
|
||||
# Non-standard syntax. To deprecate, see pypa/pip#8288.
|
||||
"base >= 0.1.0[add]",
|
||||
],
|
||||
)
|
||||
def test_new_resolver_installs_extras(tmpdir, script, root_dep):
|
||||
req_file = tmpdir.joinpath("requirements.txt")
|
||||
req_file.write_text(root_dep)
|
||||
|
||||
create_basic_wheel_for_package(
|
||||
script,
|
||||
"base",
|
||||
"0.1.0",
|
||||
extras={"add": ["dep"]},
|
||||
)
|
||||
create_basic_wheel_for_package(
|
||||
script,
|
||||
"dep",
|
||||
"0.1.0",
|
||||
)
|
||||
script.pip(
|
||||
"install", "--unstable-feature=resolver",
|
||||
"--no-cache-dir", "--no-index",
|
||||
"--find-links", script.scratch_path,
|
||||
"-r", req_file,
|
||||
)
|
||||
assert_installed(script, base="0.1.0", dep="0.1.0")
|
||||
|
||||
|
||||
def test_new_resolver_installs_extras_warn_missing(script):
|
||||
create_basic_wheel_for_package(
|
||||
script,
|
||||
"base",
|
||||
|
|
Loading…
Reference in New Issue