aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_container_bloomfilter.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/test_container_bloomfilter.c')
-rw-r--r--src/util/test_container_bloomfilter.c206
1 files changed, 102 insertions, 104 deletions
diff --git a/src/util/test_container_bloomfilter.c b/src/util/test_container_bloomfilter.c
index 7d5de66b1..49cddac7c 100644
--- a/src/util/test_container_bloomfilter.c
+++ b/src/util/test_container_bloomfilter.c
@@ -75,30 +75,29 @@ main (int argc, char *argv[])
75 bf = GNUNET_CONTAINER_bloomfilter_load (TESTFILE, SIZE, K); 75 bf = GNUNET_CONTAINER_bloomfilter_load (TESTFILE, SIZE, K);
76 76
77 for (i = 0; i < 200; i++) 77 for (i = 0; i < 200; i++)
78 { 78 {
79 nextHC (&tmp); 79 nextHC (&tmp);
80 GNUNET_CONTAINER_bloomfilter_add (bf, &tmp); 80 GNUNET_CONTAINER_bloomfilter_add (bf, &tmp);
81 } 81 }
82 SRANDOM (1); 82 SRANDOM (1);
83 ok1 = 0; 83 ok1 = 0;
84 for (i = 0; i < 200; i++) 84 for (i = 0; i < 200; i++)
85 { 85 {
86 nextHC (&tmp); 86 nextHC (&tmp);
87 if (GNUNET_CONTAINER_bloomfilter_test (bf, &tmp) == GNUNET_YES) 87 if (GNUNET_CONTAINER_bloomfilter_test (bf, &tmp) == GNUNET_YES)
88 ok1++; 88 ok1++;
89 } 89 }
90 if (ok1 != 200) 90 if (ok1 != 200)
91 { 91 {
92 printf ("Got %d elements out of" 92 printf ("Got %d elements out of" "200 expected after insertion.\n", ok1);
93 "200 expected after insertion.\n", ok1); 93 GNUNET_CONTAINER_bloomfilter_free (bf);
94 GNUNET_CONTAINER_bloomfilter_free (bf); 94 return -1;
95 return -1; 95 }
96 }
97 if (GNUNET_OK != GNUNET_CONTAINER_bloomfilter_get_raw_data (bf, buf, SIZE)) 96 if (GNUNET_OK != GNUNET_CONTAINER_bloomfilter_get_raw_data (bf, buf, SIZE))
98 { 97 {
99 GNUNET_CONTAINER_bloomfilter_free (bf); 98 GNUNET_CONTAINER_bloomfilter_free (bf);
100 return -1; 99 return -1;
101 } 100 }
102 101
103 GNUNET_CONTAINER_bloomfilter_free (bf); 102 GNUNET_CONTAINER_bloomfilter_free (bf);
104 103
@@ -111,94 +110,93 @@ main (int argc, char *argv[])
111 ok1 = 0; 110 ok1 = 0;
112 ok2 = 0; 111 ok2 = 0;
113 for (i = 0; i < 200; i++) 112 for (i = 0; i < 200; i++)
114 { 113 {
115 nextHC (&tmp); 114 nextHC (&tmp);
116 if (GNUNET_CONTAINER_bloomfilter_test (bf, &tmp) == GNUNET_YES) 115 if (GNUNET_CONTAINER_bloomfilter_test (bf, &tmp) == GNUNET_YES)
117 ok1++; 116 ok1++;
118 if (GNUNET_CONTAINER_bloomfilter_test (bfi, &tmp) == GNUNET_YES) 117 if (GNUNET_CONTAINER_bloomfilter_test (bfi, &tmp) == GNUNET_YES)
119 ok2++; 118 ok2++;
120 } 119 }
121 if (ok1 != 200) 120 if (ok1 != 200)
122 { 121 {
123 printf ("Got %d elements out of 200 " 122 printf ("Got %d elements out of 200 " "expected after reloading.\n", ok1);
124 "expected after reloading.\n", ok1); 123 GNUNET_CONTAINER_bloomfilter_free (bf);
125 GNUNET_CONTAINER_bloomfilter_free (bf); 124 GNUNET_CONTAINER_bloomfilter_free (bfi);
126 GNUNET_CONTAINER_bloomfilter_free (bfi); 125 return -1;
127 return -1; 126 }
128 }
129 127
130 if (ok2 != 200) 128 if (ok2 != 200)
131 { 129 {
132 printf ("Got %d elements out of 200 " 130 printf ("Got %d elements out of 200 "
133 "expected after initialization.\n", ok2); 131 "expected after initialization.\n", ok2);
134 GNUNET_CONTAINER_bloomfilter_free (bf); 132 GNUNET_CONTAINER_bloomfilter_free (bf);
135 GNUNET_CONTAINER_bloomfilter_free (bfi); 133 GNUNET_CONTAINER_bloomfilter_free (bfi);
136 return -1; 134 return -1;
137 } 135 }
138 136
139 SRANDOM (1); 137 SRANDOM (1);
140 for (i = 0; i < 100; i++) 138 for (i = 0; i < 100; i++)
141 { 139 {
142 nextHC (&tmp); 140 nextHC (&tmp);
143 GNUNET_CONTAINER_bloomfilter_remove (bf, &tmp); 141 GNUNET_CONTAINER_bloomfilter_remove (bf, &tmp);
144 GNUNET_CONTAINER_bloomfilter_remove (bfi, &tmp); 142 GNUNET_CONTAINER_bloomfilter_remove (bfi, &tmp);
145 } 143 }
146 144
147 SRANDOM (1); 145 SRANDOM (1);
148 146
149 ok1 = 0; 147 ok1 = 0;
150 ok2 = 0; 148 ok2 = 0;
151 for (i = 0; i < 200; i++) 149 for (i = 0; i < 200; i++)
152 { 150 {
153 nextHC (&tmp); 151 nextHC (&tmp);
154 if (GNUNET_CONTAINER_bloomfilter_test (bf, &tmp) == GNUNET_YES) 152 if (GNUNET_CONTAINER_bloomfilter_test (bf, &tmp) == GNUNET_YES)
155 ok1++; 153 ok1++;
156 if (GNUNET_CONTAINER_bloomfilter_test (bfi, &tmp) == GNUNET_YES) 154 if (GNUNET_CONTAINER_bloomfilter_test (bfi, &tmp) == GNUNET_YES)
157 ok2++; 155 ok2++;
158 } 156 }
159 157
160 if (ok1 != 100) 158 if (ok1 != 100)
161 { 159 {
162 printf ("Expected 100 elements in loaded filter" 160 printf ("Expected 100 elements in loaded filter"
163 " after adding 200 and deleting 100, got %d\n", ok1); 161 " after adding 200 and deleting 100, got %d\n", ok1);
164 GNUNET_CONTAINER_bloomfilter_free (bf); 162 GNUNET_CONTAINER_bloomfilter_free (bf);
165 GNUNET_CONTAINER_bloomfilter_free (bfi); 163 GNUNET_CONTAINER_bloomfilter_free (bfi);
166 return -1; 164 return -1;
167 } 165 }
168 if (ok2 != 200) 166 if (ok2 != 200)
169 { 167 {
170 printf ("Expected 200 elements in initialized filter" 168 printf ("Expected 200 elements in initialized filter"
171 " after adding 200 and deleting 100 " 169 " after adding 200 and deleting 100 "
172 "(which should do nothing for a filter not backed by a file), got %d\n", 170 "(which should do nothing for a filter not backed by a file), got %d\n",
173 ok2); 171 ok2);
174 GNUNET_CONTAINER_bloomfilter_free (bf); 172 GNUNET_CONTAINER_bloomfilter_free (bf);
175 GNUNET_CONTAINER_bloomfilter_free (bfi); 173 GNUNET_CONTAINER_bloomfilter_free (bfi);
176 return -1; 174 return -1;
177 } 175 }
178 176
179 SRANDOM (3); 177 SRANDOM (3);
180 178
181 GNUNET_CONTAINER_bloomfilter_clear (bf); 179 GNUNET_CONTAINER_bloomfilter_clear (bf);
182 falseok = 0; 180 falseok = 0;
183 for (i = 0; i < 1000; i++) 181 for (i = 0; i < 1000; i++)
184 { 182 {
185 nextHC (&tmp); 183 nextHC (&tmp);
186 if (GNUNET_CONTAINER_bloomfilter_test (bf, &tmp) == GNUNET_YES) 184 if (GNUNET_CONTAINER_bloomfilter_test (bf, &tmp) == GNUNET_YES)
187 falseok++; 185 falseok++;
188 } 186 }
189 if (falseok > 0) 187 if (falseok > 0)
190 { 188 {
191 GNUNET_CONTAINER_bloomfilter_free (bf); 189 GNUNET_CONTAINER_bloomfilter_free (bf);
192 GNUNET_CONTAINER_bloomfilter_free (bfi); 190 GNUNET_CONTAINER_bloomfilter_free (bfi);
193 return -1; 191 return -1;
194 } 192 }
195 193
196 if (GNUNET_OK != GNUNET_CONTAINER_bloomfilter_or (bf, buf, SIZE)) 194 if (GNUNET_OK != GNUNET_CONTAINER_bloomfilter_or (bf, buf, SIZE))
197 { 195 {
198 GNUNET_CONTAINER_bloomfilter_free (bf); 196 GNUNET_CONTAINER_bloomfilter_free (bf);
199 GNUNET_CONTAINER_bloomfilter_free (bfi); 197 GNUNET_CONTAINER_bloomfilter_free (bfi);
200 return -1; 198 return -1;
201 } 199 }
202 200
203 SRANDOM (2); 201 SRANDOM (2);
204 i = 20; 202 i = 20;
@@ -212,30 +210,30 @@ main (int argc, char *argv[])
212 ok1 = 0; 210 ok1 = 0;
213 ok2 = 0; 211 ok2 = 0;
214 for (i = 0; i < 20; i++) 212 for (i = 0; i < 20; i++)
215 { 213 {
216 nextHC (&tmp); 214 nextHC (&tmp);
217 if (GNUNET_CONTAINER_bloomfilter_test (bf, &tmp) == GNUNET_YES) 215 if (GNUNET_CONTAINER_bloomfilter_test (bf, &tmp) == GNUNET_YES)
218 ok1++; 216 ok1++;
219 if (GNUNET_CONTAINER_bloomfilter_test (bfi, &tmp) == GNUNET_YES) 217 if (GNUNET_CONTAINER_bloomfilter_test (bfi, &tmp) == GNUNET_YES)
220 ok2++; 218 ok2++;
221 } 219 }
222 220
223 if (ok1 != 20) 221 if (ok1 != 20)
224 { 222 {
225 printf ("Expected 20 elements in resized file-backed filter" 223 printf ("Expected 20 elements in resized file-backed filter"
226 " after adding 20, got %d\n", ok1); 224 " after adding 20, got %d\n", ok1);
227 GNUNET_CONTAINER_bloomfilter_free (bf); 225 GNUNET_CONTAINER_bloomfilter_free (bf);
228 GNUNET_CONTAINER_bloomfilter_free (bfi); 226 GNUNET_CONTAINER_bloomfilter_free (bfi);
229 return -1; 227 return -1;
230 } 228 }
231 if (ok2 != 20) 229 if (ok2 != 20)
232 { 230 {
233 printf ("Expected 20 elements in resized filter" 231 printf ("Expected 20 elements in resized filter"
234 " after adding 20, got %d\n", ok2); 232 " after adding 20, got %d\n", ok2);
235 GNUNET_CONTAINER_bloomfilter_free (bf); 233 GNUNET_CONTAINER_bloomfilter_free (bf);
236 GNUNET_CONTAINER_bloomfilter_free (bfi); 234 GNUNET_CONTAINER_bloomfilter_free (bfi);
237 return -1; 235 return -1;
238 } 236 }
239 237
240 238
241 GNUNET_CONTAINER_bloomfilter_free (bf); 239 GNUNET_CONTAINER_bloomfilter_free (bf);