diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-08-11 23:32:53 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-08-11 23:32:53 +0000 |
commit | 96c4f70b09d1413e2fedba83b2dcbeba13c9b1f7 (patch) | |
tree | 95c39e90930e3e5a725c341093fba98b047beae2 /src/transport/test_transport_testing.c | |
parent | cb11932b64344bc9bde5f5163eefdfc059946c9a (diff) | |
download | gnunet-96c4f70b09d1413e2fedba83b2dcbeba13c9b1f7.tar.gz gnunet-96c4f70b09d1413e2fedba83b2dcbeba13c9b1f7.zip |
version with connecting peer working
Diffstat (limited to 'src/transport/test_transport_testing.c')
-rw-r--r-- | src/transport/test_transport_testing.c | 78 |
1 files changed, 65 insertions, 13 deletions
diff --git a/src/transport/test_transport_testing.c b/src/transport/test_transport_testing.c index c67d1b27e..d9789d980 100644 --- a/src/transport/test_transport_testing.c +++ b/src/transport/test_transport_testing.c | |||
@@ -48,7 +48,44 @@ | |||
48 | */ | 48 | */ |
49 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 30) | 49 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 30) |
50 | 50 | ||
51 | static struct PeerContext * p; | 51 | GNUNET_SCHEDULER_TaskIdentifier timeout_task; |
52 | |||
53 | static struct PeerContext * p1; | ||
54 | static struct PeerContext * p2; | ||
55 | |||
56 | static int connected = GNUNET_NO; | ||
57 | |||
58 | static int ret = 0; | ||
59 | |||
60 | static void | ||
61 | end () | ||
62 | { | ||
63 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers\n"); | ||
64 | |||
65 | if (timeout_task != GNUNET_SCHEDULER_NO_TASK) | ||
66 | GNUNET_SCHEDULER_cancel(timeout_task); | ||
67 | |||
68 | GNUNET_TRANSPORT_TESTING_stop_peer(p1); | ||
69 | GNUNET_TRANSPORT_TESTING_stop_peer(p2); | ||
70 | } | ||
71 | |||
72 | static void | ||
73 | end_badly () | ||
74 | { | ||
75 | timeout_task = GNUNET_SCHEDULER_NO_TASK; | ||
76 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers\n"); | ||
77 | |||
78 | GNUNET_TRANSPORT_TESTING_stop_peer(p1); | ||
79 | GNUNET_TRANSPORT_TESTING_stop_peer(p2); | ||
80 | |||
81 | ret = GNUNET_SYSERR; | ||
82 | } | ||
83 | |||
84 | static void | ||
85 | testing_connect_cb (struct PeerContext * p1, struct PeerContext * p2, void *cls) | ||
86 | { | ||
87 | end(); | ||
88 | } | ||
52 | 89 | ||
53 | static void | 90 | static void |
54 | notify_connect (void *cls, | 91 | notify_connect (void *cls, |
@@ -58,6 +95,10 @@ notify_connect (void *cls, | |||
58 | { | 95 | { |
59 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer `%s' connected \n", | 96 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer `%s' connected \n", |
60 | GNUNET_i2s (peer)); | 97 | GNUNET_i2s (peer)); |
98 | connected++; | ||
99 | |||
100 | if (connected == 2) | ||
101 | end (); | ||
61 | } | 102 | } |
62 | 103 | ||
63 | static void | 104 | static void |
@@ -83,32 +124,43 @@ run (void *cls, | |||
83 | char *const *args, | 124 | char *const *args, |
84 | const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) | 125 | const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) |
85 | { | 126 | { |
127 | timeout_task = GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_UNIT_MINUTES, &end_badly, NULL); | ||
128 | |||
86 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Starting peer\n"); | 129 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Starting peer\n"); |
87 | p = GNUNET_TRANSPORT_TESTING_start_peer("test_quota_compliance_tcp_peer1.conf", | 130 | p1 = GNUNET_TRANSPORT_TESTING_start_peer("test_transport_api_tcp_peer1.conf", |
88 | ¬ify_receive, | 131 | ¬ify_receive, |
89 | ¬ify_connect, | 132 | ¬ify_connect, |
90 | ¬ify_disconnect, | 133 | ¬ify_disconnect, |
91 | NULL); | 134 | p1); |
92 | 135 | ||
93 | if (p != NULL) | 136 | p2 = GNUNET_TRANSPORT_TESTING_start_peer("test_transport_api_tcp_peer2.conf", |
94 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer was successfully started\n"); | 137 | ¬ify_receive, |
95 | else | 138 | ¬ify_connect, |
96 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer was not started successfully\n"); | 139 | ¬ify_disconnect, |
97 | GNUNET_assert (p != NULL); | 140 | p2); |
98 | GNUNET_assert (p->th != NULL); | ||
99 | 141 | ||
100 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peer\n"); | 142 | if (p1 != NULL) |
143 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer1 was successfully started\n"); | ||
144 | else | ||
145 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer1 was not started successfully\n"); | ||
146 | GNUNET_assert (p1 != NULL); | ||
147 | GNUNET_assert (p1->th != NULL); | ||
101 | 148 | ||
102 | GNUNET_TRANSPORT_TESTING_stop_peer(p); | 149 | if (p2 != NULL) |
150 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer2 was successfully started\n"); | ||
151 | else | ||
152 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer2 was not started successfully\n"); | ||
153 | GNUNET_assert (p2 != NULL); | ||
154 | GNUNET_assert (p2->th != NULL); | ||
103 | 155 | ||
104 | 156 | ||
157 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Connecting peers\n"); | ||
158 | GNUNET_TRANSPORT_TESTING_connect_peers(p1, p2, NULL, NULL); | ||
105 | } | 159 | } |
106 | 160 | ||
107 | int | 161 | int |
108 | main (int argc, char *argv[]) | 162 | main (int argc, char *argv[]) |
109 | { | 163 | { |
110 | int ret = 0; | ||
111 | |||
112 | GNUNET_log_setup ("test_transport_testing", | 164 | GNUNET_log_setup ("test_transport_testing", |
113 | #if VERBOSE | 165 | #if VERBOSE |
114 | "DEBUG", | 166 | "DEBUG", |