aboutsummaryrefslogtreecommitdiff
path: root/src/set
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-06-20 15:18:00 +0000
committerFlorian Dold <florian.dold@gmail.com>2016-06-20 15:18:00 +0000
commit726d3b7c0f8a0f5c14f7ffa787502fc4c56ab2c1 (patch)
treeb59bb8719e6c2c41467d740f06c25a903d407292 /src/set
parentf18f7122859485e1d949539ee7aa802a39963b43 (diff)
downloadgnunet-726d3b7c0f8a0f5c14f7ffa787502fc4c56ab2c1.tar.gz
gnunet-726d3b7c0f8a0f5c14f7ffa787502fc4c56ab2c1.zip
adapt set test case to new scheduler semantics
Diffstat (limited to 'src/set')
-rw-r--r--src/set/test_set_union_result_symmetric.c36
1 files changed, 33 insertions, 3 deletions
diff --git a/src/set/test_set_union_result_symmetric.c b/src/set/test_set_union_result_symmetric.c
index 13f5c3e18..ec5bd936c 100644
--- a/src/set/test_set_union_result_symmetric.c
+++ b/src/set/test_set_union_result_symmetric.c
@@ -61,6 +61,11 @@ static unsigned int count_set1;
61 */ 61 */
62static unsigned int count_set2; 62static unsigned int count_set2;
63 63
64/**
65 * Task that is run when the test times out.
66 */
67static struct GNUNET_SCHEDULER_Task *timeout_task;
68
64 69
65static void 70static void
66result_cb_set1 (void *cls, 71result_cb_set1 (void *cls,
@@ -78,6 +83,11 @@ result_cb_set1 (void *cls,
78 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 83 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
79 "set 1: failure\n"); 84 "set 1: failure\n");
80 ret = 1; 85 ret = 1;
86 if (NULL != timeout_task)
87 {
88 GNUNET_SCHEDULER_cancel (timeout_task);
89 timeout_task = NULL;
90 }
81 GNUNET_SCHEDULER_shutdown (); 91 GNUNET_SCHEDULER_shutdown ();
82 break; 92 break;
83 case GNUNET_SET_STATUS_DONE: 93 case GNUNET_SET_STATUS_DONE:
@@ -86,7 +96,14 @@ result_cb_set1 (void *cls,
86 GNUNET_SET_destroy (set1); 96 GNUNET_SET_destroy (set1);
87 set1 = NULL; 97 set1 = NULL;
88 if (NULL == set2) 98 if (NULL == set2)
99 {
100 if (NULL != timeout_task)
101 {
102 GNUNET_SCHEDULER_cancel (timeout_task);
103 timeout_task = NULL;
104 }
89 GNUNET_SCHEDULER_shutdown (); 105 GNUNET_SCHEDULER_shutdown ();
106 }
90 break; 107 break;
91 case GNUNET_SET_STATUS_ADD_REMOTE: 108 case GNUNET_SET_STATUS_ADD_REMOTE:
92 break; 109 break;
@@ -112,6 +129,11 @@ result_cb_set2 (void *cls,
112 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 129 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
113 "set 2: failure\n"); 130 "set 2: failure\n");
114 ret = 1; 131 ret = 1;
132 if (NULL != timeout_task)
133 {
134 GNUNET_SCHEDULER_cancel (timeout_task);
135 timeout_task = NULL;
136 }
115 GNUNET_SCHEDULER_shutdown (); 137 GNUNET_SCHEDULER_shutdown ();
116 break; 138 break;
117 case GNUNET_SET_STATUS_DONE: 139 case GNUNET_SET_STATUS_DONE:
@@ -120,7 +142,14 @@ result_cb_set2 (void *cls,
120 GNUNET_SET_destroy (set2); 142 GNUNET_SET_destroy (set2);
121 set2 = NULL; 143 set2 = NULL;
122 if (NULL == set1) 144 if (NULL == set1)
145 {
146 if (NULL != timeout_task)
147 {
148 GNUNET_SCHEDULER_cancel (timeout_task);
149 timeout_task = NULL;
150 }
123 GNUNET_SCHEDULER_shutdown (); 151 GNUNET_SCHEDULER_shutdown ();
152 }
124 break; 153 break;
125 case GNUNET_SET_STATUS_ADD_REMOTE: 154 case GNUNET_SET_STATUS_ADD_REMOTE:
126 break; 155 break;
@@ -297,6 +326,7 @@ test_iter ()
297static void 326static void
298timeout_fail (void *cls) 327timeout_fail (void *cls)
299{ 328{
329 timeout_task = NULL;
300 GNUNET_SCHEDULER_shutdown (); 330 GNUNET_SCHEDULER_shutdown ();
301 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 331 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
302 "test timed out\n"); 332 "test timed out\n");
@@ -317,9 +347,9 @@ run (void *cls,
317 const struct GNUNET_CONFIGURATION_Handle *cfg, 347 const struct GNUNET_CONFIGURATION_Handle *cfg,
318 struct GNUNET_TESTING_Peer *peer) 348 struct GNUNET_TESTING_Peer *peer)
319{ 349{
320 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5), 350 timeout_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5),
321 &timeout_fail, 351 &timeout_fail,
322 NULL); 352 NULL);
323 353
324 config = cfg; 354 config = cfg;
325 GNUNET_TESTING_peer_get_identity (peer, 355 GNUNET_TESTING_peer_get_identity (peer,