+ FAIL_TEST (GNUNET_TESTBED_ET_PEER_STOP == event->type);
+ FAIL_TEST (event->details.peer_stop.peer == slave1_peer);
+ GNUNET_TESTBED_operation_done (op);
+ result = SLAVE1_PEER_STOP_SUCCESS;
+ op = GNUNET_TESTBED_peer_start (NULL, slave2_peer, NULL, NULL);
+ FAIL_TEST (NULL != op);
+ break;
+
+ case SLAVE3_PEER_CREATE_SUCCESS:
+ FAIL_TEST (GNUNET_TESTBED_ET_PEER_START == event->type);
+ FAIL_TEST (event->details.peer_start.host == slave3);
+ FAIL_TEST (event->details.peer_start.peer == slave3_peer);
+ GNUNET_TESTBED_operation_done (op);
+ result = SLAVE3_PEER_START_SUCCESS;
+ sleep (1);
+ LOG_DEBUG ("**************************************\n");
+ op =
+ GNUNET_TESTBED_overlay_connect (mc, NULL, NULL, slave2_peer, slave3_peer);
+ FAIL_TEST (NULL != op);
+ break;
+
+ case SLAVE3_PEER_START_SUCCESS:
+ FAIL_TEST (NULL != event);
+ FAIL_TEST (GNUNET_TESTBED_ET_CONNECT == event->type);
+ FAIL_TEST (event->details.peer_connect.peer1 == slave2_peer);
+ FAIL_TEST (event->details.peer_connect.peer2 == slave3_peer);
+ result = SLAVE2_SLAVE3_PEERS_CONNECTED;
+ GNUNET_TESTBED_operation_done (op);
+ op = NULL;
+ delay_task_id = GNUNET_SCHEDULER_add_delayed (
+ GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 1),
+ &delay_task,
+ NULL);
+ break;
+
+ case SLAVE1_PEER_STOP_SUCCESS:
+ FAIL_TEST (GNUNET_TESTBED_ET_PEER_START == event->type);
+ FAIL_TEST (event->details.peer_start.host == slave2);
+ FAIL_TEST (event->details.peer_start.peer == slave2_peer);
+ GNUNET_TESTBED_operation_done (op);
+ result = SLAVE2_PEER_START_SUCCESS;
+ op =
+ GNUNET_TESTBED_overlay_connect (mc, NULL, NULL, master_peer, slave2_peer);
+ break;
+
+ case SLAVE2_PEER_START_SUCCESS:
+ FAIL_TEST (NULL != event);
+ FAIL_TEST (GNUNET_TESTBED_ET_CONNECT == event->type);
+ FAIL_TEST (event->details.peer_connect.peer1 == master_peer);
+ FAIL_TEST (event->details.peer_connect.peer2 == slave2_peer);
+ result = MASTER_SLAVE2_PEERS_CONNECTED;
+ GNUNET_TESTBED_operation_done (op);
+ op = NULL;
+ delay_task_id = GNUNET_SCHEDULER_add_delayed (
+ GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 1),
+ &delay_task,
+ NULL);
+ break;
+
+ case SLAVE2_SLAVE3_PEERS_CONNECTED:
+ FAIL_TEST (GNUNET_TESTBED_ET_PEER_STOP == event->type);
+ FAIL_TEST (event->details.peer_stop.peer == slave2_peer);
+ GNUNET_TESTBED_operation_done (op);
+ result = SLAVE2_PEER_STOP_SUCCESS;
+ op = GNUNET_TESTBED_peer_destroy (slave1_peer);
+ FAIL_TEST (NULL != op);
+ break;
+
+ case SLAVE2_PEER_STOP_SUCCESS: