diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2012-08-24 15:46:24 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2012-08-24 15:46:24 +0000 |
commit | 6fda2ae5cf92ad26850c94bde6c7d5b7e2e96ce6 (patch) | |
tree | 0662adf4989f41b677201ddd4fe0fb94b12a29b9 /src/testbed/test_testbed_api_controllerlink.c | |
parent | 48a3c875e2f046e305494b9e78c3e395077469aa (diff) | |
download | gnunet-6fda2ae5cf92ad26850c94bde6c7d5b7e2e96ce6.tar.gz gnunet-6fda2ae5cf92ad26850c94bde6c7d5b7e2e96ce6.zip |
peer destroy forwarding with tests
Diffstat (limited to 'src/testbed/test_testbed_api_controllerlink.c')
-rw-r--r-- | src/testbed/test_testbed_api_controllerlink.c | 67 |
1 files changed, 49 insertions, 18 deletions
diff --git a/src/testbed/test_testbed_api_controllerlink.c b/src/testbed/test_testbed_api_controllerlink.c index 5236ada4a..48ce2546e 100644 --- a/src/testbed/test_testbed_api_controllerlink.c +++ b/src/testbed/test_testbed_api_controllerlink.c | |||
@@ -83,7 +83,17 @@ enum Stage | |||
83 | SLAVE1_PEER_CREATE_SUCCESS, | 83 | SLAVE1_PEER_CREATE_SUCCESS, |
84 | 84 | ||
85 | /** | 85 | /** |
86 | * Test is successful | 86 | * Peer create on slave 2 successful |
87 | */ | ||
88 | SLAVE2_PEER_CREATE_SUCCESS, | ||
89 | |||
90 | /** | ||
91 | * Peer destroy on slave 1 successful | ||
92 | */ | ||
93 | SLAVE1_PEER_DESTROY_SUCCESS, | ||
94 | |||
95 | /** | ||
96 | * Peer destory on slave 2 successful; Marks test as successful | ||
87 | */ | 97 | */ |
88 | SUCCESS | 98 | SUCCESS |
89 | }; | 99 | }; |
@@ -224,10 +234,11 @@ peer_create_cb (void *cls, struct GNUNET_TESTBED_Peer *peer, const char *emsg) | |||
224 | case SLAVE1_PEER_CREATE_SUCCESS: | 234 | case SLAVE1_PEER_CREATE_SUCCESS: |
225 | GNUNET_assert (NULL != peer); | 235 | GNUNET_assert (NULL != peer); |
226 | GNUNET_assert (NULL == emsg); | 236 | GNUNET_assert (NULL == emsg); |
227 | result = SUCCESS; | 237 | result = SLAVE2_PEER_CREATE_SUCCESS; |
228 | slave2_peer = peer; | 238 | slave2_peer = peer; |
229 | GNUNET_TESTBED_operation_done (op); | 239 | GNUNET_TESTBED_operation_done (op); |
230 | GNUNET_SCHEDULER_add_now (&do_shutdown, NULL); | 240 | op = GNUNET_TESTBED_peer_destroy (slave1_peer); |
241 | GNUNET_assert (NULL != op); | ||
231 | break; | 242 | break; |
232 | default: | 243 | default: |
233 | GNUNET_assert (0); | 244 | GNUNET_assert (0); |
@@ -236,6 +247,26 @@ peer_create_cb (void *cls, struct GNUNET_TESTBED_Peer *peer, const char *emsg) | |||
236 | 247 | ||
237 | 248 | ||
238 | /** | 249 | /** |
250 | * Checks the event if it is an operation finished event and if indicates a | ||
251 | * successfull completion of operation | ||
252 | * | ||
253 | * @param event the event information to check | ||
254 | */ | ||
255 | static void | ||
256 | check_operation_success (const struct GNUNET_TESTBED_EventInformation *event) | ||
257 | { | ||
258 | GNUNET_assert (NULL != event); | ||
259 | GNUNET_assert (GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type); | ||
260 | GNUNET_assert (event->details.operation_finished.operation == op); | ||
261 | GNUNET_assert (NULL == event->details.operation_finished.op_cls); | ||
262 | GNUNET_assert (NULL == event->details.operation_finished.emsg); | ||
263 | GNUNET_assert (GNUNET_TESTBED_PIT_GENERIC == | ||
264 | event->details.operation_finished.pit); | ||
265 | GNUNET_assert (NULL == event->details.operation_finished.op_result.generic); | ||
266 | } | ||
267 | |||
268 | |||
269 | /** | ||
239 | * Signature of the event handler function called by the | 270 | * Signature of the event handler function called by the |
240 | * respective event controller. | 271 | * respective event controller. |
241 | * | 272 | * |
@@ -248,14 +279,7 @@ controller_cb(void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
248 | switch (result) | 279 | switch (result) |
249 | { | 280 | { |
250 | case SLAVE2_REGISTERED: | 281 | case SLAVE2_REGISTERED: |
251 | GNUNET_assert (NULL != event); | 282 | check_operation_success (event); |
252 | GNUNET_assert (GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type); | ||
253 | GNUNET_assert (event->details.operation_finished.operation == op); | ||
254 | GNUNET_assert (NULL == event->details.operation_finished.op_cls); | ||
255 | GNUNET_assert (NULL == event->details.operation_finished.emsg); | ||
256 | GNUNET_assert (GNUNET_TESTBED_PIT_GENERIC == | ||
257 | event->details.operation_finished.pit); | ||
258 | GNUNET_assert (NULL == event->details.operation_finished.op_result.generic); | ||
259 | GNUNET_TESTBED_operation_done (op); | 283 | GNUNET_TESTBED_operation_done (op); |
260 | op = NULL; | 284 | op = NULL; |
261 | result = SLAVE1_LINK_SUCCESS; | 285 | result = SLAVE1_LINK_SUCCESS; |
@@ -265,18 +289,25 @@ controller_cb(void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
265 | GNUNET_assert (NULL != op); | 289 | GNUNET_assert (NULL != op); |
266 | break; | 290 | break; |
267 | case SLAVE1_LINK_SUCCESS: | 291 | case SLAVE1_LINK_SUCCESS: |
268 | GNUNET_assert (GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type); | 292 | check_operation_success (event); |
269 | GNUNET_assert (event->details.operation_finished.operation == op); | ||
270 | GNUNET_assert (NULL == event->details.operation_finished.op_cls); | ||
271 | GNUNET_assert (NULL == event->details.operation_finished.emsg); | ||
272 | GNUNET_assert (GNUNET_TESTBED_PIT_GENERIC == | ||
273 | event->details.operation_finished.pit); | ||
274 | GNUNET_assert (NULL == event->details.operation_finished.op_result.generic); | ||
275 | GNUNET_TESTBED_operation_done (op); | 293 | GNUNET_TESTBED_operation_done (op); |
276 | op = NULL; | 294 | op = NULL; |
277 | result = SLAVE2_LINK_SUCCESS; | 295 | result = SLAVE2_LINK_SUCCESS; |
278 | op = GNUNET_TESTBED_peer_create (mc, slave, cfg, peer_create_cb, NULL); | 296 | op = GNUNET_TESTBED_peer_create (mc, slave, cfg, peer_create_cb, NULL); |
279 | GNUNET_assert (NULL != op); | 297 | GNUNET_assert (NULL != op); |
298 | break; | ||
299 | case SLAVE2_PEER_CREATE_SUCCESS: | ||
300 | check_operation_success (event); | ||
301 | GNUNET_TESTBED_operation_done (op); | ||
302 | result = SLAVE1_PEER_DESTROY_SUCCESS; | ||
303 | op = GNUNET_TESTBED_peer_destroy (slave2_peer); | ||
304 | GNUNET_assert (NULL != slave2_peer); | ||
305 | break; | ||
306 | case SLAVE1_PEER_DESTROY_SUCCESS: | ||
307 | check_operation_success (event); | ||
308 | GNUNET_TESTBED_operation_done (op); | ||
309 | result = SUCCESS; | ||
310 | GNUNET_SCHEDULER_add_now (&do_shutdown, NULL); | ||
280 | break; | 311 | break; |
281 | default: | 312 | default: |
282 | GNUNET_assert (0); | 313 | GNUNET_assert (0); |