Skip to content

Test the exit-code contract, and fill the last empty test project - #10

Merged
ivanvyd merged 1 commit into
mainfrom
test/exit-code-contract
Aug 1, 2026
Merged

Test the exit-code contract, and fill the last empty test project#10
ivanvyd merged 1 commit into
mainfrom
test/exit-code-contract

Conversation

@ivanvyd

@ivanvyd ivanvyd commented Aug 1, 2026

Copy link
Copy Markdown
Owner

docs/commands.md states that an existing exit code never changes meaning, and scripts branch on it. Nothing tested that, and LakeSpeak.Cli.Tests was an empty project — the same decorative-project problem the live suite had before PR #9.

Sixteen tests pin the mapping from every GenieFailureKind, the documented numbers themselves, that every kind is mapped at all, and that only success is zero.

Found by running the auto-development pipeline's requirements-traceability gate against the shipped code.

109 tests green.

docs/commands.md promises that an existing exit code never changes meaning, and
scripts branch on that. Nothing tested it: ExitCode.From had no coverage, and
LakeSpeak.Cli.Tests was an empty project — the same decorative-project problem the
live test suite had.

Sixteen tests now pin the mapping from every GenieFailureKind, the documented
numbers themselves, that every kind is mapped at all, and that only success is
zero. A renumbering refactor or a new failure kind added without a mapping now
fails the build instead of surfacing when a user first hits that failure.
@ivanvyd
ivanvyd merged commit a090421 into main Aug 1, 2026
10 checks passed
@ivanvyd
ivanvyd deleted the test/exit-code-contract branch August 1, 2026 06:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant