use executor::prelude::{spawn, ProcStack}; use executor::run::run; use std::io::Write; use std::thread; use std::time::Duration; #[cfg(feature = "tokio-runtime")] mod tokio_tests { #[tokio::test] async fn test_run_blocking() { super::run_test() } } #[cfg(not(feature = "tokio-runtime"))] mod no_tokio_tests { #[test] fn test_run_blocking() { super::run_test() } } fn run_test() { let handle = spawn(async { let duration = Duration::from_millis(1); thread::sleep(duration); //42 }); let output = run(handle, ProcStack {}); println!("{:?}", output); std::io::stdout().flush(); assert!(output.is_some()); std::thread::sleep(Duration::from_millis(200)); }