35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
|
|
from tests.e2e._util import run
|
||
|
|
import tempfile
|
||
|
|
import unittest
|
||
|
|
from pathlib import Path
|
||
|
|
import os
|
||
|
|
|
||
|
|
|
||
|
|
class TestPkgmgrInstallThreeTimesVenv(unittest.TestCase):
|
||
|
|
def test_three_times_install_venv(self):
|
||
|
|
with tempfile.TemporaryDirectory(prefix="pkgmgr-venv-") as tmp:
|
||
|
|
home = Path(tmp)
|
||
|
|
bin_dir = home / ".local" / "bin"
|
||
|
|
bin_dir.mkdir(parents=True)
|
||
|
|
|
||
|
|
env = os.environ.copy()
|
||
|
|
env["HOME"] = tmp
|
||
|
|
|
||
|
|
# pkgmgr kommt aus dem Projekt-venv
|
||
|
|
env["PATH"] = (
|
||
|
|
f"{Path.cwd() / '.venv' / 'bin'}:"
|
||
|
|
f"{bin_dir}:"
|
||
|
|
+ os.environ.get("PATH", "")
|
||
|
|
)
|
||
|
|
|
||
|
|
# nix explizit deaktivieren → Python/Venv-Pfad
|
||
|
|
env["PKGMGR_DISABLE_NIX_FLAKE_INSTALLER"] = "1"
|
||
|
|
|
||
|
|
for i in range(1, 4):
|
||
|
|
print(f"\n=== RUN {i}/3 ===")
|
||
|
|
run(
|
||
|
|
"pkgmgr install pkgmgr --update --clone-mode shallow --no-verification",
|
||
|
|
env=env,
|
||
|
|
shell=True,
|
||
|
|
)
|