From fd6ae40817e42031d19ff53ef74eaf9da5727c01 Mon Sep 17 00:00:00 2001
From: dignifiedquire <me@dignifiedquire.com>
Date: Sat, 25 Apr 2020 17:36:20 +0200
Subject: [PATCH] add timeout stress test

---
 tests/timeout.rs | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 tests/timeout.rs

diff --git a/tests/timeout.rs b/tests/timeout.rs
new file mode 100644
index 00000000..c9694f83
--- /dev/null
+++ b/tests/timeout.rs
@@ -0,0 +1,22 @@
+use std::time::Duration;
+
+use async_std::future::timeout;
+use async_std::task;
+
+#[test]
+fn timeout_future_many() {
+    task::block_on(async {
+        let futures = (0..100)
+            .map(|i| {
+                timeout(Duration::from_millis(i * 10), async move {
+                    task::sleep(Duration::from_millis(i)).await;
+                    Ok::<(), async_std::future::TimeoutError>(())
+                })
+            })
+            .collect::<Vec<_>>();
+
+        for future in futures {
+            future.await.unwrap().unwrap();
+        }
+    });
+}