diff options
author | Christian Grothoff <christian@grothoff.org> | 2017-02-18 17:52:48 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2017-02-18 17:52:48 +0100 |
commit | 8e1e2bc0da1dad5d0953d51ebe3b74ca208e0099 (patch) | |
tree | 02c6e4e5b4e172d6dc411832a73fbe93c3571633 /src/set/test_set_intersection_result_full.c | |
parent | 0b75f7855d5de3f5dd98c31f527611fd3963a16f (diff) | |
download | gnunet-8e1e2bc0da1dad5d0953d51ebe3b74ca208e0099.tar.gz gnunet-8e1e2bc0da1dad5d0953d51ebe3b74ca208e0099.zip |
fix testcase
Diffstat (limited to 'src/set/test_set_intersection_result_full.c')
-rw-r--r-- | src/set/test_set_intersection_result_full.c | 93 |
1 files changed, 70 insertions, 23 deletions
diff --git a/src/set/test_set_intersection_result_full.c b/src/set/test_set_intersection_result_full.c index f78a03eaf..b2d6ce8a9 100644 --- a/src/set/test_set_intersection_result_full.c +++ b/src/set/test_set_intersection_result_full.c | |||
@@ -60,6 +60,9 @@ result_cb_set1 (void *cls, | |||
60 | { | 60 | { |
61 | static int count; | 61 | static int count; |
62 | 62 | ||
63 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
64 | "Processing result set 1 (%d)\n", | ||
65 | status); | ||
63 | switch (status) | 66 | switch (status) |
64 | { | 67 | { |
65 | case GNUNET_SET_STATUS_OK: | 68 | case GNUNET_SET_STATUS_OK: |
@@ -74,6 +77,8 @@ result_cb_set1 (void *cls, | |||
74 | GNUNET_assert (1 == count); | 77 | GNUNET_assert (1 == count); |
75 | GNUNET_SET_destroy (set1); | 78 | GNUNET_SET_destroy (set1); |
76 | set1 = NULL; | 79 | set1 = NULL; |
80 | if (NULL == set2) | ||
81 | GNUNET_SCHEDULER_shutdown (); | ||
77 | break; | 82 | break; |
78 | default: | 83 | default: |
79 | GNUNET_assert (0); | 84 | GNUNET_assert (0); |
@@ -88,6 +93,9 @@ result_cb_set2 (void *cls, | |||
88 | { | 93 | { |
89 | static int count; | 94 | static int count; |
90 | 95 | ||
96 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
97 | "Processing result set 2 (%d)\n", | ||
98 | status); | ||
91 | switch (status) | 99 | switch (status) |
92 | { | 100 | { |
93 | case GNUNET_SET_STATUS_OK: | 101 | case GNUNET_SET_STATUS_OK: |
@@ -102,6 +110,8 @@ result_cb_set2 (void *cls, | |||
102 | GNUNET_assert (1 == count); | 110 | GNUNET_assert (1 == count); |
103 | GNUNET_SET_destroy (set2); | 111 | GNUNET_SET_destroy (set2); |
104 | set2 = NULL; | 112 | set2 = NULL; |
113 | if (NULL == set1) | ||
114 | GNUNET_SCHEDULER_shutdown (); | ||
105 | break; | 115 | break; |
106 | default: | 116 | default: |
107 | GNUNET_assert (0); | 117 | GNUNET_assert (0); |
@@ -115,14 +125,16 @@ listen_cb (void *cls, | |||
115 | const struct GNUNET_MessageHeader *context_msg, | 125 | const struct GNUNET_MessageHeader *context_msg, |
116 | struct GNUNET_SET_Request *request) | 126 | struct GNUNET_SET_Request *request) |
117 | { | 127 | { |
128 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
129 | "starting intersection by accepting and committing\n"); | ||
118 | GNUNET_assert (NULL != context_msg); | 130 | GNUNET_assert (NULL != context_msg); |
119 | GNUNET_assert (ntohs (context_msg->type) == GNUNET_MESSAGE_TYPE_DUMMY); | 131 | GNUNET_assert (ntohs (context_msg->type) == GNUNET_MESSAGE_TYPE_DUMMY); |
120 | GNUNET_SET_listen_cancel (listen_handle); | 132 | GNUNET_SET_listen_cancel (listen_handle); |
121 | listen_handle = NULL; | 133 | listen_handle = NULL; |
122 | oh2 = GNUNET_SET_accept (request, | 134 | oh2 = GNUNET_SET_accept (request, |
123 | GNUNET_SET_RESULT_FULL, | 135 | GNUNET_SET_RESULT_FULL, |
124 | &result_cb_set2, | 136 | &result_cb_set2, |
125 | NULL); | 137 | NULL); |
126 | GNUNET_SET_commit (oh2, | 138 | GNUNET_SET_commit (oh2, |
127 | set2); | 139 | set2); |
128 | } | 140 | } |
@@ -138,17 +150,20 @@ start (void *cls) | |||
138 | { | 150 | { |
139 | struct GNUNET_MessageHeader context_msg; | 151 | struct GNUNET_MessageHeader context_msg; |
140 | 152 | ||
153 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
154 | "starting listener\n"); | ||
141 | context_msg.size = htons (sizeof context_msg); | 155 | context_msg.size = htons (sizeof context_msg); |
142 | context_msg.type = htons (GNUNET_MESSAGE_TYPE_DUMMY); | 156 | context_msg.type = htons (GNUNET_MESSAGE_TYPE_DUMMY); |
143 | listen_handle = GNUNET_SET_listen (config, | 157 | listen_handle = GNUNET_SET_listen (config, |
144 | GNUNET_SET_OPERATION_INTERSECTION, | 158 | GNUNET_SET_OPERATION_INTERSECTION, |
145 | &app_id, | 159 | &app_id, |
146 | &listen_cb, NULL); | 160 | &listen_cb, |
161 | NULL); | ||
147 | oh1 = GNUNET_SET_prepare (&local_id, | 162 | oh1 = GNUNET_SET_prepare (&local_id, |
148 | &app_id, | 163 | &app_id, |
149 | &context_msg, | 164 | &context_msg, |
150 | GNUNET_SET_RESULT_FULL, | 165 | GNUNET_SET_RESULT_FULL, |
151 | &result_cb_set1, | 166 | &result_cb_set1, |
152 | NULL); | 167 | NULL); |
153 | GNUNET_SET_commit (oh1, | 168 | GNUNET_SET_commit (oh1, |
154 | set1); | 169 | set1); |
@@ -170,13 +185,22 @@ init_set2 (void *cls) | |||
170 | element.element_type = 0; | 185 | element.element_type = 0; |
171 | element.data = "hello"; | 186 | element.data = "hello"; |
172 | element.size = strlen(element.data); | 187 | element.size = strlen(element.data); |
173 | GNUNET_SET_add_element (set2, &element, NULL, NULL); | 188 | GNUNET_SET_add_element (set2, |
189 | &element, | ||
190 | NULL, | ||
191 | NULL); | ||
174 | element.data = "quux"; | 192 | element.data = "quux"; |
175 | element.size = strlen(element.data); | 193 | element.size = strlen(element.data); |
176 | GNUNET_SET_add_element (set2, &element, NULL, NULL); | 194 | GNUNET_SET_add_element (set2, |
195 | &element, | ||
196 | NULL, | ||
197 | NULL); | ||
177 | element.data = "baz"; | 198 | element.data = "baz"; |
178 | element.size = strlen(element.data); | 199 | element.size = strlen(element.data); |
179 | GNUNET_SET_add_element (set2, &element, &start, NULL); | 200 | GNUNET_SET_add_element (set2, |
201 | &element, | ||
202 | &start, | ||
203 | NULL); | ||
180 | } | 204 | } |
181 | 205 | ||
182 | 206 | ||
@@ -188,13 +212,21 @@ init_set1 (void) | |||
188 | { | 212 | { |
189 | struct GNUNET_SET_Element element; | 213 | struct GNUNET_SET_Element element; |
190 | 214 | ||
215 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
216 | "initializing set 1\n"); | ||
191 | element.element_type = 0; | 217 | element.element_type = 0; |
192 | element.data = "hello"; | 218 | element.data = "hello"; |
193 | element.size = strlen(element.data); | 219 | element.size = strlen(element.data); |
194 | GNUNET_SET_add_element (set1, &element, NULL, NULL); | 220 | GNUNET_SET_add_element (set1, |
221 | &element, | ||
222 | NULL, | ||
223 | NULL); | ||
195 | element.data = "bar"; | 224 | element.data = "bar"; |
196 | element.size = strlen(element.data); | 225 | element.size = strlen(element.data); |
197 | GNUNET_SET_add_element (set1, &element, &init_set2, NULL); | 226 | GNUNET_SET_add_element (set1, |
227 | &element, | ||
228 | &init_set2, | ||
229 | NULL); | ||
198 | } | 230 | } |
199 | 231 | ||
200 | 232 | ||
@@ -219,17 +251,27 @@ test_iter () | |||
219 | struct GNUNET_SET_Element element; | 251 | struct GNUNET_SET_Element element; |
220 | struct GNUNET_SET_Handle *iter_set; | 252 | struct GNUNET_SET_Handle *iter_set; |
221 | 253 | ||
222 | iter_set = GNUNET_SET_create (config, GNUNET_SET_OPERATION_INTERSECTION); | 254 | iter_set = GNUNET_SET_create (config, |
255 | GNUNET_SET_OPERATION_INTERSECTION); | ||
223 | element.element_type = 0; | 256 | element.element_type = 0; |
224 | element.data = "hello"; | 257 | element.data = "hello"; |
225 | element.size = strlen(element.data); | 258 | element.size = strlen(element.data); |
226 | GNUNET_SET_add_element (iter_set, &element, NULL, NULL); | 259 | GNUNET_SET_add_element (iter_set, |
260 | &element, | ||
261 | NULL, | ||
262 | NULL); | ||
227 | element.data = "bar"; | 263 | element.data = "bar"; |
228 | element.size = strlen(element.data); | 264 | element.size = strlen(element.data); |
229 | GNUNET_SET_add_element (iter_set, &element, NULL, NULL); | 265 | GNUNET_SET_add_element (iter_set, |
266 | &element, | ||
267 | NULL, | ||
268 | NULL); | ||
230 | element.data = "quux"; | 269 | element.data = "quux"; |
231 | element.size = strlen(element.data); | 270 | element.size = strlen(element.data); |
232 | GNUNET_SET_add_element (iter_set, &element, NULL, NULL); | 271 | GNUNET_SET_add_element (iter_set, |
272 | &element, | ||
273 | NULL, | ||
274 | NULL); | ||
233 | GNUNET_SET_iterate (iter_set, | 275 | GNUNET_SET_iterate (iter_set, |
234 | &iter_cb, | 276 | &iter_cb, |
235 | iter_set); | 277 | iter_set); |
@@ -307,8 +349,10 @@ run (void *cls, | |||
307 | struct GNUNET_TESTING_Peer *peer) | 349 | struct GNUNET_TESTING_Peer *peer) |
308 | { | 350 | { |
309 | config = cfg; | 351 | config = cfg; |
310 | GNUNET_TESTING_peer_get_identity (peer, &local_id); | 352 | GNUNET_TESTING_peer_get_identity (peer, |
311 | if (0) test_iter (); | 353 | &local_id); |
354 | if (0) | ||
355 | test_iter (); | ||
312 | 356 | ||
313 | tt = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5), | 357 | tt = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5), |
314 | &timeout_fail, | 358 | &timeout_fail, |
@@ -316,8 +360,10 @@ run (void *cls, | |||
316 | GNUNET_SCHEDULER_add_shutdown (&do_shutdown, | 360 | GNUNET_SCHEDULER_add_shutdown (&do_shutdown, |
317 | NULL); | 361 | NULL); |
318 | 362 | ||
319 | set1 = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_INTERSECTION); | 363 | set1 = GNUNET_SET_create (cfg, |
320 | set2 = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_INTERSECTION); | 364 | GNUNET_SET_OPERATION_INTERSECTION); |
365 | set2 = GNUNET_SET_create (cfg, | ||
366 | GNUNET_SET_OPERATION_INTERSECTION); | ||
321 | GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, | 367 | GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, |
322 | &app_id); | 368 | &app_id); |
323 | 369 | ||
@@ -327,9 +373,10 @@ run (void *cls, | |||
327 | 373 | ||
328 | 374 | ||
329 | int | 375 | int |
330 | main (int argc, char **argv) | 376 | main (int argc, |
377 | char **argv) | ||
331 | { | 378 | { |
332 | if (0 != GNUNET_TESTING_peer_run ("test_set_api", | 379 | if (0 != GNUNET_TESTING_peer_run ("test_set_intersection_result_full", |
333 | "test_set.conf", | 380 | "test_set.conf", |
334 | &run, NULL)) | 381 | &run, NULL)) |
335 | return 1; | 382 | return 1; |