aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-09-01 15:06:23 +0000
committerChristian Grothoff <christian@grothoff.org>2011-09-01 15:06:23 +0000
commit2f2addcbb2e6f9bb65865a3e6791f18ad0dd3cda (patch)
tree63e560bc37367dacd1a0a419b1e0af8fff0c5847 /src
parent7e520854fcacaa4991d279919d179f6aff4887cb (diff)
downloadgnunet-2f2addcbb2e6f9bb65865a3e6791f18ad0dd3cda.tar.gz
gnunet-2f2addcbb2e6f9bb65865a3e6791f18ad0dd3cda.zip
fixing double-adding of the 'die-task'
Diffstat (limited to 'src')
-rw-r--r--src/dht/test_dht_api.c12
-rw-r--r--src/dht/test_dht_multipeer.c30
-rw-r--r--src/dht/test_dht_twopeer.c33
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
97static int ok; 97static int ok;
98 98
99GNUNET_SCHEDULER_TaskIdentifier die_task; 99static 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;
211enum GNUNET_DHT_RouteOption route_option; 211enum 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 */
214GNUNET_SCHEDULER_TaskIdentifier die_task; 214static GNUNET_SCHEDULER_TaskIdentifier die_task;
215 215
216static char *blacklist_transports; 216static 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
720create_topology () 721create_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
73static unsigned int failed_connections; 73static unsigned int failed_connections;
74 74
75GNUNET_SCHEDULER_TaskIdentifier die_task; 75static GNUNET_SCHEDULER_TaskIdentifier die_task;
76 76
77static int ok; 77static 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
350static void 359static 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