瀏覽代碼

system: add condvar_wait_after_notify() unit test

darkfi 2 年之前
父節點
當前提交
8f4103d6e2
共有 1 個文件被更改,包括 18 次插入0 次删除
  1. 18 0
      src/system/condvar.rs

+ 18 - 0
src/system/condvar.rs

@@ -217,6 +217,24 @@ mod tests {
         }))
         }))
     }
     }
 
 
+    #[test]
+    fn condvar_wait_after_notify() {
+        let executor = Arc::new(Executor::new());
+        let executor_ = executor.clone();
+        smol::block_on(executor.run(async move {
+            let cv = Arc::new(CondVar::new());
+
+            let cv2 = cv.clone();
+            executor_.spawn(async move { cv2.wait().await }).detach();
+
+            cv.notify();
+
+            // Should complete immediately
+            let cv2 = cv.clone();
+            executor_.spawn(async move { cv2.wait().await }).detach();
+        }))
+    }
+
     #[test]
     #[test]
     fn condvar_drop() {
     fn condvar_drop() {
         let executor = Arc::new(Executor::new());
         let executor = Arc::new(Executor::new());