Files
tracer-cloud--opensre/tests/cli/test_command_help_sync.py
T
wehub-resource-sync 4b6817381b
Benchmark image — build + push to ECR (any adapter) / build + push (push) Waiting to run
CI / quality (ubuntu-latest) (push) Waiting to run
CI / test (tools-runtime) (push) Waiting to run
CI / test (e2e-general) (push) Waiting to run
CI / test (cli-runtime) (push) Waiting to run
CI / test (e2e-provider-and-openclaw) (push) Waiting to run
CI / test (integrations-and-misc) (push) Waiting to run
CI / coverage-report (push) Blocked by required conditions
CI / test-kubernetes (push) Waiting to run
CI / should-run-thorough (push) Waiting to run
CI / test-thorough (cloudwatch-demo) (push) Blocked by required conditions
CI / test-thorough (flink-ecs) (push) Blocked by required conditions
CI / test-thorough (upstream-lambda) (push) Blocked by required conditions
CI / test-thorough (prefect-ecs-fargate) (push) Blocked by required conditions
CodeQL / Analyze (python) (push) Waiting to run
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Blocked by required conditions
Release / publish-release (push) Blocked by required conditions
Release / publish-main-release (push) Blocked by required conditions
Release / prepare (push) Waiting to run
Release / verify (push) Blocked by required conditions
Release / build-python-dist (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Blocked by required conditions
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Blocked by required conditions
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Waiting to run
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Waiting to run
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Waiting to run
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:10:45 +08:00

34 lines
1.3 KiB
Python

"""Regression test: CLI command registration must stay in sync with help copy.
The root help view derives its command list from the live Click group at runtime.
This test ensures that every command registered in `_COMMANDS` is represented in
that derived help command list (and vice versa).
"""
from __future__ import annotations
from surfaces.cli.__main__ import cli
from surfaces.cli.commands import _COMMANDS
from surfaces.interactive_shell.ui.layout import _commands_from_group
def test_registered_commands_match_help_table() -> None:
registered = {cmd.name for cmd in _COMMANDS}
assert None not in registered, (
"A command in _COMMANDS has no name set. "
"Ensure every click.Command is decorated with an explicit name."
)
documented = {name for name, _ in _commands_from_group(cli)}
missing_from_help = registered - documented
missing_from_registry = documented - registered
assert not missing_from_help, (
f"Commands registered in _COMMANDS but missing from the rendered help list: {missing_from_help}. "
"Ensure the root CLI group is registering all commands."
)
assert not missing_from_registry, (
f"Commands shown in the rendered help list but not registered in _COMMANDS: {missing_from_registry}. "
"Add the command to _COMMANDS in surfaces/cli/commands/__init__.py."
)