#[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)); }