Repository navigation
test(isotp): pin the documented reserved FlowStatus deadline - #489
Conversation
After one CTS-controlled block, send reserved FS 3 and 15 while N_Bs is already running. Verify that neither aborts nor re-arms the send, and that the original virtual deadline still ends it with an N_Bs timeout. This characterizes the documented current contract; the ISO 15765-2 norm question in #353 remains open. No production behaviour is changed. Mutation checks (compiled, runtime-red, sources restored): - Decode reserved FS as Wait: both rows fail, 500 ms instead of 300 ms. - Decode reserved FS as Overflow: both rows fail on premature completion. Refs #353
PR SummaryLow Risk Overview After CTS with block size 1 and one CF, virtual time advances 200 ms before injecting a reserved FC. The test asserts the send stays in flight, N_Bs is not re-armed (unlike Wait), the timer still shows 300 ms remaining, and the transfer eventually fails with Reviewed by Cursor Bugbot for commit 89bb779. Bugbot is set up for automated code reviews on this repo. Configure here. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
What does this change?
Adds the channel-level reserved-FlowStatus characterization missing from #353. After a CTS-controlled block, reserved FS 3 and 15 must leave the send pending and preserve its original N_Bs deadline, then end with an N_Bs timeout. Advancing virtual time before the reserved FC distinguishes dropping it from incorrectly treating it as Wait.
This tests the current documented contract. The ISO 15765-2 decision between dropping a reserved FS and immediately aborting remains open; no production behaviour or conformance claim changes.
Refs #353
Type of change
feat— new behaviour (minor release)fix/perf— bug or performance fix (patch release)docs/test/refactor/chore/ci— no releaseChecklist
-p:CI=true, test (net10.0),dotnet format --verify-no-changes, and fresh pack +eng/verify-packages.pyall pass locallyValidation
Only the integration-test file changes. Remaining norm-dependent #353 items stay open.
Final CI and reviews
Final head:
89bb779f9283ea63484d755288da434ee63dcb4e. CI 41235246091 is fully green: Linux/macOS/Windows net10.0, Windows net48, format, release configuration, traceability, commit subjects and pack/SBOM dry run. CodeQL 41235245969, Codecov patch and Snyk pass. Codex and Cursor Bugbot completed on this head without findings; no review threads are open.