aboutsummaryrefslogtreecommitdiff
path: root/src/transport/test_transport_api_disconnect.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-07-09 22:34:49 +0000
committerChristian Grothoff <christian@grothoff.org>2016-07-09 22:34:49 +0000
commitc0b81510ffe194dc662c3a6267d5e66a69873c4b (patch)
tree5ad5cc473d6993523be80bcf1430230e224d9216 /src/transport/test_transport_api_disconnect.c
parenta7345f7436c421fd15e18e87ec399ea93b6dde03 (diff)
downloadgnunet-c0b81510ffe194dc662c3a6267d5e66a69873c4b.tar.gz
gnunet-c0b81510ffe194dc662c3a6267d5e66a69873c4b.zip
-start to refactor testcases for sanity
Diffstat (limited to 'src/transport/test_transport_api_disconnect.c')
-rw-r--r--src/transport/test_transport_api_disconnect.c77
1 files changed, 43 insertions, 34 deletions
diff --git a/src/transport/test_transport_api_disconnect.c b/src/transport/test_transport_api_disconnect.c
index f52634bde..cf50c97c0 100644
--- a/src/transport/test_transport_api_disconnect.c
+++ b/src/transport/test_transport_api_disconnect.c
@@ -51,15 +51,15 @@ static struct GNUNET_SCHEDULER_Task * die_task;
51 51
52static struct GNUNET_SCHEDULER_Task * send_task; 52static struct GNUNET_SCHEDULER_Task * send_task;
53 53
54struct PeerContext *p1; 54struct GNUNET_TRANSPORT_TESTING_PeerContext *p1;
55 55
56struct PeerContext *p2; 56struct GNUNET_TRANSPORT_TESTING_PeerContext *p2;
57 57
58static struct GNUNET_TRANSPORT_TESTING_ConnectRequest * cc; 58static struct GNUNET_TRANSPORT_TESTING_ConnectRequest * cc;
59 59
60struct GNUNET_TRANSPORT_TransmitHandle *th; 60struct GNUNET_TRANSPORT_TransmitHandle *th;
61 61
62struct GNUNET_TRANSPORT_TESTING_handle *tth; 62struct GNUNET_TRANSPORT_TESTING_Handle *tth;
63 63
64int shutdown_; 64int shutdown_;
65 65
@@ -96,11 +96,11 @@ end ()
96 th = NULL; 96 th = NULL;
97 97
98 if (p1 != NULL) 98 if (p1 != NULL)
99 GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1); 99 GNUNET_TRANSPORT_TESTING_stop_peer (p1);
100 p1 = NULL; 100 p1 = NULL;
101 101
102 if (p2 != NULL) 102 if (p2 != NULL)
103 GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2); 103 GNUNET_TRANSPORT_TESTING_stop_peer (p2);
104 p2 = NULL; 104 p2 = NULL;
105 105
106 /* success */ 106 /* success */
@@ -117,7 +117,7 @@ end_badly (void *cls)
117 117
118 if (cc != NULL) 118 if (cc != NULL)
119 { 119 {
120 GNUNET_TRANSPORT_TESTING_connect_peers_cancel (tth, cc); 120 GNUNET_TRANSPORT_TESTING_connect_peers_cancel (cc);
121 cc = NULL; 121 cc = NULL;
122 } 122 }
123 123
@@ -132,9 +132,9 @@ end_badly (void *cls)
132 th = NULL; 132 th = NULL;
133 133
134 if (p1 != NULL) 134 if (p1 != NULL)
135 GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1); 135 GNUNET_TRANSPORT_TESTING_stop_peer (p1);
136 if (p2 != NULL) 136 if (p2 != NULL)
137 GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2); 137 GNUNET_TRANSPORT_TESTING_stop_peer (p2);
138 138
139 ok = GNUNET_SYSERR; 139 ok = GNUNET_SYSERR;
140} 140}
@@ -142,7 +142,7 @@ end_badly (void *cls)
142static void 142static void
143notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer) 143notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer)
144{ 144{
145 struct PeerContext *p = cls; 145 struct GNUNET_TRANSPORT_TESTING_PeerContext *p = cls;
146 char *ps = GNUNET_strdup (GNUNET_i2s (&p->id)); 146 char *ps = GNUNET_strdup (GNUNET_i2s (&p->id));
147 147
148 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 148 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -165,12 +165,12 @@ notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer)
165static void 165static void
166stop_peer (void *cls) 166stop_peer (void *cls)
167{ 167{
168 struct PeerContext *p = cls; 168 struct GNUNET_TRANSPORT_TESTING_PeerContext *p = cls;
169 169
170 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down peer %u (`%s')\n", p->no, 170 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down peer %u (`%s')\n", p->no,
171 GNUNET_i2s (&p->id)); 171 GNUNET_i2s (&p->id));
172 shutdown_ = GNUNET_YES; 172 shutdown_ = GNUNET_YES;
173 GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2); 173 GNUNET_TRANSPORT_TESTING_stop_peer (p2);
174 p2 = NULL; 174 p2 = NULL;
175 GNUNET_assert (p2 == NULL); 175 GNUNET_assert (p2 == NULL);
176} 176}
@@ -180,8 +180,8 @@ static void
180notify_receive (void *cls, const struct GNUNET_PeerIdentity *peer, 180notify_receive (void *cls, const struct GNUNET_PeerIdentity *peer,
181 const struct GNUNET_MessageHeader *message) 181 const struct GNUNET_MessageHeader *message)
182{ 182{
183 struct PeerContext *p = cls; 183 struct GNUNET_TRANSPORT_TESTING_PeerContext *p = cls;
184 struct PeerContext *t = NULL; 184 struct GNUNET_TRANSPORT_TESTING_PeerContext *t = NULL;
185 185
186 if (0 == memcmp (peer, &p1->id, sizeof (struct GNUNET_PeerIdentity))) 186 if (0 == memcmp (peer, &p1->id, sizeof (struct GNUNET_PeerIdentity)))
187 t = p1; 187 t = p1;
@@ -210,7 +210,7 @@ notify_receive (void *cls, const struct GNUNET_PeerIdentity *peer,
210static size_t 210static size_t
211notify_ready (void *cls, size_t size, void *buf) 211notify_ready (void *cls, size_t size, void *buf)
212{ 212{
213 struct PeerContext *p = cls; 213 struct GNUNET_TRANSPORT_TESTING_PeerContext *p = cls;
214 struct GNUNET_MessageHeader *hdr; 214 struct GNUNET_MessageHeader *hdr;
215 215
216 th = NULL; 216 th = NULL;
@@ -268,8 +268,8 @@ notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer)
268 static int c; 268 static int c;
269 269
270 c++; 270 c++;
271 struct PeerContext *p = cls; 271 struct GNUNET_TRANSPORT_TESTING_PeerContext *p = cls;
272 struct PeerContext *t = NULL; 272 struct GNUNET_TRANSPORT_TESTING_PeerContext *t = NULL;
273 273
274 if (0 == memcmp (peer, &p1->id, sizeof (struct GNUNET_PeerIdentity))) 274 if (0 == memcmp (peer, &p1->id, sizeof (struct GNUNET_PeerIdentity)))
275 t = p1; 275 t = p1;
@@ -287,7 +287,7 @@ notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer)
287 287
288 288
289static void 289static void
290testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls) 290testing_connect_cb (void *cls)
291{ 291{
292 cc = NULL; 292 cc = NULL;
293 char *p1_c = GNUNET_strdup (GNUNET_i2s (&p1->id)); 293 char *p1_c = GNUNET_strdup (GNUNET_i2s (&p1->id));
@@ -301,7 +301,7 @@ testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls)
301 301
302 302
303static void 303static void
304start_cb (struct PeerContext *p, void *cls) 304start_cb (struct GNUNET_TRANSPORT_TESTING_PeerContext *p, void *cls)
305{ 305{
306 static int started; 306 static int started;
307 307
@@ -317,7 +317,9 @@ start_cb (struct PeerContext *p, void *cls)
317 "Test tries to connect peer %u (`%s') -> peer %u (`%s')\n", 317 "Test tries to connect peer %u (`%s') -> peer %u (`%s')\n",
318 p1->no, sender_c, p2->no, GNUNET_i2s (&p2->id)); 318 p1->no, sender_c, p2->no, GNUNET_i2s (&p2->id));
319 GNUNET_free (sender_c); 319 GNUNET_free (sender_c);
320 cc = GNUNET_TRANSPORT_TESTING_connect_peers (tth, p1, p2, &testing_connect_cb, 320 cc = GNUNET_TRANSPORT_TESTING_connect_peers (p1,
321 p2,
322 &testing_connect_cb,
321 NULL); 323 NULL);
322 324
323} 325}
@@ -329,19 +331,28 @@ run (void *cls, char *const *args, const char *cfgfile,
329{ 331{
330 die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); 332 die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL);
331 333
332 p1 = GNUNET_TRANSPORT_TESTING_start_peer (tth, cfg_file_p1, 1, 334 p1 = GNUNET_TRANSPORT_TESTING_start_peer (tth,
333 &notify_receive, &notify_connect, 335 cfg_file_p1,
334 &notify_disconnect, &start_cb, 336 1,
337 &notify_receive,
338 &notify_connect,
339 &notify_disconnect,
340 &start_cb,
335 NULL); 341 NULL);
336 342
337 p2 = GNUNET_TRANSPORT_TESTING_start_peer (tth, cfg_file_p2, 2, 343 p2 = GNUNET_TRANSPORT_TESTING_start_peer (tth,
338 &notify_receive, &notify_connect, 344 cfg_file_p2,
339 &notify_disconnect, &start_cb, 345 2,
346 &notify_receive,
347 &notify_connect,
348 &notify_disconnect,
349 &start_cb,
340 NULL); 350 NULL);
341 351
342 if ((p1 == NULL) || (p2 == NULL)) 352 if ((p1 == NULL) || (p2 == NULL))
343 { 353 {
344 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not start peers!\n"); 354 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
355 "Fail! Could not start peers!\n");
345 if (die_task != NULL) 356 if (die_task != NULL)
346 GNUNET_SCHEDULER_cancel (die_task); 357 GNUNET_SCHEDULER_cancel (die_task);
347 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); 358 die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
@@ -376,20 +387,18 @@ main (int argc, char *argv[])
376{ 387{
377 int ret; 388 int ret;
378 389
379 GNUNET_TRANSPORT_TESTING_get_test_name (argv[0], &test_name); 390 test_name = GNUNET_TRANSPORT_TESTING_get_test_name (argv[0]);
380
381 GNUNET_log_setup (test_name, 391 GNUNET_log_setup (test_name,
382 "WARNING", 392 "WARNING",
383 NULL); 393 NULL);
384 394
385 GNUNET_TRANSPORT_TESTING_get_test_source_name (__FILE__, &test_source); 395 test_source = GNUNET_TRANSPORT_TESTING_get_test_source_name (__FILE__);
386 GNUNET_TRANSPORT_TESTING_get_test_plugin_name (argv[0], test_source, 396 test_plugin = GNUNET_TRANSPORT_TESTING_get_test_plugin_name (argv[0],
387 &test_plugin); 397 test_source);
388
389 tth = GNUNET_TRANSPORT_TESTING_init (); 398 tth = GNUNET_TRANSPORT_TESTING_init ();
390 399
391 GNUNET_TRANSPORT_TESTING_get_config_name (argv[0], &cfg_file_p1, 1); 400 cfg_file_p1 = GNUNET_TRANSPORT_TESTING_get_config_name (argv[0], 1);
392 GNUNET_TRANSPORT_TESTING_get_config_name (argv[0], &cfg_file_p2, 2); 401 cfg_file_p2 = GNUNET_TRANSPORT_TESTING_get_config_name (argv[0], 2);
393 402
394 ret = check (); 403 ret = check ();
395 404