From 480ed7acdba001a79bb0a7bfa12f43ffdbaaa6cd Mon Sep 17 00:00:00 2001 From: Gerd Zellweger Date: Tue, 10 Sep 2019 10:53:26 -0700 Subject: Fix rdtsc/p tests. --- src/time.rs | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/time.rs b/src/time.rs index eb0111b..e51cf08 100644 --- a/src/time.rs +++ b/src/time.rs @@ -43,15 +43,29 @@ mod test { #[test] fn check_rdtsc() { - unsafe { - assert!(rdtsc() > 0, "rdtsc returned 0, unlikely!"); + let cpuid = crate::cpuid::CpuId::new(); + let has_tsc = cpuid + .get_feature_info() + .map_or(false, |finfo| finfo.has_tsc()); + + if has_tsc { + unsafe { + assert!(rdtsc() > 0, "rdtsc returned 0, unlikely!"); + } } } #[test] fn check_rdtscp() { - unsafe { - assert!(rdtscp() > 0, "rdtscp returned 0, unlikely!"); + let cpuid = crate::cpuid::CpuId::new(); + let has_tsc = cpuid + .get_feature_info() + .map_or(false, |finfo| finfo.has_tsc()); + + if has_tsc { + unsafe { + assert!(rdtscp() > 0, "rdtscp returned 0, unlikely!"); + } } } } -- cgit v1.2.3