Repository navigation
[CI] test: keep relay correction fixtures alive through the minimum connection age - #26389
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe test helper now captures the source session’s control-ping callback and advances the test clock in ping-interval steps until the minimum control age is reached. It checks pong completion, pending-ping state, and renewal progress before recording a heartbeat. Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to No concrete issue requiring a fix before merge was established. The relay tests and CI still need to complete. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ELI5
Three relay correction tests started with a brand-new connection, but the relay now requires three minutes of connected time before an idle move. They failed before reaching the behavior they were meant to check.
What Changed
The existing fixture now advances its injected clock in normal heartbeat increments. It calls the original heartbeat callback, waits for the real matching pong and any due database renewal, then refreshes the cell report. All three existing cases, assertions and thirty-second deadlines remain unchanged. Production code is unchanged.
Why
This exercises the new minimum connection age without waiting three wall-clock minutes or bypassing live connection and database lease checks. A single clock jump would expire those leases and test a different behavior.
Linked Issue
Fixes the relay CI failures blocking #26384.
Visual Proof
N/A — test fixture only; no user interface changes.
Testing
Before: run 37711195460 had 13 passed, 3 failed across the two relay contract files. The failures were two unexpected busy results and one wait for a commit that never started. After: run 37714088463, relay job 113107236200, has 16 passed, 0 failed, 0 skipped. The passing job ran on PR merge source
f0848fdb3ee7698e2b2ed1180d7fc412a6d8e922, which includes newer main changes; the fixture file matches this PR exactly. This is a correctness repair; failed-run durations are not a speed measurement.The local e2e typecheck is not clean: 246 diagnostics include unavailable cloud packages and unrelated test errors. Its only diagnostic in this file is at the existing configuration cast on line 87; no new heartbeat lines were reported. Native relay tests run in CI, with background launching enabled.
Review
The timer spy passes through to the original implementation and is restored in
finallybefore clock advancement. Callback selection requires the exact source-session timer handle and heartbeat interval. Real socket handling and database batching remain active.Agent skill upstream boundary
Notes
Test-only fixture; no runtime, protocol, cross-platform, SSH or mobile behavior changes. No new local-only production assumptions.
Checklist