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