aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/test_testbed_api_testbed_run.c
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2012-11-01 21:12:56 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2012-11-01 21:12:56 +0000
commit55966806a86ad5f28be24407648e0e707e8fef80 (patch)
treeafa04daf3e127d274bff5f06630a4140d6cd7307 /src/testbed/test_testbed_api_testbed_run.c
parent13361222d8b8d47611d67c240ae2329cdc999a7e (diff)
downloadgnunet-55966806a86ad5f28be24407648e0e707e8fef80.tar.gz
gnunet-55966806a86ad5f28be24407648e0e707e8fef80.zip
topology option support for GNUNET_TESTBED_run() via configuration
Diffstat (limited to 'src/testbed/test_testbed_api_testbed_run.c')
-rw-r--r--src/testbed/test_testbed_api_testbed_run.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/testbed/test_testbed_api_testbed_run.c b/src/testbed/test_testbed_api_testbed_run.c
index 16fdc1e2f..d39cae804 100644
--- a/src/testbed/test_testbed_api_testbed_run.c
+++ b/src/testbed/test_testbed_api_testbed_run.c
@@ -152,13 +152,11 @@ run (void *cls, char *const *args, const char *cfgfile,
152 event_mask = 0; 152 event_mask = 0;
153 event_mask |= (1LL << GNUNET_TESTBED_ET_PEER_START); 153 event_mask |= (1LL << GNUNET_TESTBED_ET_PEER_START);
154 event_mask |= (1LL << GNUNET_TESTBED_ET_PEER_STOP); 154 event_mask |= (1LL << GNUNET_TESTBED_ET_PEER_STOP);
155 event_mask |= (1LL << GNUNET_TESTBED_ET_CONNECT);
156 event_mask |= (1LL << GNUNET_TESTBED_ET_DISCONNECT);
157 GNUNET_TESTBED_run (NULL, config, NUM_PEERS, event_mask, &controller_event_cb, 155 GNUNET_TESTBED_run (NULL, config, NUM_PEERS, event_mask, &controller_event_cb,
158 NULL, &master_task, NULL); 156 NULL, &master_task, NULL);
159 abort_task = 157 abort_task =
160 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply 158 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply
161 (GNUNET_TIME_UNIT_SECONDS, 5), &do_abort, 159 (GNUNET_TIME_UNIT_SECONDS, 60), &do_abort,
162 NULL); 160 NULL);
163} 161}
164 162
@@ -169,22 +167,39 @@ run (void *cls, char *const *args, const char *cfgfile,
169int 167int
170main (int argc, char **argv) 168main (int argc, char **argv)
171{ 169{
172 int ret; 170 char *argv2[] = {
173
174 char *const argv2[] = {
175 "test_testbed_api_testbed_run", 171 "test_testbed_api_testbed_run",
176 "-c", "test_testbed_api.conf", 172 "-c", NULL,
177 NULL 173 NULL
178 }; 174 };
179 struct GNUNET_GETOPT_CommandLineOption options[] = { 175 struct GNUNET_GETOPT_CommandLineOption options[] = {
180 GNUNET_GETOPT_OPTION_END 176 GNUNET_GETOPT_OPTION_END
181 }; 177 };
178 char *testname;
179 char *config_filename;
180 int ret;
182 181
182 testname = rindex (argv[0], (int) '_');
183 testname++;
184 if (NULL == testname)
185 {
186 GNUNET_break (0);
187 return 1;
188 }
189 if (0 != strcmp ("run", testname))
190 {
191 GNUNET_asprintf (&config_filename,
192 "test_testbed_api_testbed_run_%s.conf", testname);
193 }
194 else
195 config_filename = GNUNET_strdup ("test_testbed_api.conf");
196 argv2[2] = config_filename;
183 result = GNUNET_SYSERR; 197 result = GNUNET_SYSERR;
184 ret = 198 ret =
185 GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2, 199 GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2,
186 "test_testbed_api_testbed_run", "nohelp", options, 200 "test_testbed_api_testbed_run", "nohelp", options,
187 &run, NULL); 201 &run, NULL);
202 GNUNET_free (config_filename);
188 if ((GNUNET_OK != ret) || (GNUNET_OK != result)) 203 if ((GNUNET_OK != ret) || (GNUNET_OK != result))
189 return 1; 204 return 1;
190 return 0; 205 return 0;