from __future__ import annotations import os import shutil import subprocess from pathlib import Path import pytest PROJECT_ROOT = Path(__file__).resolve().parents[1] def test_wheel_build_requires_go(tmp_path: Path) -> None: uv = shutil.which("uv") if uv is None: pytest.skip("uv is required for the packaging smoke test") env = os.environ.copy() env["PATH"] = str(tmp_path / "path-without-go") result = subprocess.run( # noqa: S603 [uv, "build", "--wheel", "--out-dir", str(tmp_path / "dist")], cwd=PROJECT_ROOT, env=env, check=False, capture_output=True, text=True, ) assert result.returncode != 0 assert "Go 1.24 or newer is required" in result.stdout + result.stderr