cli: pin the frozen argv grammar as one table #206
No reviewers
Labels
No labels
priority/P0
priority/P1
priority/P2
release/v0.1.0
status/blocked
status/planned
type/bug
type/design
type/test-gap
type/tracker
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
natsukium/felis!206
Loading…
Reference in a new issue
No description provided.
Delete branch "test/argv-matrix-185"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #185.
The argv grammar the CLI surface has already frozen was pinned only by scattered individual assertions, or not asserted at all: a refactor that loosened one rule could land unnoticed. This adds one table-driven test per rule in
crates/felis-cli/src/tests.rs, each stating the argv line and its outcome class, including the exit code a usage error owes its caller.Rules covered: a program for
sessions spawnonly after--; the removed profiling and framing flags staying unknown arguments; a framing outside the verb's class;--rawwithout a payload; no frontend pass-through outsidefrontend.Doc cascade: none — the change is test-only and documents no new behavior; the visible surface is already covered by
docs/reference/cli.mdand the help snapshots from #187.Verified: just check green (fmt, clippy, nextest, deny, proto-compat); reviewed by pi luna + pi sol; docs proofread by Gemini gemini-3.8-flash-high
Deferred
the_removed_trace_perf_flag_is_an_unknown_argument,the_retired_json_flag_is_an_unknown_argument,each_verb_accepts_only_its_own_classs_format,felis_ssh_is_not_a_verb) into the new table — the plan makes deletion optional, and those tests assert extra structure (the frontend pass-through payload, per-verb exhaustiveness of the point/stream classification) that the outcome-class table does not carry, so removing them would lose coverage.felis-clientandfelis-daemon serveargv — the accepted triage plan re-scoped this issue to the felis-cli parser matrix only; the public help surface of those binaries is covered by the help snapshot from #187.