Files
pkgmgr/tests/e2e/test_install_pkgmgr_three_times_nix.py
Kevin Veen-Birkenbach 8294bce436 style: autoformat src and tests
Repository-wide formatting pass over src/ and tests/: sorted imports and
__all__ entries, dropped redundant `# -*- coding: utf-8 -*-` headers,
unquoted forward-reference annotations (safe under
`from __future__ import annotations`), merged nested `with` statements,
moved `Iterable` and friends from `typing` to `collections.abc`, and
removed `# noqa: F401` markers that no longer suppress anything.

No behavioural changes. Unit and integration suites show the same four
pre-existing failures before and after the pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 15:17:35 +02:00

38 lines
1.3 KiB
Python

import os
import tempfile
import unittest
from pathlib import Path
from tests.e2e._util import run
class TestPkgmgrInstallThreeTimesNix(unittest.TestCase):
def test_three_times_install_nix(self):
with tempfile.TemporaryDirectory(prefix="pkgmgr-nix-") as tmp:
tmp_path = Path(tmp)
env = os.environ.copy()
env["HOME"] = tmp
# Ensure nix is found
env["PATH"] = "/nix/var/nix/profiles/default/bin:" + os.environ.get(
"PATH", ""
)
# IMPORTANT:
# nix run uses git+file:///src internally -> Git will reject /src if it's not a safe.directory.
# Our test sets HOME to a temp dir, so we must provide a temp global gitconfig.
gitconfig = tmp_path / ".gitconfig"
gitconfig.write_text(
"[safe]\n\tdirectory = /src\n\tdirectory = /src/.git\n\tdirectory = *\n"
)
env["GIT_CONFIG_GLOBAL"] = str(gitconfig)
for i in range(1, 4):
print(f"\n=== RUN {i}/3 ===")
run(
"nix run .#pkgmgr -- install pkgmgr --update --clone-mode shallow --no-verification",
env=env,
shell=True,
)