From e96b4e479a3835d43d3c0bfd1028b5ac9d99cfec Mon Sep 17 00:00:00 2001 From: Zalathar Date: Fri, 6 Sep 2024 15:41:10 +1000 Subject: coverage: Extract `executor::block_on` from several async coverage tests By moving `block_on` to an auxiliary crate, we avoid having to keep a separate copy of it in every async test. (This also incorporates some small tweaks to the headers in `await_ready.rs`.) --- tests/coverage/async.rs | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) (limited to 'tests/coverage/async.rs') diff --git a/tests/coverage/async.rs b/tests/coverage/async.rs index 7e6ad761ecd..a7f3c7cec41 100644 --- a/tests/coverage/async.rs +++ b/tests/coverage/async.rs @@ -6,6 +6,9 @@ //@ edition: 2018 //@ compile-flags: -Copt-level=1 +//@ aux-build: executor.rs +extern crate executor; + async fn c(x: u8) -> u8 { if x == 8 { 1 @@ -95,21 +98,3 @@ fn main() { let _ = m(5); executor::block_on(future.as_mut()); } - -mod executor { - use core::future::Future; - use core::pin::pin; - use core::task::{Context, Poll, Waker}; - - #[coverage(off)] - pub fn block_on(mut future: F) -> F::Output { - let mut future = pin!(future); - let mut context = Context::from_waker(Waker::noop()); - - loop { - if let Poll::Ready(val) = future.as_mut().poll(&mut context) { - break val; - } - } - } -} -- cgit 1.4.1-3-g733a5