aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/test_testbed_api_testbed_run.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/testbed/test_testbed_api_testbed_run.c')
-rw-r--r--src/testbed/test_testbed_api_testbed_run.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/testbed/test_testbed_api_testbed_run.c b/src/testbed/test_testbed_api_testbed_run.c
index a9a2a8192..2a7c77af0 100644
--- a/src/testbed/test_testbed_api_testbed_run.c
+++ b/src/testbed/test_testbed_api_testbed_run.c
@@ -39,6 +39,11 @@
39static struct GNUNET_TESTBED_Peer *peers[NUM_PEERS]; 39static struct GNUNET_TESTBED_Peer *peers[NUM_PEERS];
40 40
41/** 41/**
42 * Operation handle
43 */
44static struct GNUNET_TESTBED_Operation *op;
45
46/**
42 * Abort task identifier 47 * Abort task identifier
43 */ 48 */
44static GNUNET_SCHEDULER_TaskIdentifier abort_task; 49static GNUNET_SCHEDULER_TaskIdentifier abort_task;
@@ -95,8 +100,9 @@ static void
95master_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 100master_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
96{ 101{
97 result = GNUNET_OK; 102 result = GNUNET_OK;
98 /* Artificial delay */ 103 GNUNET_assert (NULL != peers[0]);
99 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &do_shutdown, NULL); 104 op = GNUNET_TESTBED_peer_stop (peers[0]);
105 GNUNET_assert (NULL != op);
100} 106}
101 107
102 108
@@ -118,6 +124,12 @@ controller_event_cb (void *cls,
118 GNUNET_assert (NULL != event->details.peer_start.peer); 124 GNUNET_assert (NULL != event->details.peer_start.peer);
119 peers[peer_id++] = event->details.peer_start.peer; 125 peers[peer_id++] = event->details.peer_start.peer;
120 break; 126 break;
127 case GNUNET_TESTBED_ET_PEER_STOP:
128 GNUNET_assert (NULL != op);
129 GNUNET_TESTBED_operation_done (op);
130 GNUNET_assert (peers[0] == event->details.peer_stop.peer);
131 GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
132 break;
121 default: 133 default:
122 GNUNET_assert (0); 134 GNUNET_assert (0);
123 } 135 }