Rewrite frame_cb tests to avoid coroutine_handle UB#240
Rewrite frame_cb tests to avoid coroutine_handle UB#240mvandeberg merged 1 commit intocppalliance:developfrom
Conversation
The original tests used from_address to create a coroutine_handle from a fake frame_cb struct. This violates [coroutine.handle.export.import] and LLVM exploits the UB at -O1+, compiling the tests to `unreachable`. Tests 1-3: call frame_cb function pointers directly instead of routing through coroutine_handle. Tests 4-5: replace fake frame + from_address with real task<int> coroutines that co_await custom IoAwaitables, using run_blocking (sync) and run_async + thread_pool (async).
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
|
An automated preview of the documentation is available at https://240.capy.prtest3.cppalliance.org/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2026-03-21 02:06:46 UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #240 +/- ##
===========================================
- Coverage 92.38% 92.37% -0.02%
===========================================
Files 168 168
Lines 9327 9327
===========================================
- Hits 8617 8616 -1
- Misses 710 711 +1
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
The original tests used from_address to create a coroutine_handle from a fake frame_cb struct. This violates [coroutine.handle.export.import] and LLVM exploits the UB at -O1+, compiling the tests to
unreachable.Tests 1-3: call frame_cb function pointers directly instead of routing through coroutine_handle.
Tests 4-5: replace fake frame + from_address with real task
coroutines that co_await custom IoAwaitables, using run_blocking (sync) and run_async + thread_pool (async).