1fb6c1f39Sopenharmony_ciuse quickcheck::quickcheck; 2fb6c1f39Sopenharmony_ci 3fb6c1f39Sopenharmony_ciuse crate::{ 4fb6c1f39Sopenharmony_ci memchr, 5fb6c1f39Sopenharmony_ci memchr::{fallback, naive}, 6fb6c1f39Sopenharmony_ci memchr2, memchr3, memrchr, memrchr2, memrchr3, 7fb6c1f39Sopenharmony_ci tests::memchr::testdata::memchr_tests, 8fb6c1f39Sopenharmony_ci}; 9fb6c1f39Sopenharmony_ci 10fb6c1f39Sopenharmony_ci#[test] 11fb6c1f39Sopenharmony_cifn memchr1_find() { 12fb6c1f39Sopenharmony_ci for test in memchr_tests() { 13fb6c1f39Sopenharmony_ci test.one(false, memchr); 14fb6c1f39Sopenharmony_ci } 15fb6c1f39Sopenharmony_ci} 16fb6c1f39Sopenharmony_ci 17fb6c1f39Sopenharmony_ci#[test] 18fb6c1f39Sopenharmony_cifn memchr1_fallback_find() { 19fb6c1f39Sopenharmony_ci for test in memchr_tests() { 20fb6c1f39Sopenharmony_ci test.one(false, fallback::memchr); 21fb6c1f39Sopenharmony_ci } 22fb6c1f39Sopenharmony_ci} 23fb6c1f39Sopenharmony_ci 24fb6c1f39Sopenharmony_ci#[test] 25fb6c1f39Sopenharmony_cifn memchr2_find() { 26fb6c1f39Sopenharmony_ci for test in memchr_tests() { 27fb6c1f39Sopenharmony_ci test.two(false, memchr2); 28fb6c1f39Sopenharmony_ci } 29fb6c1f39Sopenharmony_ci} 30fb6c1f39Sopenharmony_ci 31fb6c1f39Sopenharmony_ci#[test] 32fb6c1f39Sopenharmony_cifn memchr2_fallback_find() { 33fb6c1f39Sopenharmony_ci for test in memchr_tests() { 34fb6c1f39Sopenharmony_ci test.two(false, fallback::memchr2); 35fb6c1f39Sopenharmony_ci } 36fb6c1f39Sopenharmony_ci} 37fb6c1f39Sopenharmony_ci 38fb6c1f39Sopenharmony_ci#[test] 39fb6c1f39Sopenharmony_cifn memchr3_find() { 40fb6c1f39Sopenharmony_ci for test in memchr_tests() { 41fb6c1f39Sopenharmony_ci test.three(false, memchr3); 42fb6c1f39Sopenharmony_ci } 43fb6c1f39Sopenharmony_ci} 44fb6c1f39Sopenharmony_ci 45fb6c1f39Sopenharmony_ci#[test] 46fb6c1f39Sopenharmony_cifn memchr3_fallback_find() { 47fb6c1f39Sopenharmony_ci for test in memchr_tests() { 48fb6c1f39Sopenharmony_ci test.three(false, fallback::memchr3); 49fb6c1f39Sopenharmony_ci } 50fb6c1f39Sopenharmony_ci} 51fb6c1f39Sopenharmony_ci 52fb6c1f39Sopenharmony_ci#[test] 53fb6c1f39Sopenharmony_cifn memrchr1_find() { 54fb6c1f39Sopenharmony_ci for test in memchr_tests() { 55fb6c1f39Sopenharmony_ci test.one(true, memrchr); 56fb6c1f39Sopenharmony_ci } 57fb6c1f39Sopenharmony_ci} 58fb6c1f39Sopenharmony_ci 59fb6c1f39Sopenharmony_ci#[test] 60fb6c1f39Sopenharmony_cifn memrchr1_fallback_find() { 61fb6c1f39Sopenharmony_ci for test in memchr_tests() { 62fb6c1f39Sopenharmony_ci test.one(true, fallback::memrchr); 63fb6c1f39Sopenharmony_ci } 64fb6c1f39Sopenharmony_ci} 65fb6c1f39Sopenharmony_ci 66fb6c1f39Sopenharmony_ci#[test] 67fb6c1f39Sopenharmony_cifn memrchr2_find() { 68fb6c1f39Sopenharmony_ci for test in memchr_tests() { 69fb6c1f39Sopenharmony_ci test.two(true, memrchr2); 70fb6c1f39Sopenharmony_ci } 71fb6c1f39Sopenharmony_ci} 72fb6c1f39Sopenharmony_ci 73fb6c1f39Sopenharmony_ci#[test] 74fb6c1f39Sopenharmony_cifn memrchr2_fallback_find() { 75fb6c1f39Sopenharmony_ci for test in memchr_tests() { 76fb6c1f39Sopenharmony_ci test.two(true, fallback::memrchr2); 77fb6c1f39Sopenharmony_ci } 78fb6c1f39Sopenharmony_ci} 79fb6c1f39Sopenharmony_ci 80fb6c1f39Sopenharmony_ci#[test] 81fb6c1f39Sopenharmony_cifn memrchr3_find() { 82fb6c1f39Sopenharmony_ci for test in memchr_tests() { 83fb6c1f39Sopenharmony_ci test.three(true, memrchr3); 84fb6c1f39Sopenharmony_ci } 85fb6c1f39Sopenharmony_ci} 86fb6c1f39Sopenharmony_ci 87fb6c1f39Sopenharmony_ci#[test] 88fb6c1f39Sopenharmony_cifn memrchr3_fallback_find() { 89fb6c1f39Sopenharmony_ci for test in memchr_tests() { 90fb6c1f39Sopenharmony_ci test.three(true, fallback::memrchr3); 91fb6c1f39Sopenharmony_ci } 92fb6c1f39Sopenharmony_ci} 93fb6c1f39Sopenharmony_ci 94fb6c1f39Sopenharmony_ciquickcheck! { 95fb6c1f39Sopenharmony_ci fn qc_memchr1_matches_naive(n1: u8, corpus: Vec<u8>) -> bool { 96fb6c1f39Sopenharmony_ci memchr(n1, &corpus) == naive::memchr(n1, &corpus) 97fb6c1f39Sopenharmony_ci } 98fb6c1f39Sopenharmony_ci} 99fb6c1f39Sopenharmony_ci 100fb6c1f39Sopenharmony_ciquickcheck! { 101fb6c1f39Sopenharmony_ci fn qc_memchr2_matches_naive(n1: u8, n2: u8, corpus: Vec<u8>) -> bool { 102fb6c1f39Sopenharmony_ci memchr2(n1, n2, &corpus) == naive::memchr2(n1, n2, &corpus) 103fb6c1f39Sopenharmony_ci } 104fb6c1f39Sopenharmony_ci} 105fb6c1f39Sopenharmony_ci 106fb6c1f39Sopenharmony_ciquickcheck! { 107fb6c1f39Sopenharmony_ci fn qc_memchr3_matches_naive( 108fb6c1f39Sopenharmony_ci n1: u8, n2: u8, n3: u8, 109fb6c1f39Sopenharmony_ci corpus: Vec<u8> 110fb6c1f39Sopenharmony_ci ) -> bool { 111fb6c1f39Sopenharmony_ci memchr3(n1, n2, n3, &corpus) == naive::memchr3(n1, n2, n3, &corpus) 112fb6c1f39Sopenharmony_ci } 113fb6c1f39Sopenharmony_ci} 114fb6c1f39Sopenharmony_ci 115fb6c1f39Sopenharmony_ciquickcheck! { 116fb6c1f39Sopenharmony_ci fn qc_memrchr1_matches_naive(n1: u8, corpus: Vec<u8>) -> bool { 117fb6c1f39Sopenharmony_ci memrchr(n1, &corpus) == naive::memrchr(n1, &corpus) 118fb6c1f39Sopenharmony_ci } 119fb6c1f39Sopenharmony_ci} 120fb6c1f39Sopenharmony_ci 121fb6c1f39Sopenharmony_ciquickcheck! { 122fb6c1f39Sopenharmony_ci fn qc_memrchr2_matches_naive(n1: u8, n2: u8, corpus: Vec<u8>) -> bool { 123fb6c1f39Sopenharmony_ci memrchr2(n1, n2, &corpus) == naive::memrchr2(n1, n2, &corpus) 124fb6c1f39Sopenharmony_ci } 125fb6c1f39Sopenharmony_ci} 126fb6c1f39Sopenharmony_ci 127fb6c1f39Sopenharmony_ciquickcheck! { 128fb6c1f39Sopenharmony_ci fn qc_memrchr3_matches_naive( 129fb6c1f39Sopenharmony_ci n1: u8, n2: u8, n3: u8, 130fb6c1f39Sopenharmony_ci corpus: Vec<u8> 131fb6c1f39Sopenharmony_ci ) -> bool { 132fb6c1f39Sopenharmony_ci memrchr3(n1, n2, n3, &corpus) == naive::memrchr3(n1, n2, n3, &corpus) 133fb6c1f39Sopenharmony_ci } 134fb6c1f39Sopenharmony_ci} 135