summaryrefslogtreecommitdiff
path: root/src/testbed/test_testbed_api_barriers.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/testbed/test_testbed_api_barriers.c')
-rw-r--r--src/testbed/test_testbed_api_barriers.c167
1 files changed, 84 insertions, 83 deletions
diff --git a/src/testbed/test_testbed_api_barriers.c b/src/testbed/test_testbed_api_barriers.c
index b07dd5339..f80e73ddd 100644
--- a/src/testbed/test_testbed_api_barriers.c
+++ b/src/testbed/test_testbed_api_barriers.c
@@ -34,7 +34,7 @@
34 * logging short hand 34 * logging short hand
35 */ 35 */
36#define LOG(type, ...) \ 36#define LOG(type, ...) \
37 GNUNET_log(type, __VA_ARGS__); 37 GNUNET_log (type, __VA_ARGS__);
38 38
39/** 39/**
40 * Number of peers we start in this test case 40 * Number of peers we start in this test case
@@ -62,13 +62,13 @@ static int result;
62 * Handle SIGINT and SIGTERM 62 * Handle SIGINT and SIGTERM
63 */ 63 */
64static void 64static void
65shutdown_handler(void *cls) 65shutdown_handler (void *cls)
66{ 66{
67 if (NULL != timeout_task) 67 if (NULL != timeout_task)
68 { 68 {
69 GNUNET_SCHEDULER_cancel(timeout_task); 69 GNUNET_SCHEDULER_cancel (timeout_task);
70 timeout_task = NULL; 70 timeout_task = NULL;
71 } 71 }
72} 72}
73 73
74 74
@@ -78,12 +78,12 @@ shutdown_handler(void *cls)
78 * @param cls NULL 78 * @param cls NULL
79 */ 79 */
80static void 80static void
81do_timeout(void *cls) 81do_timeout (void *cls)
82{ 82{
83 timeout_task = NULL; 83 timeout_task = NULL;
84 if (barrier != NULL) 84 if (barrier != NULL)
85 GNUNET_TESTBED_barrier_cancel(barrier); 85 GNUNET_TESTBED_barrier_cancel (barrier);
86 GNUNET_SCHEDULER_shutdown(); 86 GNUNET_SCHEDULER_shutdown ();
87} 87}
88 88
89 89
@@ -101,43 +101,43 @@ do_timeout(void *cls)
101 * error messsage 101 * error messsage
102 */ 102 */
103static void 103static void
104barrier_cb(void *cls, 104barrier_cb (void *cls,
105 const char *name, 105 const char *name,
106 struct GNUNET_TESTBED_Barrier *_barrier, 106 struct GNUNET_TESTBED_Barrier *_barrier,
107 enum GNUNET_TESTBED_BarrierStatus status, 107 enum GNUNET_TESTBED_BarrierStatus status,
108 const char *emsg) 108 const char *emsg)
109{ 109{
110 static enum GNUNET_TESTBED_BarrierStatus old_status; 110 static enum GNUNET_TESTBED_BarrierStatus old_status;
111 111
112 GNUNET_assert(NULL == cls); 112 GNUNET_assert (NULL == cls);
113 GNUNET_assert(_barrier == barrier); 113 GNUNET_assert (_barrier == barrier);
114 switch (status) 114 switch (status)
115 { 115 {
116 case GNUNET_TESTBED_BARRIERSTATUS_INITIALISED: 116 case GNUNET_TESTBED_BARRIERSTATUS_INITIALISED:
117 LOG(GNUNET_ERROR_TYPE_INFO, 117 LOG (GNUNET_ERROR_TYPE_INFO,
118 "Barrier initialised\n"); 118 "Barrier initialised\n");
119 old_status = status; 119 old_status = status;
120 return; 120 return;
121 121
122 case GNUNET_TESTBED_BARRIERSTATUS_ERROR: 122 case GNUNET_TESTBED_BARRIERSTATUS_ERROR:
123 LOG(GNUNET_ERROR_TYPE_ERROR, 123 LOG (GNUNET_ERROR_TYPE_ERROR,
124 "Barrier initialisation failed: %s", 124 "Barrier initialisation failed: %s",
125 (NULL == emsg) ? "unknown reason" : emsg); 125 (NULL == emsg) ? "unknown reason" : emsg);
126 break; 126 break;
127 127
128 case GNUNET_TESTBED_BARRIERSTATUS_CROSSED: 128 case GNUNET_TESTBED_BARRIERSTATUS_CROSSED:
129 LOG(GNUNET_ERROR_TYPE_INFO, 129 LOG (GNUNET_ERROR_TYPE_INFO,
130 "Barrier crossed\n"); 130 "Barrier crossed\n");
131 if (old_status == GNUNET_TESTBED_BARRIERSTATUS_INITIALISED) 131 if (old_status == GNUNET_TESTBED_BARRIERSTATUS_INITIALISED)
132 result = GNUNET_OK; 132 result = GNUNET_OK;
133 break; 133 break;
134 134
135 default: 135 default:
136 GNUNET_assert(0); 136 GNUNET_assert (0);
137 return; 137 return;
138 } 138 }
139 barrier = NULL; 139 barrier = NULL;
140 GNUNET_SCHEDULER_shutdown(); 140 GNUNET_SCHEDULER_shutdown ();
141} 141}
142 142
143 143
@@ -154,35 +154,35 @@ barrier_cb(void *cls,
154 * failed 154 * failed
155 */ 155 */
156static void 156static void
157test_master(void *cls, 157test_master (void *cls,
158 struct GNUNET_TESTBED_RunHandle *h, 158 struct GNUNET_TESTBED_RunHandle *h,
159 unsigned int num_peers, 159 unsigned int num_peers,
160 struct GNUNET_TESTBED_Peer **peers_, 160 struct GNUNET_TESTBED_Peer **peers_,
161 unsigned int links_succeeded, 161 unsigned int links_succeeded,
162 unsigned int links_failed) 162 unsigned int links_failed)
163{ 163{
164 struct GNUNET_TESTBED_Controller *c; 164 struct GNUNET_TESTBED_Controller *c;
165 165
166 GNUNET_assert(NULL == cls); 166 GNUNET_assert (NULL == cls);
167 if (NULL == peers_) 167 if (NULL == peers_)
168 { 168 {
169 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, 169 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
170 "Failing test due to timeout\n"); 170 "Failing test due to timeout\n");
171 return; 171 return;
172 } 172 }
173 GNUNET_assert(NUM_PEERS == num_peers); 173 GNUNET_assert (NUM_PEERS == num_peers);
174 c = GNUNET_TESTBED_run_get_controller_handle(h); 174 c = GNUNET_TESTBED_run_get_controller_handle (h);
175 barrier = GNUNET_TESTBED_barrier_init(c, 175 barrier = GNUNET_TESTBED_barrier_init (c,
176 TEST_BARRIER_NAME, 176 TEST_BARRIER_NAME,
177 100, 177 100,
178 &barrier_cb, 178 &barrier_cb,
179 NULL); 179 NULL);
180 timeout_task = 180 timeout_task =
181 GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_relative_multiply 181 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply
182 (GNUNET_TIME_UNIT_SECONDS, 182 (GNUNET_TIME_UNIT_SECONDS,
183 10 * (NUM_PEERS + 1)), 183 10 * (NUM_PEERS + 1)),
184 &do_timeout, NULL); 184 &do_timeout, NULL);
185 GNUNET_SCHEDULER_add_shutdown(&shutdown_handler, NULL); 185 GNUNET_SCHEDULER_add_shutdown (&shutdown_handler, NULL);
186} 186}
187 187
188 188
@@ -198,7 +198,7 @@ test_master(void *cls,
198 * Main function 198 * Main function
199 */ 199 */
200int 200int
201main(int argc, char **argv) 201main (int argc, char **argv)
202{ 202{
203 struct GNUNET_CONFIGURATION_Handle *cfg; 203 struct GNUNET_CONFIGURATION_Handle *cfg;
204 char pwd[PATH_MAX]; 204 char pwd[PATH_MAX];
@@ -207,26 +207,27 @@ main(int argc, char **argv)
207 207
208 result = GNUNET_SYSERR; 208 result = GNUNET_SYSERR;
209 event_mask = 0; 209 event_mask = 0;
210 cfg = GNUNET_CONFIGURATION_create(); 210 cfg = GNUNET_CONFIGURATION_create ();
211 GNUNET_assert(GNUNET_YES == 211 GNUNET_assert (GNUNET_YES ==
212 GNUNET_CONFIGURATION_parse(cfg, 212 GNUNET_CONFIGURATION_parse (cfg,
213 "test_testbed_api_barriers.conf.in")); 213 "test_testbed_api_barriers.conf.in"));
214 if (NULL == getcwd(pwd, PATH_MAX)) 214 if (NULL == getcwd (pwd, PATH_MAX))
215 return 1; 215 return 1;
216 GNUNET_assert(0 < GNUNET_asprintf(&binary, "%s/%s", pwd, 216 GNUNET_assert (0 < GNUNET_asprintf (&binary, "%s/%s", pwd,
217 "gnunet-service-test-barriers")); 217 "gnunet-service-test-barriers"));
218 GNUNET_CONFIGURATION_set_value_string(cfg, "test-barriers", "BINARY", binary); 218 GNUNET_CONFIGURATION_set_value_string (cfg, "test-barriers", "BINARY",
219 GNUNET_assert(GNUNET_OK == GNUNET_CONFIGURATION_write 219 binary);
220 (cfg, "test_testbed_api_barriers.conf")); 220 GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_write
221 GNUNET_CONFIGURATION_destroy(cfg); 221 (cfg, "test_testbed_api_barriers.conf"));
222 GNUNET_CONFIGURATION_destroy (cfg);
222 cfg = NULL; 223 cfg = NULL;
223 GNUNET_free(binary); 224 GNUNET_free (binary);
224 binary = NULL; 225 binary = NULL;
225 (void)GNUNET_TESTBED_test_run("test_testbed_api_barriers", 226 (void) GNUNET_TESTBED_test_run ("test_testbed_api_barriers",
226 "test_testbed_api_barriers.conf", NUM_PEERS, 227 "test_testbed_api_barriers.conf", NUM_PEERS,
227 event_mask, NULL, NULL, 228 event_mask, NULL, NULL,
228 &test_master, NULL); 229 &test_master, NULL);
229 (void)unlink("test_testbed_api_barriers.conf"); 230 (void) unlink ("test_testbed_api_barriers.conf");
230 if (GNUNET_OK != result) 231 if (GNUNET_OK != result)
231 return 1; 232 return 1;
232 return 0; 233 return 0;