From 0805c7a27f1f699d09b57645546ff5e6eef61755 Mon Sep 17 00:00:00 2001 From: Mika Date: Fri, 27 Feb 2026 10:56:50 +0000 Subject: [PATCH] Add setup_fingerprint_check/src/setup_fingerprint_check/cli.py --- .../src/setup_fingerprint_check/cli.py | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 setup_fingerprint_check/src/setup_fingerprint_check/cli.py diff --git a/setup_fingerprint_check/src/setup_fingerprint_check/cli.py b/setup_fingerprint_check/src/setup_fingerprint_check/cli.py new file mode 100644 index 0000000..4d85346 --- /dev/null +++ b/setup_fingerprint_check/src/setup_fingerprint_check/cli.py @@ -0,0 +1,41 @@ +import argparse +import sys +from setup_fingerprint_check.core import check_setup_fingerprint + + +def main() -> None: + """CLI entrypoint for setup fingerprint verification.""" + parser = argparse.ArgumentParser( + description="Verify that the current setup fingerprint matches the expected one." + ) + parser.add_argument( + "--expected", + required=True, + help="Expected fingerprint of the test setup.", + ) + + args = parser.parse_args() + + expected_fingerprint: str = args.expected.strip() + + # Basic validation for input integrity + if not expected_fingerprint: + print("Error: Expected fingerprint cannot be empty.", file=sys.stderr) + sys.exit(1) + + try: + matches = check_setup_fingerprint(expected_fingerprint) + except Exception as exc: # noqa: BLE001 + print(f"Error: Fingerprint verification failed ({exc}).", file=sys.stderr) + sys.exit(1) + + if matches: + print("valid") + sys.exit(0) + else: + print("mismatch") + sys.exit(1) + + +if __name__ == "__main__": + main()