aboutsummaryrefslogtreecommitdiff
path: root/src/transport/test_transport_testing.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2011-08-11 23:32:53 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2011-08-11 23:32:53 +0000
commit96c4f70b09d1413e2fedba83b2dcbeba13c9b1f7 (patch)
tree95c39e90930e3e5a725c341093fba98b047beae2 /src/transport/test_transport_testing.c
parentcb11932b64344bc9bde5f5163eefdfc059946c9a (diff)
downloadgnunet-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.c78
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
51static struct PeerContext * p; 51GNUNET_SCHEDULER_TaskIdentifier timeout_task;
52
53static struct PeerContext * p1;
54static struct PeerContext * p2;
55
56static int connected = GNUNET_NO;
57
58static int ret = 0;
59
60static void
61end ()
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
72static void
73end_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
84static void
85testing_connect_cb (struct PeerContext * p1, struct PeerContext * p2, void *cls)
86{
87 end();
88}
52 89
53static void 90static void
54notify_connect (void *cls, 91notify_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
63static void 104static 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 &notify_receive, 131 &notify_receive,
89 &notify_connect, 132 &notify_connect,
90 &notify_disconnect, 133 &notify_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 &notify_receive,
95 else 138 &notify_connect,
96 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer was not started successfully\n"); 139 &notify_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
107int 161int
108main (int argc, char *argv[]) 162main (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",