aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/test_testbed_api.c
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2012-07-24 12:39:39 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2012-07-24 12:39:39 +0000
commite48b37b7041f4bad25a5d23a32be278f1801e1b3 (patch)
treeee0cb1245712fda0cf869b87ab36f421df4c8ba3 /src/testbed/test_testbed_api.c
parentefa8d0fd1dc4df1fd291d60dbe71c0b861af1e3e (diff)
downloadgnunet-e48b37b7041f4bad25a5d23a32be278f1801e1b3.tar.gz
gnunet-e48b37b7041f4bad25a5d23a32be278f1801e1b3.zip
testcases for peer get information
Diffstat (limited to 'src/testbed/test_testbed_api.c')
-rw-r--r--src/testbed/test_testbed_api.c66
1 files changed, 58 insertions, 8 deletions
diff --git a/src/testbed/test_testbed_api.c b/src/testbed/test_testbed_api.c
index 3bb45f730..ba026cb65 100644
--- a/src/testbed/test_testbed_api.c
+++ b/src/testbed/test_testbed_api.c
@@ -94,6 +94,32 @@ static int result;
94 94
95 95
96/** 96/**
97 * Enumeration of sub testcases
98 */
99enum Test
100 {
101 /**
102 * Test cases which are not covered by the below ones
103 */
104 OTHER,
105
106 /**
107 * Test where we get a peer config from controller
108 */
109 PEER_GETCONFIG,
110
111 /**
112 * Test where we get a peer's identity from controller
113 */
114 PEER_DESTROY,
115 };
116
117/**
118 * Testing status
119 */
120static enum Test sub_test;
121
122/**
97 * Shutdown nicely 123 * Shutdown nicely
98 * 124 *
99 * @param cls NULL 125 * @param cls NULL
@@ -102,6 +128,7 @@ static int result;
102static void 128static void
103do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc) 129do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc)
104{ 130{
131 LOG (GNUNET_ERROR_TYPE_DEBUG, "Shutting down...\n");
105 if (GNUNET_SCHEDULER_NO_TASK != abort_task) 132 if (GNUNET_SCHEDULER_NO_TASK != abort_task)
106 GNUNET_SCHEDULER_cancel (abort_task); 133 GNUNET_SCHEDULER_cancel (abort_task);
107 if (NULL != reg_handle) 134 if (NULL != reg_handle)
@@ -143,12 +170,32 @@ controller_cb(void *cls, const struct GNUNET_TESTBED_EventInformation *event)
143 switch (event->type) 170 switch (event->type)
144 { 171 {
145 case GNUNET_TESTBED_ET_OPERATION_FINISHED: 172 case GNUNET_TESTBED_ET_OPERATION_FINISHED:
146 GNUNET_assert (event->details.operation_finished.operation == operation); 173 switch(sub_test)
147 GNUNET_assert (NULL == event->details.operation_finished.op_cls); 174 {
148 GNUNET_assert (NULL == event->details.operation_finished.emsg); 175 case PEER_GETCONFIG:
149 GNUNET_assert (GNUNET_TESTBED_PIT_GENERIC == 176 GNUNET_assert (event->details.operation_finished.operation == operation);
150 event->details.operation_finished.pit); 177 GNUNET_assert (NULL == event->details.operation_finished.op_cls);
151 GNUNET_assert (NULL == event->details.operation_finished.op_result.generic); 178 GNUNET_assert (NULL == event->details.operation_finished.emsg);
179 GNUNET_assert (GNUNET_TESTBED_PIT_CONFIGURATION ==
180 event->details.operation_finished.pit);
181 GNUNET_assert (NULL != event->details.operation_finished.op_result.cfg);
182 sub_test = PEER_DESTROY;
183 operation = GNUNET_TESTBED_peer_destroy (peer);
184 break;
185 case PEER_DESTROY:
186 GNUNET_assert (event->details.operation_finished.operation == operation);
187 GNUNET_assert (NULL == event->details.operation_finished.op_cls);
188 GNUNET_assert (NULL == event->details.operation_finished.emsg);
189 GNUNET_assert (GNUNET_TESTBED_PIT_GENERIC ==
190 event->details.operation_finished.pit);
191 GNUNET_assert (NULL ==
192 event->details.operation_finished.op_result.generic);
193 GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
194 break;
195 case OTHER:
196 GNUNET_assert (0);
197 break;
198 }
152 break; 199 break;
153 case GNUNET_TESTBED_ET_PEER_START: 200 case GNUNET_TESTBED_ET_PEER_START:
154 GNUNET_assert (event->details.peer_start.host == host); 201 GNUNET_assert (event->details.peer_start.host == host);
@@ -157,8 +204,11 @@ controller_cb(void *cls, const struct GNUNET_TESTBED_EventInformation *event)
157 break; 204 break;
158 case GNUNET_TESTBED_ET_PEER_STOP: 205 case GNUNET_TESTBED_ET_PEER_STOP:
159 GNUNET_assert (event->details.peer_stop.peer == peer); 206 GNUNET_assert (event->details.peer_stop.peer == peer);
160 result = GNUNET_YES; 207 result = GNUNET_YES;
161 GNUNET_SCHEDULER_add_now (&do_shutdown, NULL); 208 sub_test = PEER_GETCONFIG;
209 operation =
210 GNUNET_TESTBED_peer_get_information (peer,
211 GNUNET_TESTBED_PIT_CONFIGURATION);
162 break; 212 break;
163 default: 213 default:
164 GNUNET_assert (0); /* We should never reach this state */ 214 GNUNET_assert (0); /* We should never reach this state */