66 lines
1.6 KiB
Rust
66 lines
1.6 KiB
Rust
#[cfg(any(freebsdlike, linux_android, target_os = "emscripten"))]
|
|
use nix::time::clock_getcpuclockid;
|
|
use nix::time::{clock_gettime, ClockId};
|
|
|
|
#[cfg(not(target_os = "redox"))]
|
|
#[test]
|
|
pub fn test_clock_getres() {
|
|
nix::time::clock_getres(ClockId::CLOCK_REALTIME).expect("assertion failed");
|
|
}
|
|
|
|
#[test]
|
|
pub fn test_clock_gettime() {
|
|
clock_gettime(ClockId::CLOCK_REALTIME).expect("assertion failed");
|
|
}
|
|
|
|
#[cfg(any(freebsdlike, linux_android, target_os = "emscripten"))]
|
|
#[test]
|
|
pub fn test_clock_getcpuclockid() {
|
|
let clock_id = clock_getcpuclockid(nix::unistd::Pid::this()).unwrap();
|
|
clock_gettime(clock_id).unwrap();
|
|
}
|
|
|
|
#[cfg(not(target_os = "redox"))]
|
|
#[test]
|
|
pub fn test_clock_id_res() {
|
|
ClockId::CLOCK_REALTIME.res().unwrap();
|
|
}
|
|
|
|
#[test]
|
|
pub fn test_clock_id_now() {
|
|
ClockId::CLOCK_REALTIME.now().unwrap();
|
|
}
|
|
|
|
#[cfg(any(freebsdlike, linux_android, target_os = "emscripten"))]
|
|
#[test]
|
|
pub fn test_clock_id_pid_cpu_clock_id() {
|
|
ClockId::pid_cpu_clock_id(nix::unistd::Pid::this())
|
|
.map(ClockId::now)
|
|
.unwrap()
|
|
.unwrap();
|
|
}
|
|
|
|
#[cfg(any(
|
|
linux_android,
|
|
solarish,
|
|
freebsdlike,
|
|
target_os = "netbsd",
|
|
target_os = "hurd",
|
|
target_os = "aix"
|
|
))]
|
|
#[test]
|
|
pub fn test_clock_nanosleep() {
|
|
use nix::{
|
|
sys::time::{TimeSpec, TimeValLike},
|
|
time::{clock_nanosleep, ClockNanosleepFlags},
|
|
};
|
|
|
|
let sleep_time = TimeSpec::microseconds(1);
|
|
let res = clock_nanosleep(
|
|
ClockId::CLOCK_MONOTONIC,
|
|
ClockNanosleepFlags::empty(),
|
|
&sleep_time,
|
|
);
|
|
let expected = TimeSpec::microseconds(0);
|
|
assert_eq!(res, Ok(expected));
|
|
}
|