diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-07-09 22:34:49 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-07-09 22:34:49 +0000 |
commit | c0b81510ffe194dc662c3a6267d5e66a69873c4b (patch) | |
tree | 5ad5cc473d6993523be80bcf1430230e224d9216 /src/transport/test_transport_api_disconnect.c | |
parent | a7345f7436c421fd15e18e87ec399ea93b6dde03 (diff) | |
download | gnunet-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.c | 77 |
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 | ||
52 | static struct GNUNET_SCHEDULER_Task * send_task; | 52 | static struct GNUNET_SCHEDULER_Task * send_task; |
53 | 53 | ||
54 | struct PeerContext *p1; | 54 | struct GNUNET_TRANSPORT_TESTING_PeerContext *p1; |
55 | 55 | ||
56 | struct PeerContext *p2; | 56 | struct GNUNET_TRANSPORT_TESTING_PeerContext *p2; |
57 | 57 | ||
58 | static struct GNUNET_TRANSPORT_TESTING_ConnectRequest * cc; | 58 | static struct GNUNET_TRANSPORT_TESTING_ConnectRequest * cc; |
59 | 59 | ||
60 | struct GNUNET_TRANSPORT_TransmitHandle *th; | 60 | struct GNUNET_TRANSPORT_TransmitHandle *th; |
61 | 61 | ||
62 | struct GNUNET_TRANSPORT_TESTING_handle *tth; | 62 | struct GNUNET_TRANSPORT_TESTING_Handle *tth; |
63 | 63 | ||
64 | int shutdown_; | 64 | int 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) | |||
142 | static void | 142 | static void |
143 | notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer) | 143 | notify_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) | |||
165 | static void | 165 | static void |
166 | stop_peer (void *cls) | 166 | stop_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 | |||
180 | notify_receive (void *cls, const struct GNUNET_PeerIdentity *peer, | 180 | notify_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, | |||
210 | static size_t | 210 | static size_t |
211 | notify_ready (void *cls, size_t size, void *buf) | 211 | notify_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 | ||
289 | static void | 289 | static void |
290 | testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls) | 290 | testing_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 | ||
303 | static void | 303 | static void |
304 | start_cb (struct PeerContext *p, void *cls) | 304 | start_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 | ¬ify_receive, ¬ify_connect, | 335 | cfg_file_p1, |
334 | ¬ify_disconnect, &start_cb, | 336 | 1, |
337 | ¬ify_receive, | ||
338 | ¬ify_connect, | ||
339 | ¬ify_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 | ¬ify_receive, ¬ify_connect, | 344 | cfg_file_p2, |
339 | ¬ify_disconnect, &start_cb, | 345 | 2, |
346 | ¬ify_receive, | ||
347 | ¬ify_connect, | ||
348 | ¬ify_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 | ||