test(timer): fix flaky StopTokenCancelsOne on IOCP#276
Conversation
The test raced a 10ms delay timer against the 500ms shared timer t to drive cancellation. Under a runtime stall both expire together and t completes w1 with success before the delay-driven request_stop() runs, so the cancellation assertion fails intermittently in CI. Drop the delay timer; call request_stop() from a posted task instead. run_async queues it FIFO, so both waiters register on t before the cancel runs — deterministic, no wall-clock margin.
|
An automated preview of the documentation is available at https://276.corosio.prtest3.cppalliance.org/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2026-06-11 18:12:57 UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #276 +/- ##
========================================
Coverage 77.73% 77.73%
========================================
Files 96 96
Lines 7234 7234
Branches 1764 1764
========================================
Hits 5623 5623
Misses 1102 1102
Partials 509 509 Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
|
GCOVR code coverage report https://276.corosio.prtest3.cppalliance.org/gcovr/index.html Build time: 2026-06-11 18:22:20 UTC |
The test raced a 10ms delay timer against the 500ms shared timer t to drive cancellation. Under a runtime stall both expire together and t completes w1 with success before the delay-driven request_stop() runs, so the cancellation assertion fails intermittently in CI.
Drop the delay timer; call request_stop() from a posted task instead. run_async queues it FIFO, so both waiters register on t before the cancel runs — deterministic, no wall-clock margin.