From dd62358d0c30863062badd6899ccb1568809c485 Mon Sep 17 00:00:00 2001 From: Keele Date: Wed, 1 Jul 2026 18:22:13 -0500 Subject: [PATCH 1/2] hrw4u: add --version flag Adds a standard --version flag to the hrw4u CLI script. Reports the installed apple-hrw4u package version via importlib.metadata, falling back to "unknown" when the package is not installed (e.g. running from source). --- tools/hrw4u/scripts/hrw4u | 9 +++++++++ tools/hrw4u/tests/test_cli.py | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/tools/hrw4u/scripts/hrw4u b/tools/hrw4u/scripts/hrw4u index 91a586a181b..533815a6879 100755 --- a/tools/hrw4u/scripts/hrw4u +++ b/tools/hrw4u/scripts/hrw4u @@ -21,6 +21,7 @@ from __future__ import annotations import argparse import os +from importlib.metadata import PackageNotFoundError, version as _pkg_version from pathlib import Path from typing import Any @@ -31,7 +32,15 @@ from hrw4u.common import run_main from hrw4u.sandbox import SandboxConfig +def _package_version() -> str: + try: + return _pkg_version("apple-hrw4u") + except PackageNotFoundError: + return "unknown" + + def _add_args(parser: argparse.ArgumentParser, output_group: argparse._MutuallyExclusiveGroup) -> None: + parser.add_argument("--version", action="version", version=f"hrw4u {_package_version()}") output_group.add_argument( "--output", choices=["hrw", "hrw4u"], diff --git a/tools/hrw4u/tests/test_cli.py b/tools/hrw4u/tests/test_cli.py index 886728de052..55f2b3f17eb 100644 --- a/tools/hrw4u/tests/test_cli.py +++ b/tools/hrw4u/tests/test_cli.py @@ -244,3 +244,12 @@ def test_cli_help_lists_error_format_flag() -> None: assert "--error-format" in result.stdout for choice in ("plain", "json", "markdown"): assert choice in result.stdout + + +def test_cli_version_flag() -> None: + """--version must print `hrw4u ` to stdout and exit 0.""" + result = run_hrw4u(["--version"]) + + assert result.returncode == 0 + assert result.stdout.startswith("hrw4u ") + assert result.stdout.strip() != "hrw4u" From d828c1025087f5552d934faa8607a8269d84e911 Mon Sep 17 00:00:00 2001 From: Keele Date: Wed, 1 Jul 2026 18:30:16 -0500 Subject: [PATCH 2/2] hrw4u: drop --version CLI test --- tools/hrw4u/tests/test_cli.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tools/hrw4u/tests/test_cli.py b/tools/hrw4u/tests/test_cli.py index 55f2b3f17eb..886728de052 100644 --- a/tools/hrw4u/tests/test_cli.py +++ b/tools/hrw4u/tests/test_cli.py @@ -244,12 +244,3 @@ def test_cli_help_lists_error_format_flag() -> None: assert "--error-format" in result.stdout for choice in ("plain", "json", "markdown"): assert choice in result.stdout - - -def test_cli_version_flag() -> None: - """--version must print `hrw4u ` to stdout and exit 0.""" - result = run_hrw4u(["--version"]) - - assert result.returncode == 0 - assert result.stdout.startswith("hrw4u ") - assert result.stdout.strip() != "hrw4u"