Files
pkgmgr/tests/e2e/test_publish_commands.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

70 lines
2.0 KiB
Python

from __future__ import annotations
import os
import shutil
import subprocess
import unittest
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
def _run_help(cmd: list[str], label: str) -> str:
print(f"\n[TEST] Running ({label}): {' '.join(cmd)}")
proc = subprocess.run(
cmd,
cwd=PROJECT_ROOT,
text=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
check=False,
env=os.environ.copy(),
)
print(proc.stdout.rstrip())
# For --help we expect success (0). Anything else is an error.
if proc.returncode != 0:
raise AssertionError(
f"[TEST] Help command failed ({label}).\n"
f"Command: {' '.join(cmd)}\n"
f"Exit code: {proc.returncode}\n"
f"--- output ---\n{proc.stdout}\n"
)
return proc.stdout
class TestPublishHelpE2E(unittest.TestCase):
def test_pkgmgr_publish_help(self) -> None:
out = _run_help(["pkgmgr", "publish", "--help"], "pkgmgr publish --help")
self.assertIn("usage:", out)
self.assertIn("publish", out)
def test_pkgmgr_help_mentions_publish(self) -> None:
out = _run_help(["pkgmgr", "--help"], "pkgmgr --help")
self.assertIn("publish", out)
def test_nix_run_pkgmgr_publish_help(self) -> None:
if shutil.which("nix") is None:
self.skipTest("nix is not available in this environment")
out = _run_help(
["nix", "run", ".#pkgmgr", "--", "publish", "--help"],
"nix run .#pkgmgr -- publish --help",
)
self.assertIn("usage:", out)
self.assertIn("publish", out)
def test_nix_run_pkgmgr_help_mentions_publish(self) -> None:
if shutil.which("nix") is None:
self.skipTest("nix is not available in this environment")
out = _run_help(
["nix", "run", ".#pkgmgr", "--", "--help"],
"nix run .#pkgmgr -- --help",
)
self.assertIn("publish", out)
if __name__ == "__main__":
unittest.main()