37 lines
903 B
Rust
37 lines
903 B
Rust
#![warn(
|
|
missing_debug_implementations,
|
|
missing_docs,
|
|
rust_2018_idioms,
|
|
unreachable_pub
|
|
)]
|
|
#![cfg_attr(docsrs, deny(broken_intra_doc_links))]
|
|
#![doc(test(
|
|
no_crate_inject,
|
|
attr(deny(warnings, rust_2018_idioms), allow(dead_code, unused_variables))
|
|
))]
|
|
|
|
//! Tokio and Futures based testing utilites
|
|
|
|
pub mod io;
|
|
|
|
mod macros;
|
|
pub mod task;
|
|
|
|
/// Runs the provided future, blocking the current thread until the
|
|
/// future completes.
|
|
///
|
|
/// For more information, see the documentation for
|
|
/// [`tokio::runtime::Runtime::block_on`][runtime-block-on].
|
|
///
|
|
/// [runtime-block-on]: https://docs.rs/tokio/1.3.0/tokio/runtime/struct.Runtime.html#method.block_on
|
|
pub fn block_on<F: std::future::Future>(future: F) -> F::Output {
|
|
use tokio::runtime;
|
|
|
|
let rt = runtime::Builder::new_current_thread()
|
|
.enable_all()
|
|
.build()
|
|
.unwrap();
|
|
|
|
rt.block_on(future)
|
|
}
|