test: verify the omachat-ctl executable contract - #229
Merged
Conversation
Exercise hello, core commands, JSON, exit codes, timeouts and invalid responses against a deterministic IPC peer. Refs #23.
tcballard
marked this pull request as ready for review
September 4, 2026 23:43
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Refs #23. Verify the real
omachat-ctlexecutable's scripting contract without changing production code.Seven tests use a deterministic Unix-socket peer to exercise command arguments and hello negotiation, repeatable single-line JSON, plain redirected output, meaningful exit codes, version and remote errors, five-second timeouts at both request boundaries, and malformed/oversized/uncorrelated/disconnected replies.
The follow-up review removes redundant JSON parsing, ANSI and equality assertions and the output collection. Each invocation still must match the exact expected JSON bytes.
Clarify existing exit codes in the man page and document the test command. Add the already-locked
tempfile = "=3.27.0"as a dev dependency: one lockfile dependency edge, no new packages or versions.Verification
For head
e8417f698aaaa4af3ce67c73a52724e61baa5eed:This is independent of #228 and does not implement event consumption (#223) or modify contributor work in #224/#226. Hermetic tests do not establish live-phone or target-host conformance.