diff options
-rw-r--r-- | src/dht/test_dht_api.c | 12 | ||||
-rw-r--r-- | src/dht/test_dht_multipeer.c | 30 | ||||
-rw-r--r-- | src/dht/test_dht_twopeer.c | 33 |
3 files changed, 43 insertions, 32 deletions
diff --git a/src/dht/test_dht_api.c b/src/dht/test_dht_api.c index f5bb05d8b..7605d8499 100644 --- a/src/dht/test_dht_api.c +++ b/src/dht/test_dht_api.c | |||
@@ -96,7 +96,7 @@ struct RetryContext retry_context; | |||
96 | 96 | ||
97 | static int ok; | 97 | static int ok; |
98 | 98 | ||
99 | GNUNET_SCHEDULER_TaskIdentifier die_task; | 99 | static GNUNET_SCHEDULER_TaskIdentifier die_task; |
100 | 100 | ||
101 | #if VERBOSE | 101 | #if VERBOSE |
102 | #define OKPP do { ok++; fprintf (stderr, "Now at stage %u at %s:%u\n", ok, __FILE__, __LINE__); } while (0) | 102 | #define OKPP do { ok++; fprintf (stderr, "Now at stage %u at %s:%u\n", ok, __FILE__, __LINE__); } while (0) |
@@ -173,7 +173,7 @@ test_find_peer_stop (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
173 | { | 173 | { |
174 | GNUNET_break (0); | 174 | GNUNET_break (0); |
175 | GNUNET_SCHEDULER_cancel (die_task); | 175 | GNUNET_SCHEDULER_cancel (die_task); |
176 | GNUNET_SCHEDULER_add_now (&end_badly, NULL); | 176 | die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); |
177 | return; | 177 | return; |
178 | } | 178 | } |
179 | 179 | ||
@@ -279,7 +279,7 @@ retry_find_peer (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
279 | { | 279 | { |
280 | GNUNET_break (0); | 280 | GNUNET_break (0); |
281 | GNUNET_SCHEDULER_cancel (die_task); | 281 | GNUNET_SCHEDULER_cancel (die_task); |
282 | GNUNET_SCHEDULER_add_now (&end_badly, &p1); | 282 | die_task = GNUNET_SCHEDULER_add_now (&end_badly, &p1); |
283 | return; | 283 | return; |
284 | } | 284 | } |
285 | retry_ctx->retry_task = | 285 | retry_ctx->retry_task = |
@@ -339,7 +339,7 @@ test_find_peer (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
339 | { | 339 | { |
340 | GNUNET_break (0); | 340 | GNUNET_break (0); |
341 | GNUNET_SCHEDULER_cancel (die_task); | 341 | GNUNET_SCHEDULER_cancel (die_task); |
342 | GNUNET_SCHEDULER_add_now (&end_badly, &p1); | 342 | die_task = GNUNET_SCHEDULER_add_now (&end_badly, &p1); |
343 | return; | 343 | return; |
344 | } | 344 | } |
345 | retry_context.retry_task = | 345 | retry_context.retry_task = |
@@ -363,7 +363,7 @@ test_get_stop (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
363 | { | 363 | { |
364 | GNUNET_break (0); | 364 | GNUNET_break (0); |
365 | GNUNET_SCHEDULER_cancel (die_task); | 365 | GNUNET_SCHEDULER_cancel (die_task); |
366 | GNUNET_SCHEDULER_add_now (&end_badly, NULL); | 366 | die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); |
367 | return; | 367 | return; |
368 | } | 368 | } |
369 | GNUNET_assert (peer->dht_handle != NULL); | 369 | GNUNET_assert (peer->dht_handle != NULL); |
@@ -416,7 +416,7 @@ test_get (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
416 | { | 416 | { |
417 | GNUNET_break (0); | 417 | GNUNET_break (0); |
418 | GNUNET_SCHEDULER_cancel (die_task); | 418 | GNUNET_SCHEDULER_cancel (die_task); |
419 | GNUNET_SCHEDULER_add_now (&end_badly, &p1); | 419 | die_task = GNUNET_SCHEDULER_add_now (&end_badly, &p1); |
420 | return; | 420 | return; |
421 | } | 421 | } |
422 | 422 | ||
diff --git a/src/dht/test_dht_multipeer.c b/src/dht/test_dht_multipeer.c index 47d78ef40..30e30eedb 100644 --- a/src/dht/test_dht_multipeer.c +++ b/src/dht/test_dht_multipeer.c | |||
@@ -211,7 +211,7 @@ static unsigned int failed_connections; | |||
211 | enum GNUNET_DHT_RouteOption route_option; | 211 | enum GNUNET_DHT_RouteOption route_option; |
212 | 212 | ||
213 | /* Task handle to use to schedule test failure */ | 213 | /* Task handle to use to schedule test failure */ |
214 | GNUNET_SCHEDULER_TaskIdentifier die_task; | 214 | static GNUNET_SCHEDULER_TaskIdentifier die_task; |
215 | 215 | ||
216 | static char *blacklist_transports; | 216 | static char *blacklist_transports; |
217 | 217 | ||
@@ -347,12 +347,13 @@ get_stop_finished (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
347 | { | 347 | { |
348 | GNUNET_SCHEDULER_cancel (die_task); | 348 | GNUNET_SCHEDULER_cancel (die_task); |
349 | //GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_MINUTES, 5), &get_topology, NULL); | 349 | //GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_MINUTES, 5), &get_topology, NULL); |
350 | GNUNET_SCHEDULER_add_now (&finish_testing, NULL); | 350 | die_task = GNUNET_SCHEDULER_add_now (&finish_testing, NULL); |
351 | } | 351 | } |
352 | else if ((gets_completed + gets_failed == num_gets) && (outstanding_gets == 0)) /* Had some failures */ | 352 | else if ((gets_completed + gets_failed == num_gets) && (outstanding_gets == 0)) /* Had some failures */ |
353 | { | 353 | { |
354 | GNUNET_SCHEDULER_cancel (die_task); | 354 | GNUNET_SCHEDULER_cancel (die_task); |
355 | GNUNET_SCHEDULER_add_now (&end_badly, "not all gets succeeded!\n"); | 355 | die_task = |
356 | GNUNET_SCHEDULER_add_now (&end_badly, "not all gets succeeded!\n"); | ||
356 | } | 357 | } |
357 | } | 358 | } |
358 | 359 | ||
@@ -645,7 +646,6 @@ topology_callback (void *cls, const struct GNUNET_PeerIdentity *first, | |||
645 | die_task = | 646 | die_task = |
646 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, | 647 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, |
647 | "from setup puts/gets"); | 648 | "from setup puts/gets"); |
648 | |||
649 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply | 649 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply |
650 | (GNUNET_TIME_UNIT_SECONDS, 2), | 650 | (GNUNET_TIME_UNIT_SECONDS, 2), |
651 | &setup_puts_and_gets, NULL); | 651 | &setup_puts_and_gets, NULL); |
@@ -685,7 +685,6 @@ peers_started_callback (void *cls, const struct GNUNET_PeerIdentity *id, | |||
685 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 685 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
686 | "All %d daemons started, now connecting peers!\n", num_peers); | 686 | "All %d daemons started, now connecting peers!\n", num_peers); |
687 | #endif | 687 | #endif |
688 | GNUNET_SCHEDULER_cancel (die_task); | ||
689 | 688 | ||
690 | expected_connections = -1; | 689 | expected_connections = -1; |
691 | if ((pg != NULL) && (peers_left == 0)) | 690 | if ((pg != NULL) && (peers_left == 0)) |
@@ -701,17 +700,19 @@ peers_started_callback (void *cls, const struct GNUNET_PeerIdentity *id, | |||
701 | #endif | 700 | #endif |
702 | } | 701 | } |
703 | 702 | ||
703 | GNUNET_SCHEDULER_cancel (die_task); | ||
704 | if (expected_connections == GNUNET_SYSERR) | 704 | if (expected_connections == GNUNET_SYSERR) |
705 | { | 705 | { |
706 | die_task = | 706 | die_task = |
707 | GNUNET_SCHEDULER_add_now (&end_badly, | 707 | GNUNET_SCHEDULER_add_now (&end_badly, |
708 | "from connect topology (bad return)"); | 708 | "from connect topology (bad return)"); |
709 | } | 709 | } |
710 | 710 | else | |
711 | die_task = | 711 | { |
712 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, | 712 | die_task = |
713 | "from connect topology (timeout)"); | 713 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, |
714 | 714 | "from connect topology (timeout)"); | |
715 | } | ||
715 | ok = 0; | 716 | ok = 0; |
716 | } | 717 | } |
717 | } | 718 | } |
@@ -720,6 +721,7 @@ static void | |||
720 | create_topology () | 721 | create_topology () |
721 | { | 722 | { |
722 | peers_left = num_peers; /* Reset counter */ | 723 | peers_left = num_peers; /* Reset counter */ |
724 | GNUNET_SCHEDULER_cancel (die_task); | ||
723 | if (GNUNET_TESTING_create_topology | 725 | if (GNUNET_TESTING_create_topology |
724 | (pg, topology, blacklist_topology, blacklist_transports) != GNUNET_SYSERR) | 726 | (pg, topology, blacklist_topology, blacklist_transports) != GNUNET_SYSERR) |
725 | { | 727 | { |
@@ -728,18 +730,16 @@ create_topology () | |||
728 | "Topology set up, now starting peers!\n"); | 730 | "Topology set up, now starting peers!\n"); |
729 | #endif | 731 | #endif |
730 | GNUNET_TESTING_daemons_continue_startup (pg); | 732 | GNUNET_TESTING_daemons_continue_startup (pg); |
733 | die_task = | ||
734 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, | ||
735 | "from continue startup (timeout)"); | ||
731 | } | 736 | } |
732 | else | 737 | else |
733 | { | 738 | { |
734 | GNUNET_SCHEDULER_cancel (die_task); | ||
735 | die_task = | 739 | die_task = |
736 | GNUNET_SCHEDULER_add_now (&end_badly, | 740 | GNUNET_SCHEDULER_add_now (&end_badly, |
737 | "from create topology (bad return)"); | 741 | "from create topology (bad return)"); |
738 | } | 742 | } |
739 | GNUNET_SCHEDULER_cancel (die_task); | ||
740 | die_task = | ||
741 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, | ||
742 | "from continue startup (timeout)"); | ||
743 | } | 743 | } |
744 | 744 | ||
745 | /** | 745 | /** |
diff --git a/src/dht/test_dht_twopeer.c b/src/dht/test_dht_twopeer.c index 63f200e7d..df95555cf 100644 --- a/src/dht/test_dht_twopeer.c +++ b/src/dht/test_dht_twopeer.c | |||
@@ -72,7 +72,7 @@ static unsigned int total_connections; | |||
72 | 72 | ||
73 | static unsigned int failed_connections; | 73 | static unsigned int failed_connections; |
74 | 74 | ||
75 | GNUNET_SCHEDULER_TaskIdentifier die_task; | 75 | static GNUNET_SCHEDULER_TaskIdentifier die_task; |
76 | 76 | ||
77 | static int ok; | 77 | static int ok; |
78 | 78 | ||
@@ -105,7 +105,9 @@ finish_testing (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
105 | GNUNET_assert (peer2dht != NULL); | 105 | GNUNET_assert (peer2dht != NULL); |
106 | GNUNET_DHT_disconnect (peer1dht); | 106 | GNUNET_DHT_disconnect (peer1dht); |
107 | GNUNET_DHT_disconnect (peer2dht); | 107 | GNUNET_DHT_disconnect (peer2dht); |
108 | fprintf (stderr, "Testing STOP! - finished\n"); | ||
108 | GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL); | 109 | GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL); |
110 | pg = NULL; | ||
109 | ok = 0; | 111 | ok = 0; |
110 | } | 112 | } |
111 | 113 | ||
@@ -118,8 +120,12 @@ end_badly_cont (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
118 | if (peer2dht != NULL) | 120 | if (peer2dht != NULL) |
119 | GNUNET_DHT_disconnect (peer2dht); | 121 | GNUNET_DHT_disconnect (peer2dht); |
120 | 122 | ||
123 | fprintf (stderr, "Testing STOP - Badly!\n"); | ||
121 | if (pg != NULL) | 124 | if (pg != NULL) |
125 | { | ||
122 | GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL); | 126 | GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL); |
127 | pg = NULL; | ||
128 | } | ||
123 | 129 | ||
124 | if (curr_get_ctx.retry_task != GNUNET_SCHEDULER_NO_TASK) | 130 | if (curr_get_ctx.retry_task != GNUNET_SCHEDULER_NO_TASK) |
125 | GNUNET_SCHEDULER_cancel (curr_get_ctx.retry_task); | 131 | GNUNET_SCHEDULER_cancel (curr_get_ctx.retry_task); |
@@ -170,7 +176,9 @@ get_result_iterator (void *cls, struct GNUNET_TIME_Absolute exp, | |||
170 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 176 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
171 | "Key returned is not the same key as was searched for!\n"); | 177 | "Key returned is not the same key as was searched for!\n"); |
172 | GNUNET_SCHEDULER_cancel (die_task); | 178 | GNUNET_SCHEDULER_cancel (die_task); |
173 | GNUNET_SCHEDULER_add_now (&end_badly, "key mismatch in get response!\n"); | 179 | die_task = |
180 | GNUNET_SCHEDULER_add_now (&end_badly, | ||
181 | "key mismatch in get response!\n"); | ||
174 | return; | 182 | return; |
175 | } | 183 | } |
176 | 184 | ||
@@ -195,7 +203,7 @@ get_result_iterator (void *cls, struct GNUNET_TIME_Absolute exp, | |||
195 | "Received second correct GET request response!\n"); | 203 | "Received second correct GET request response!\n"); |
196 | GNUNET_SCHEDULER_cancel (die_task); | 204 | GNUNET_SCHEDULER_cancel (die_task); |
197 | GNUNET_DHT_get_stop (get_context->get_handle); | 205 | GNUNET_DHT_get_stop (get_context->get_handle); |
198 | GNUNET_SCHEDULER_add_now (&finish_testing, NULL); | 206 | die_task = GNUNET_SCHEDULER_add_now (&finish_testing, NULL); |
199 | } | 207 | } |
200 | 208 | ||
201 | } | 209 | } |
@@ -218,7 +226,9 @@ get_stop_finished (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
218 | "Too many attempts failed, ending test!\n", | 226 | "Too many attempts failed, ending test!\n", |
219 | get_context->get_attempts); | 227 | get_context->get_attempts); |
220 | GNUNET_SCHEDULER_cancel (die_task); | 228 | GNUNET_SCHEDULER_cancel (die_task); |
221 | GNUNET_SCHEDULER_add_now (&end_badly, "key mismatch in get response!\n"); | 229 | die_task = |
230 | GNUNET_SCHEDULER_add_now (&end_badly, | ||
231 | "key mismatch in get response!\n"); | ||
222 | return; | 232 | return; |
223 | } | 233 | } |
224 | get_context->get_attempts++; | 234 | get_context->get_attempts++; |
@@ -340,11 +350,10 @@ connect_topology (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
340 | die_task = | 350 | die_task = |
341 | GNUNET_SCHEDULER_add_now (&end_badly, | 351 | GNUNET_SCHEDULER_add_now (&end_badly, |
342 | "from connect topology (bad return)"); | 352 | "from connect topology (bad return)"); |
343 | 353 | else | |
344 | 354 | die_task = | |
345 | die_task = | 355 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, |
346 | GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, | 356 | "from connect topology (timeout)"); |
347 | "from connect topology (timeout)"); | ||
348 | } | 357 | } |
349 | 358 | ||
350 | static void | 359 | static void |
@@ -366,7 +375,8 @@ peers_started_callback (void *cls, const struct GNUNET_PeerIdentity *id, | |||
366 | if (peer1dht == NULL) | 375 | if (peer1dht == NULL) |
367 | { | 376 | { |
368 | GNUNET_SCHEDULER_cancel (die_task); | 377 | GNUNET_SCHEDULER_cancel (die_task); |
369 | GNUNET_SCHEDULER_add_now (&end_badly, "Failed to get dht handle!\n"); | 378 | die_task = |
379 | GNUNET_SCHEDULER_add_now (&end_badly, "Failed to get dht handle!\n"); | ||
370 | } | 380 | } |
371 | } | 381 | } |
372 | else | 382 | else |
@@ -376,7 +386,8 @@ peers_started_callback (void *cls, const struct GNUNET_PeerIdentity *id, | |||
376 | if (peer2dht == NULL) | 386 | if (peer2dht == NULL) |
377 | { | 387 | { |
378 | GNUNET_SCHEDULER_cancel (die_task); | 388 | GNUNET_SCHEDULER_cancel (die_task); |
379 | GNUNET_SCHEDULER_add_now (&end_badly, "Failed to get dht handle!\n"); | 389 | die_task = |
390 | GNUNET_SCHEDULER_add_now (&end_badly, "Failed to get dht handle!\n"); | ||
380 | } | 391 | } |
381 | } | 392 | } |
382 | 393 | ||