fix for missing pyvenv.cfg with virtualenvs.create=false (#8672) · python-poetry/poetry@4b8c6a0 (original) (raw)
`@@ -1375,30 +1375,50 @@ def test_venv_has_correct_paths(tmp_venv: VirtualEnv) -> None:
`
1375
1375
` )
`
1376
1376
``
1377
1377
``
1378
``
`-
def test_env_system_packages(tmp_path: Path, poetry: Poetry) -> None:
`
``
1378
`+
@pytest.mark.parametrize("with_system_site_packages", [True, False])
`
``
1379
`+
def test_env_system_packages(
`
``
1380
`+
tmp_path: Path, poetry: Poetry, with_system_site_packages: bool
`
``
1381
`+
) -> None:
`
1379
1382
`venv_path = tmp_path / "venv"
`
1380
1383
`pyvenv_cfg = venv_path / "pyvenv.cfg"
`
1381
1384
``
1382
``
`-
EnvManager(poetry).build_venv(path=venv_path, flags={"system-site-packages": True})
`
``
1385
`+
EnvManager(poetry).build_venv(
`
``
1386
`+
path=venv_path, flags={"system-site-packages": with_system_site_packages}
`
``
1387
`+
)
`
1383
1388
`env = VirtualEnv(venv_path)
`
1384
1389
``
1385
``
`-
assert "include-system-site-packages = true" in pyvenv_cfg.read_text()
`
1386
``
`-
assert env.includes_system_site_packages
`
``
1390
`+
assert (
`
``
1391
`+
f"include-system-site-packages = {str(with_system_site_packages).lower()}"
`
``
1392
`+
in pyvenv_cfg.read_text()
`
``
1393
`+
)
`
``
1394
`+
assert env.includes_system_site_packages is with_system_site_packages
`
``
1395
+
1387
1396
``
``
1397
`+
def test_generic_env_system_packages(poetry: Poetry) -> None:
`
``
1398
`+
"""https://github.com/python-poetry/poetry/issues/8646"""
`
``
1399
`+
env = GenericEnv(Path(sys.base_prefix))
`
``
1400
`+
assert not env.includes_system_site_packages
`
1388
1401
``
``
1402
+
``
1403
`+
@pytest.mark.parametrize("with_system_site_packages", [True, False])
`
1389
1404
`def test_env_system_packages_are_relative_to_lib(
`
1390
``
`-
tmp_path: Path, poetry: Poetry
`
``
1405
`+
tmp_path: Path, poetry: Poetry, with_system_site_packages: bool
`
1391
1406
`) -> None:
`
1392
1407
`venv_path = tmp_path / "venv"
`
1393
``
`-
EnvManager(poetry).build_venv(path=venv_path, flags={"system-site-packages": True})
`
``
1408
`+
EnvManager(poetry).build_venv(
`
``
1409
`+
path=venv_path, flags={"system-site-packages": with_system_site_packages}
`
``
1410
`+
)
`
1394
1411
`env = VirtualEnv(venv_path)
`
1395
1412
`site_dir = Path(site.getsitepackages()[-1])
`
1396
1413
`for dist in metadata.distributions():
`
1397
1414
`# Emulate is_relative_to, only available in 3.9+
`
1398
1415
`with contextlib.suppress(ValueError):
`
1399
1416
`dist._path.relative_to(site_dir) # type: ignore[attr-defined]
`
1400
1417
`break
`
1401
``
`-
assert env.is_path_relative_to_lib(dist._path) # type: ignore[attr-defined]
`
``
1418
`+
assert (
`
``
1419
`+
env.is_path_relative_to_lib(dist._path) # type: ignore[attr-defined]
`
``
1420
`+
is with_system_site_packages
`
``
1421
`+
)
`
1402
1422
``
1403
1423
``
1404
1424
`@pytest.mark.parametrize(
`