fn ignore(testsuite: &str, name: &str, strategy: &str) -> bool {
    let is_multi_value = testsuite.ends_with("multi-value");
    match strategy {
        #[cfg(feature = "lightbeam")]
        "Lightbeam" => match (testsuite, name) {
            ("single_file_spec_test", "simd_const") => return true,
            (_, _) if is_multi_value => return true,
            _ => (),
        },
        "Cranelift" => match (testsuite, name) {
            // We don't currently support more return values than available
            // registers, and this contains a function with many, many more
            // return values than that.
            (_, "func") if is_multi_value => return true,
            _ => {}
        },
        _ => panic!("unrecognized strategy"),
    }

    if cfg!(windows) {
        return match (testsuite, name) {
            // Currently, our multi-value support only works with however many
            // extra return registers we have available, and windows' fastcall
            // ABI only has a single return register, so we need to wait on full
            // multi-value support in Cranelift.
            (_, _) if is_multi_value => true,

            ("spec_testsuite", "address") => true,
            ("spec_testsuite", "align") => true,
            ("spec_testsuite", "call") => true,
            ("spec_testsuite", "call_indirect") => true,
            ("spec_testsuite", "conversions") => true,
            ("spec_testsuite", "elem") => true,
            ("spec_testsuite", "fac") => true,
            ("spec_testsuite", "func_ptrs") => true,
            ("spec_testsuite", "globals") => true,
            ("spec_testsuite", "i32") => true,
            ("spec_testsuite", "i64") => true,
            ("spec_testsuite", "f32") => true,
            ("spec_testsuite", "f64") => true,
            ("spec_testsuite", "if") => true,
            ("spec_testsuite", "imports") => true,
            ("spec_testsuite", "int_exprs") => true,
            ("spec_testsuite", "linking") => true,
            ("spec_testsuite", "memory_grow") => true,
            ("spec_testsuite", "memory_trap") => true,
            ("spec_testsuite", "resizing") => true,
            ("spec_testsuite", "select") => true,
            ("spec_testsuite", "skip-stack-guard-page") => true,
            ("spec_testsuite", "start") => true,
            ("spec_testsuite", "traps") => true,
            ("spec_testsuite", "unreachable") => true,
            ("spec_testsuite", "unwind") => true,
            ("misc_testsuite", "misc_traps") => true,
            ("misc_testsuite", "stack_overflow") => true,
            (_, _) => false,
        };
    }

    #[cfg(target_os = "linux")]
    {
        // Test whether the libc correctly parses the following constant; if so,
        // we can run the "const" test. If not, the "const" test will fail, since
        // we use wabt to parse the tests and wabt uses strtof.
        extern "C" {
            pub fn strtof(s: *const libc::c_char, endp: *mut *mut libc::c_char) -> libc::c_float;
        }
        if unsafe {
            strtof(
                b"8.8817847263968443574e-16" as *const u8 as *const libc::c_char,
                core::ptr::null_mut(),
            )
        }
        .to_bits()
            != 0x26800001
        {
            return match (testsuite, name) {
                ("spec_testsuite", "const") => true,
                ("single_file_spec_test", "simd_const") => true,
                (_, _) => false,
            };
        }
    }

    false
}
/// Ignore tests that aren't supported yet.
Ignore tests that aren't supported yet.
Ignore tests that aren ' t supported yet .
fn ignore(testsuite: &str, name: &str, strategy: &str) -> bool {
    let is_multi_value = testsuite.ends_with("multi-value");
    match strategy {
        #[cfg(feature = "lightbeam")]
        "Lightbeam" => match (testsuite, name) {
            ("single_file_spec_test", "simd_const") => return true,
            (_, _) if is_multi_value => return true,
            _ => (),
        },
        "Cranelift" => match (testsuite, name) {
            // We don't currently support more return values than available
            // registers, and this contains a function with many, many more
            // return values than that.
            (_, "func") if is_multi_value => return true,
            _ => {}
        },
        _ => panic!("unrecognized strategy"),
    }
    if cfg!(windows) {
        return match (testsuite, name) {
            // Currently, our multi-value support only works with however many
            // extra return registers we have available, and windows' fastcall
            // ABI only has a single return register, so we need to wait on full
            // multi-value support in Cranelift.
            (_, _) if is_multi_value => true,
            ("spec_testsuite", "address") => true,
            ("spec_testsuite", "align") => true,
            ("spec_testsuite", "call") => true,
            ("spec_testsuite", "call_indirect") => true,
            ("spec_testsuite", "conversions") => true,
            ("spec_testsuite", "elem") => true,
            ("spec_testsuite", "fac") => true,
            ("spec_testsuite", "func_ptrs") => true,
            ("spec_testsuite", "globals") => true,
            ("spec_testsuite", "i32") => true,
            ("spec_testsuite", "i64") => true,
            ("spec_testsuite", "f32") => true,
            ("spec_testsuite", "f64") => true,
            ("spec_testsuite", "if") => true,
            ("spec_testsuite", "imports") => true,
            ("spec_testsuite", "int_exprs") => true,
            ("spec_testsuite", "linking") => true,
            ("spec_testsuite", "memory_grow") => true,
            ("spec_testsuite", "memory_trap") => true,
            ("spec_testsuite", "resizing") => true,
            ("spec_testsuite", "select") => true,
            ("spec_testsuite", "skip-stack-guard-page") => true,
            ("spec_testsuite", "start") => true,
            ("spec_testsuite", "traps") => true,
            ("spec_testsuite", "unreachable") => true,
            ("spec_testsuite", "unwind") => true,
            ("misc_testsuite", "misc_traps") => true,
            ("misc_testsuite", "stack_overflow") => true,
            (_, _) => false,
        };
    }
    #[cfg(target_os = "linux")]
    {
        // Test whether the libc correctly parses the following constant; if so,
        // we can run the "const" test. If not, the "const" test will fail, since
        // we use wabt to parse the tests and wabt uses strtof.
        extern "C" {
            pub fn strtof(s: *const libc::c_char, endp: *mut *mut libc::c_char) -> libc::c_float;
        }
        if unsafe {
            strtof(
                b"8.8817847263968443574e-16" as *const u8 as *const libc::c_char,
                core::ptr::null_mut(),
            )
        }
        .to_bits()
            != 0x26800001
        {
            return match (testsuite, name) {
                ("spec_testsuite", "const") => true,
                ("single_file_spec_test", "simd_const") => true,
                (_, _) => false,
            };
        }
    }
    false
}
fn ignore ( testsuite : & str , name : & str , strategy : & str ) -> bool { let is_multi_value = testsuite . ends_with ( " " ) ; match strategy { # [ cfg ( feature " " ) ] " " => match ( testsuite , name ) { ( " " , " " ) => return true , ( _ , _ ) if is_multi_value => return true , _ => ( ) , } , " " => match ( testsuite , name ) { // We don't currently support more return values than available // registers, and this contains a function with many, many more // return values than that. ( _ , " " ) if is_multi_value => return true , _ => { } } , _ => panic ! ( " " ) , } if cfg ! ( windows ) { return match ( testsuite , name ) { // Currently, our multi-value support only works with however many // extra return registers we have available, and windows' fastcall // ABI only has a single return register, so we need to wait on full // multi-value support in Cranelift. ( _ , _ ) if is_multi_value => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( " " , " " ) => true , ( _ , _ ) => false , } ; } # [ cfg ( target_os " " ) ] { // Test whether the libc correctly parses the following constant; if so, // we can run the "const" test. If not, the "const" test will fail, since // we use wabt to parse the tests and wabt uses strtof. extern " " { pub fn strtof ( s : * const libc :: c_char , endp : * mut * mut libc :: c_char ) -> libc :: c_float ; } if unsafe { strtof ( b" " as * const u8 as * const libc :: c_char , core :: ptr :: null_mut ( ) , ) } . to_bits ( ) != 0x26800001 { return match ( testsuite , name ) { ( " " , " " ) => true , ( " " , " " ) => true , ( _ , _ ) => false , } ; } } false }
Ignore tests that aren't supported yet.
Ignore tests that aren ' t supported yet .
testsuite
&str
name
&str
strategy
&str
testsuite
&str
name
&str
strategy
&str