use simdispatch::{Backend, Selection};
fn resolve_all() -> Backend {
Selection::new("SIMD_BACKEND")
.supports(Backend::ALL)
.resolve()
}
#[test]
fn simd_backend_override_is_downgrade_only() {
unsafe { std::env::remove_var("SIMD_BACKEND") };
let baseline = resolve_all();
unsafe { std::env::set_var("SIMD_BACKEND", "not_a_backend") };
assert_eq!(resolve_all(), baseline);
unsafe { std::env::set_var("SIMD_BACKEND", "scalar") };
assert_eq!(resolve_all(), Backend::Scalar);
#[cfg(all(target_arch = "x86_64", feature = "std"))]
{
unsafe { std::env::set_var("SIMD_BACKEND", "v1") };
assert_eq!(resolve_all(), Backend::V1);
}
unsafe { std::env::remove_var("SIMD_BACKEND") };
}