test(runner): stabilize heartbeat coalescing coverage - #30184
Conversation
|
API preview: https://pr-30184-api.vm6.ai |
Code Review: PR #30184Reviewed head: SummaryThe test-only manual trigger removes unrelated virtual-clock advancement while preserving the production interval and the real runner main-loop, lifecycle, provider, status, and FindingsNo findings. TestingReviewed 100 repeated target passes, the complete heartbeat module, the serial full Runner suite, strict Runner Clippy, rustdoc, formatting, and workspace Rust pre-commit checks. Parallel suite noise was limited to two unrelated legacy-marker scenarios already being replaced by #30161 / #30166. VerdictLGTM |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Summary
Why
The paused-clock test intermittently advanced unrelated runner deadlines while waiting for routine-heartbeat work to be observed. Depending on scheduling, those deadlines could move the runner into
stoppingor let the assertion run before the intended tick was processed, producing either an extra heartbeat or a timeout. The production coalescing behavior was not the source of the race.Validation
cargo fmt --all -- --checkcargo test -p runner cmd::start::tests::main_loop::heartbeat --all-features(9 passed)cargo test -p runner --all-targets --all-features --quiet -- --test-threads=1(3374 passed, 26 ignored, plus 1 integration test passed)cargo clippy -p runner --all-targets --all-features -- -D warningscargo doc -p runner --all-features --no-depsScope
Production heartbeat cadence and
HeartbeatControllerbehavior are unchanged. Unrelated proxy runtime-marker discovery flakes observed only during parallel full-suite runs are intentionally excluded; those legacy/conflict scenarios are already being replaced by #30161 / #30166, and the serial full runner suite is green.Closes #30179