From efd19f4a133528d902fe7b565e2fa421f77973ec Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Tue, 17 Sep 2019 17:55:45 +0200 Subject: [PATCH] Add a test for the env_override --- .../crates/std_detect/src/detect/mod.rs | 7 +++++++ .../crates/std_detect/src/detect/os/x86.rs | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/library/stdarch/crates/std_detect/src/detect/mod.rs b/library/stdarch/crates/std_detect/src/detect/mod.rs index 6389a3fd75b9..748299f7f846 100644 --- a/library/stdarch/crates/std_detect/src/detect/mod.rs +++ b/library/stdarch/crates/std_detect/src/detect/mod.rs @@ -135,3 +135,10 @@ pub fn features() -> impl Iterator { } impl_() } + +#[test] +fn features_roundtrip() { + for (f, _) in features() { + let _ = Feature::from_str(f).unwrap(); + } +} diff --git a/library/stdarch/crates/std_detect/src/detect/os/x86.rs b/library/stdarch/crates/std_detect/src/detect/os/x86.rs index c653771c4354..9da3d77c50ae 100644 --- a/library/stdarch/crates/std_detect/src/detect/os/x86.rs +++ b/library/stdarch/crates/std_detect/src/detect/os/x86.rs @@ -295,6 +295,25 @@ mod tests { println!("rtm: {:?}", is_x86_feature_detected!("rtm")); } + #[cfg(feature = "std_detect_env_override")] + #[test] + fn env_override_no_avx() { + if let Ok(disable) = crate::env::var("RUST_STD_DETECT_UNSTABLE") { + let information = cupid::master().unwrap(); + for d in disable.split(" ") { + match d { + "avx" => if information.avx() { + assert_ne!(is_x86_feature_detected!("avx"), information.avx()) + } + "avx2" => if information.avx2() { + assert_ne!(is_x86_feature_detected!("avx2"), information.avx2()) + } + _ => {} + } + } + } + } + #[test] fn compare_with_cupid() { let information = cupid::master().unwrap();