docs: cover from the edge, and keep the coverage floor - #911
Merged
Merged
Conversation
The 92% line floor and the CRAP gate stay. A lower-level test comes out only once a surface journey already hits those lines. A branch no peer, client, or operator can trigger is deleted instead of given a private helper test. Say that in TESTING.md, and point CONTRIBUTING, AGENTS, and the planning cycle at that rule.
A 200ms client send is not a full TCP window. On a busy runner that timeout is scheduler delay; the test then stops writing, the session sits idle, and the write deadline never starts. Linux also autotunes SO_SNDBUF and the peer receive window, so write() keeps completing until several MiB have been queued or ACKed. Pin both buffers and keep sending until the stalled write resets the socket.
3 tasks done
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.
Summary
The 92% production line floor and the CRAP gate stay. This updates the docs agents read so those gates are held by covering a line from a surface journey, or by deleting a branch no peer, client, or operator can trigger. A private-helper test is not how a red coverage or CRAP job goes green.
TESTING.mdowns the rule.CONTRIBUTING.md,AGENTS.md, anddocs/how-we-plan.mdpoint at it and do not restate the procedure. Catalog cells that said "keep this unit" now name the result the journey asserts. No CI scripts change.The same branch also fixes
client_that_stops_reading_is_dropped_at_the_write_deadline, which failed the requiredtestjob twice. A 200ms client send is not a full window: on a busy runner the test stopped writing while the session was idle, so the write deadline never started. Linux autotunes bothSO_SNDBUFand the peer receive window, andwrite()keeps completing until several MiB are queued or ACKed. The test now pins both buffers and keeps sending until that stalled write resets the socket.Test plan
cargo test -p rbitcoin-sv2 --liband clippy-D warningsfor that crate. The deadline test passed 8 times locally.qc,test,windows,macos,coverage.