Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
google
GitHub Repository: google/crosvm
Path: blob/main/base_tokio/src/event.rs
5392 views
1
// Copyright 2024 The ChromiumOS Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#[cfg(test)]
6
mod tests {
7
use base::Event;
8
9
use crate::EventTokio;
10
11
#[tokio::test]
12
async fn already_signaled() {
13
let event = Event::new().unwrap();
14
let async_event = EventTokio::new(event.try_clone().unwrap()).unwrap();
15
16
event.signal().unwrap();
17
async_event.wait().await.unwrap();
18
}
19
20
#[tokio::test]
21
async fn signaled_after_delay() {
22
let event = Event::new().unwrap();
23
let async_event = EventTokio::new(event.try_clone().unwrap()).unwrap();
24
25
tokio::spawn(async move {
26
tokio::time::sleep(std::time::Duration::from_millis(1)).await;
27
event.signal().unwrap();
28
});
29
async_event.wait().await.unwrap();
30
}
31
}
32
33