1#[cfg(any( 2 all(target_os = "android", target_pointer_width = "64"), 3 target_os = "linux", 4))] 5use rustix::param::linux_hwcap; 6use rustix::param::{clock_ticks_per_second, page_size}; 7 8#[test] 9fn test_page_size() { 10 let size = page_size(); 11 assert_ne!(size, 0); 12 assert!(size.is_power_of_two()); 13 assert_eq!(size, page_size()); 14 assert_eq!(size, unsafe { libc::sysconf(libc::_SC_PAGESIZE) as usize }); 15} 16 17#[test] 18fn test_clock_ticks_per_second() { 19 let size = clock_ticks_per_second(); 20 assert_ne!(size, 0); 21 assert_eq!(size, unsafe { libc::sysconf(libc::_SC_CLK_TCK) as u64 }); 22} 23 24#[cfg(any( 25 all(target_os = "android", target_pointer_width = "64"), 26 target_os = "linux", 27))] 28#[test] 29fn test_linux_hwcap() { 30 weak!(fn getauxval(libc::c_ulong) -> libc::c_ulong); 31 32 if let Some(libc_getauxval) = getauxval.get() { 33 let (_hwcap, hwcap2) = linux_hwcap(); 34 35 // GLIBC seems to return a different value than `LD_SHOW_AUXV=1` reports. 36 #[cfg(not(target_env = "gnu"))] 37 assert_eq!(_hwcap, unsafe { libc_getauxval(libc::AT_HWCAP) } as usize); 38 39 assert_eq!(hwcap2, unsafe { libc_getauxval(libc::AT_HWCAP2) } as usize); 40 } 41} 42