Cover broken job command paths with integration tests#146
Merged
Conversation
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.
Non-technical summary
This closes the remaining test gap around clauck's broken-job recovery commands.
clauck broken,clauck revive, andclauck discardnow have direct command-level coverage, so future changes to the tombstone flow are less likely to regress silently.Why this matters now: issue #124 is still open on
main, and the repo has already needed follow-up fixes in these revive paths. The helper-level tests were no longer enough proof for the user-facing command surface.The system is better afterward because the recovery flow now has a stronger safety net across happy paths, DAG resume behavior, and operator-facing failures.
Technical summary
tests/test_clauck.pyto cover:cmd_brokenempty outputcmd_brokentable output with stale markers and stable ordering proofcmd_discardremoval counts and missing-tombstone behaviortests/test_clauck_revive.pyto cover:dag-runner.py --resumeRelevant intent: this advances clauck's inspectability and trust-via-proof contract by ensuring the user-facing recovery commands have observable, durable regression coverage.
Tests:
python3 -m unittest -v tests.test_clauck tests.test_clauck_revivepython3 -m unittest discover tests -vBreaking changes: none.
Additional notes
Trade-off: this does not add end-to-end subprocess execution for revive; it stays at the command boundary with
subprocess.Popenmocked so the suite remains fast and isolated.Deferred follow-up: issue #124 mentioned broader integration coverage for these command flows. This PR covers the command branches directly, but does not add real spawned-job fixtures beyond the existing
run-job.shresume-precedence test.Remaining gap: if the repo later wants deeper end-to-end proof for revive side effects, that should be a separate increment rather than broadening this bounded test-only change.