mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
Report requested_extras for editable requirements
This commit is contained in:
parent
2f271838e7
commit
5bfccfd62d
2 changed files with 49 additions and 1 deletions
|
@ -79,7 +79,7 @@ def make_install_req_from_editable(
|
|||
link: Link, template: InstallRequirement
|
||||
) -> InstallRequirement:
|
||||
assert template.editable, "template not editable"
|
||||
return install_req_from_editable(
|
||||
ireq = install_req_from_editable(
|
||||
link.url,
|
||||
user_supplied=template.user_supplied,
|
||||
comes_from=template.comes_from,
|
||||
|
@ -91,6 +91,8 @@ def make_install_req_from_editable(
|
|||
hash_options=template.hash_options,
|
||||
config_settings=template.config_settings,
|
||||
)
|
||||
ireq.extras = template.extras
|
||||
return ireq
|
||||
|
||||
|
||||
def _make_install_req_from_dist(
|
||||
|
|
|
@ -224,6 +224,52 @@ def test_install_report_local_path_with_extras(
|
|||
assert "requested_extras" not in simple_report
|
||||
|
||||
|
||||
@pytest.mark.network
|
||||
def test_install_report_editable_local_path_with_extras(
|
||||
script: PipTestEnvironment, tmp_path: Path, shared_data: TestData
|
||||
) -> None:
|
||||
"""Test report remote editable."""
|
||||
project_path = tmp_path / "pkga"
|
||||
project_path.mkdir()
|
||||
project_path.joinpath("pyproject.toml").write_text(
|
||||
textwrap.dedent(
|
||||
"""\
|
||||
[project]
|
||||
name = "pkga"
|
||||
version = "1.0"
|
||||
|
||||
[project.optional-dependencies]
|
||||
test = ["simple"]
|
||||
"""
|
||||
)
|
||||
)
|
||||
report_path = tmp_path / "report.json"
|
||||
script.pip(
|
||||
"install",
|
||||
"--dry-run",
|
||||
"--no-build-isolation",
|
||||
"--no-index",
|
||||
"--find-links",
|
||||
str(shared_data.root / "packages/"),
|
||||
"--report",
|
||||
str(report_path),
|
||||
"--editable",
|
||||
str(project_path) + "[test]",
|
||||
)
|
||||
report = json.loads(report_path.read_text())
|
||||
assert len(report["install"]) == 2
|
||||
pkga_report = report["install"][0]
|
||||
assert pkga_report["metadata"]["name"] == "pkga"
|
||||
assert pkga_report["is_direct"] is True
|
||||
assert pkga_report["requested"] is True
|
||||
assert pkga_report["requested_extras"] == ["test"]
|
||||
simple_report = report["install"][1]
|
||||
assert simple_report["metadata"]["name"] == "simple"
|
||||
assert simple_report["is_direct"] is False
|
||||
assert simple_report["requested"] is False
|
||||
assert "requested_extras" not in simple_report
|
||||
|
||||
|
||||
def test_install_report_to_stdout(
|
||||
script: PipTestEnvironment, shared_data: TestData
|
||||
) -> None:
|
||||
|
|
Loading…
Reference in a new issue