diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2012-11-01 21:12:56 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2012-11-01 21:12:56 +0000 |
commit | 55966806a86ad5f28be24407648e0e707e8fef80 (patch) | |
tree | afa04daf3e127d274bff5f06630a4140d6cd7307 /src/testbed/test_testbed_api_testbed_run.c | |
parent | 13361222d8b8d47611d67c240ae2329cdc999a7e (diff) | |
download | gnunet-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.c | 29 |
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, | |||
169 | int | 167 | int |
170 | main (int argc, char **argv) | 168 | main (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; |