Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
69
third-party/vendor/nix/test/sys/test_timerfd.rs
vendored
Normal file
69
third-party/vendor/nix/test/sys/test_timerfd.rs
vendored
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
use nix::sys::time::{TimeSpec, TimeValLike};
|
||||
use nix::sys::timerfd::{
|
||||
ClockId, Expiration, TimerFd, TimerFlags, TimerSetTimeFlags,
|
||||
};
|
||||
use std::time::Instant;
|
||||
|
||||
#[test]
|
||||
pub fn test_timerfd_oneshot() {
|
||||
let timer =
|
||||
TimerFd::new(ClockId::CLOCK_MONOTONIC, TimerFlags::empty()).unwrap();
|
||||
|
||||
let before = Instant::now();
|
||||
|
||||
timer
|
||||
.set(
|
||||
Expiration::OneShot(TimeSpec::seconds(1)),
|
||||
TimerSetTimeFlags::empty(),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
timer.wait().unwrap();
|
||||
|
||||
let millis = before.elapsed().as_millis();
|
||||
assert!(millis > 900);
|
||||
}
|
||||
|
||||
#[test]
|
||||
pub fn test_timerfd_interval() {
|
||||
let timer =
|
||||
TimerFd::new(ClockId::CLOCK_MONOTONIC, TimerFlags::empty()).unwrap();
|
||||
|
||||
let before = Instant::now();
|
||||
timer
|
||||
.set(
|
||||
Expiration::IntervalDelayed(
|
||||
TimeSpec::seconds(1),
|
||||
TimeSpec::seconds(2),
|
||||
),
|
||||
TimerSetTimeFlags::empty(),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
timer.wait().unwrap();
|
||||
|
||||
let start_delay = before.elapsed().as_millis();
|
||||
assert!(start_delay > 900);
|
||||
|
||||
timer.wait().unwrap();
|
||||
|
||||
let interval_delay = before.elapsed().as_millis();
|
||||
assert!(interval_delay > 2900);
|
||||
}
|
||||
|
||||
#[test]
|
||||
pub fn test_timerfd_unset() {
|
||||
let timer =
|
||||
TimerFd::new(ClockId::CLOCK_MONOTONIC, TimerFlags::empty()).unwrap();
|
||||
|
||||
timer
|
||||
.set(
|
||||
Expiration::OneShot(TimeSpec::seconds(1)),
|
||||
TimerSetTimeFlags::empty(),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
timer.unset().unwrap();
|
||||
|
||||
assert!(timer.get().unwrap().is_none());
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue