Move the tests away from the code
This commit is contained in:
@@ -135,10 +135,3 @@ pub fn features() -> impl Iterator<Item = (&'static str, bool)> {
|
||||
}
|
||||
impl_()
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn features_roundtrip() {
|
||||
for (f, _) in features() {
|
||||
let _ = Feature::from_str(f).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,139 +243,3 @@ pub(crate) fn detect_features() -> cache::Initializer {
|
||||
|
||||
value
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
extern crate cupid;
|
||||
|
||||
#[test]
|
||||
fn dump() {
|
||||
println!("aes: {:?}", is_x86_feature_detected!("aes"));
|
||||
println!("pclmulqdq: {:?}", is_x86_feature_detected!("pclmulqdq"));
|
||||
println!("rdrand: {:?}", is_x86_feature_detected!("rdrand"));
|
||||
println!("rdseed: {:?}", is_x86_feature_detected!("rdseed"));
|
||||
println!("tsc: {:?}", is_x86_feature_detected!("tsc"));
|
||||
println!("sse: {:?}", is_x86_feature_detected!("sse"));
|
||||
println!("sse2: {:?}", is_x86_feature_detected!("sse2"));
|
||||
println!("sse3: {:?}", is_x86_feature_detected!("sse3"));
|
||||
println!("ssse3: {:?}", is_x86_feature_detected!("ssse3"));
|
||||
println!("sse4.1: {:?}", is_x86_feature_detected!("sse4.1"));
|
||||
println!("sse4.2: {:?}", is_x86_feature_detected!("sse4.2"));
|
||||
println!("sse4a: {:?}", is_x86_feature_detected!("sse4a"));
|
||||
println!("sha: {:?}", is_x86_feature_detected!("sha"));
|
||||
println!("avx: {:?}", is_x86_feature_detected!("avx"));
|
||||
println!("avx2: {:?}", is_x86_feature_detected!("avx2"));
|
||||
println!("avx512f {:?}", is_x86_feature_detected!("avx512f"));
|
||||
println!("avx512cd {:?}", is_x86_feature_detected!("avx512cd"));
|
||||
println!("avx512er {:?}", is_x86_feature_detected!("avx512er"));
|
||||
println!("avx512pf {:?}", is_x86_feature_detected!("avx512pf"));
|
||||
println!("avx512bw {:?}", is_x86_feature_detected!("avx512bw"));
|
||||
println!("avx512dq {:?}", is_x86_feature_detected!("avx512dq"));
|
||||
println!("avx512vl {:?}", is_x86_feature_detected!("avx512vl"));
|
||||
println!("avx512_ifma {:?}", is_x86_feature_detected!("avx512ifma"));
|
||||
println!("avx512_vbmi {:?}", is_x86_feature_detected!("avx512vbmi"));
|
||||
println!(
|
||||
"avx512_vpopcntdq {:?}",
|
||||
is_x86_feature_detected!("avx512vpopcntdq")
|
||||
);
|
||||
println!("fma: {:?}", is_x86_feature_detected!("fma"));
|
||||
println!("abm: {:?}", is_x86_feature_detected!("abm"));
|
||||
println!("bmi: {:?}", is_x86_feature_detected!("bmi1"));
|
||||
println!("bmi2: {:?}", is_x86_feature_detected!("bmi2"));
|
||||
println!("tbm: {:?}", is_x86_feature_detected!("tbm"));
|
||||
println!("popcnt: {:?}", is_x86_feature_detected!("popcnt"));
|
||||
println!("lzcnt: {:?}", is_x86_feature_detected!("lzcnt"));
|
||||
println!("fxsr: {:?}", is_x86_feature_detected!("fxsr"));
|
||||
println!("xsave: {:?}", is_x86_feature_detected!("xsave"));
|
||||
println!("xsaveopt: {:?}", is_x86_feature_detected!("xsaveopt"));
|
||||
println!("xsaves: {:?}", is_x86_feature_detected!("xsaves"));
|
||||
println!("xsavec: {:?}", is_x86_feature_detected!("xsavec"));
|
||||
println!("cmpxchg16b: {:?}", is_x86_feature_detected!("cmpxchg16b"));
|
||||
println!("adx: {:?}", is_x86_feature_detected!("adx"));
|
||||
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();
|
||||
assert_eq!(is_x86_feature_detected!("aes"), information.aesni());
|
||||
assert_eq!(
|
||||
is_x86_feature_detected!("pclmulqdq"),
|
||||
information.pclmulqdq()
|
||||
);
|
||||
assert_eq!(is_x86_feature_detected!("rdrand"), information.rdrand());
|
||||
assert_eq!(is_x86_feature_detected!("rdseed"), information.rdseed());
|
||||
assert_eq!(is_x86_feature_detected!("tsc"), information.tsc());
|
||||
assert_eq!(is_x86_feature_detected!("sse"), information.sse());
|
||||
assert_eq!(is_x86_feature_detected!("sse2"), information.sse2());
|
||||
assert_eq!(is_x86_feature_detected!("sse3"), information.sse3());
|
||||
assert_eq!(is_x86_feature_detected!("ssse3"), information.ssse3());
|
||||
assert_eq!(is_x86_feature_detected!("sse4.1"), information.sse4_1());
|
||||
assert_eq!(is_x86_feature_detected!("sse4.2"), information.sse4_2());
|
||||
assert_eq!(is_x86_feature_detected!("sse4a"), information.sse4a());
|
||||
assert_eq!(is_x86_feature_detected!("sha"), information.sha());
|
||||
assert_eq!(is_x86_feature_detected!("avx"), information.avx());
|
||||
assert_eq!(is_x86_feature_detected!("avx2"), information.avx2());
|
||||
assert_eq!(is_x86_feature_detected!("avx512f"), information.avx512f());
|
||||
assert_eq!(is_x86_feature_detected!("avx512cd"), information.avx512cd());
|
||||
assert_eq!(is_x86_feature_detected!("avx512er"), information.avx512er());
|
||||
assert_eq!(is_x86_feature_detected!("avx512pf"), information.avx512pf());
|
||||
assert_eq!(is_x86_feature_detected!("avx512bw"), information.avx512bw());
|
||||
assert_eq!(is_x86_feature_detected!("avx512dq"), information.avx512dq());
|
||||
assert_eq!(is_x86_feature_detected!("avx512vl"), information.avx512vl());
|
||||
assert_eq!(
|
||||
is_x86_feature_detected!("avx512ifma"),
|
||||
information.avx512_ifma()
|
||||
);
|
||||
assert_eq!(
|
||||
is_x86_feature_detected!("avx512vbmi"),
|
||||
information.avx512_vbmi()
|
||||
);
|
||||
assert_eq!(
|
||||
is_x86_feature_detected!("avx512vpopcntdq"),
|
||||
information.avx512_vpopcntdq()
|
||||
);
|
||||
assert_eq!(is_x86_feature_detected!("fma"), information.fma());
|
||||
assert_eq!(is_x86_feature_detected!("bmi1"), information.bmi1());
|
||||
assert_eq!(is_x86_feature_detected!("bmi2"), information.bmi2());
|
||||
assert_eq!(is_x86_feature_detected!("popcnt"), information.popcnt());
|
||||
assert_eq!(is_x86_feature_detected!("abm"), information.lzcnt());
|
||||
assert_eq!(is_x86_feature_detected!("tbm"), information.tbm());
|
||||
assert_eq!(is_x86_feature_detected!("lzcnt"), information.lzcnt());
|
||||
assert_eq!(is_x86_feature_detected!("xsave"), information.xsave());
|
||||
assert_eq!(is_x86_feature_detected!("xsaveopt"), information.xsaveopt());
|
||||
assert_eq!(
|
||||
is_x86_feature_detected!("xsavec"),
|
||||
information.xsavec_and_xrstor()
|
||||
);
|
||||
assert_eq!(
|
||||
is_x86_feature_detected!("xsaves"),
|
||||
information.xsaves_xrstors_and_ia32_xss()
|
||||
);
|
||||
assert_eq!(
|
||||
is_x86_feature_detected!("cmpxchg16b"),
|
||||
information.cmpxchg16b(),
|
||||
);
|
||||
assert_eq!(is_x86_feature_detected!("adx"), information.adx(),);
|
||||
assert_eq!(is_x86_feature_detected!("rtm"), information.rtm(),);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user