blob: e09acdfe468f2dfb6b42fba04568504a26a50cad [file] [log] [blame] [edit]
use std::time::Duration;
use async_std::future::timeout;
use async_std::task;
#[cfg(target_arch = "wasm32")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[test]
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
fn timeout_future_many() {
task::block_on(async {
let futures = (0..100)
.map(|i| {
timeout(Duration::from_millis(i * 20), async move {
task::sleep(Duration::from_millis(i)).await;
Ok::<(), async_std::future::TimeoutError>(())
})
})
.collect::<Vec<_>>();
for future in futures {
future.await.unwrap().unwrap();
}
});
}