From 6e599264ad13e8fc105493d74d7c11d46f8739ed Mon Sep 17 00:00:00 2001 From: ng0 Date: Fri, 6 Sep 2019 22:46:29 +0000 Subject: first step to remove plibc --- src/testing/gnunet-testing.c | 212 ++++++++++++++++++++++++++----------------- 1 file changed, 127 insertions(+), 85 deletions(-) (limited to 'src/testing/gnunet-testing.c') diff --git a/src/testing/gnunet-testing.c b/src/testing/gnunet-testing.c index ec611ba4c..bc402227c 100644 --- a/src/testing/gnunet-testing.c +++ b/src/testing/gnunet-testing.c @@ -28,8 +28,7 @@ #include "gnunet_testing_lib.h" -#define LOG(kind,...) \ - GNUNET_log_from (kind, "gnunet-testing", __VA_ARGS__) +#define LOG(kind, ...) GNUNET_log_from (kind, "gnunet-testing", __VA_ARGS__) /** @@ -84,9 +83,8 @@ static struct GNUNET_SCHEDULER_Task *tid; static struct GNUNET_TESTING_Peer *my_peer; - static int -create_unique_cfgs (const char * template, const unsigned int no) +create_unique_cfgs (const char *template, const unsigned int no) { struct GNUNET_TESTING_System *system; int fail; @@ -95,54 +93,67 @@ create_unique_cfgs (const char * template, const unsigned int no) struct GNUNET_CONFIGURATION_Handle *cfg_new; struct GNUNET_CONFIGURATION_Handle *cfg_tmpl; - if (GNUNET_NO == GNUNET_DISK_file_test(template)) + if (GNUNET_NO == GNUNET_DISK_file_test (template)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Configuration template `%s': file not found\n", create_cfg_template); + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Configuration template `%s': file not found\n", + create_cfg_template); return 1; } - cfg_tmpl = GNUNET_CONFIGURATION_create(); + cfg_tmpl = GNUNET_CONFIGURATION_create (); /* load template */ - if ((create_cfg_template != NULL) && (GNUNET_OK != GNUNET_CONFIGURATION_load(cfg_tmpl, create_cfg_template))) + if ((create_cfg_template != NULL) && + (GNUNET_OK != GNUNET_CONFIGURATION_load (cfg_tmpl, create_cfg_template))) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not load template `%s'\n", create_cfg_template); + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Could not load template `%s'\n", + create_cfg_template); GNUNET_CONFIGURATION_destroy (cfg_tmpl); return 1; } /* load defaults */ - if (GNUNET_OK != GNUNET_CONFIGURATION_load (cfg_tmpl, NULL)) + if (GNUNET_OK != GNUNET_CONFIGURATION_load (cfg_tmpl, NULL)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not load template `%s'\n", create_cfg_template); + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Could not load template `%s'\n", + create_cfg_template); GNUNET_CONFIGURATION_destroy (cfg_tmpl); return 1; } fail = GNUNET_NO; - system = GNUNET_TESTING_system_create ("testing", NULL /* controller */, - NULL, NULL); + system = + GNUNET_TESTING_system_create ("testing", NULL /* controller */, NULL, NULL); for (cur = 0; cur < no; cur++) { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Creating configuration no. %u \n", cur); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Creating configuration no. %u \n", + cur); if (create_cfg_template != NULL) - GNUNET_asprintf (&cur_file,"%04u-%s",cur, create_cfg_template); + GNUNET_asprintf (&cur_file, "%04u-%s", cur, create_cfg_template); else - GNUNET_asprintf (&cur_file,"%04u%s",cur, ".conf"); + GNUNET_asprintf (&cur_file, "%04u%s", cur, ".conf"); cfg_new = GNUNET_CONFIGURATION_dup (cfg_tmpl); - if (GNUNET_OK != - GNUNET_TESTING_configuration_create (system, cfg_new)) + if (GNUNET_OK != GNUNET_TESTING_configuration_create (system, cfg_new)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not create another configuration\n"); + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Could not create another configuration\n"); GNUNET_CONFIGURATION_destroy (cfg_new); fail = GNUNET_YES; break; } GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, - "Writing configuration no. %u to file `%s' \n", cur, cur_file); - if (GNUNET_OK != GNUNET_CONFIGURATION_write(cfg_new, cur_file)) + "Writing configuration no. %u to file `%s' \n", + cur, + cur_file); + if (GNUNET_OK != GNUNET_CONFIGURATION_write (cfg_new, cur_file)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to write configuration no. %u \n", cur); + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Failed to write configuration no. %u \n", + cur); fail = GNUNET_YES; } GNUNET_CONFIGURATION_destroy (cfg_new); @@ -150,7 +161,7 @@ create_unique_cfgs (const char * template, const unsigned int no) if (GNUNET_YES == fail) break; } - GNUNET_CONFIGURATION_destroy(cfg_tmpl); + GNUNET_CONFIGURATION_destroy (cfg_tmpl); GNUNET_TESTING_system_destroy (system, GNUNET_NO); if (GNUNET_YES == fail) return 1; @@ -170,22 +181,27 @@ create_hostkeys (const unsigned int no) pk = GNUNET_TESTING_hostkey_get (system, create_no, &id); if (NULL == pk) { - fprintf (stderr, _("Could not extract hostkey %u (offset too large?)\n"), create_no); + fprintf (stderr, + _ ("Could not extract hostkey %u (offset too large?)\n"), + create_no); GNUNET_TESTING_system_destroy (system, GNUNET_YES); return 1; } (void) GNUNET_DISK_directory_create_for_file (create_hostkey); - fd = GNUNET_DISK_file_open (create_hostkey, - GNUNET_DISK_OPEN_READWRITE | - GNUNET_DISK_OPEN_CREATE, - GNUNET_DISK_PERM_USER_READ | - GNUNET_DISK_PERM_USER_WRITE); + fd = + GNUNET_DISK_file_open (create_hostkey, + GNUNET_DISK_OPEN_READWRITE | GNUNET_DISK_OPEN_CREATE, + GNUNET_DISK_PERM_USER_READ | + GNUNET_DISK_PERM_USER_WRITE); GNUNET_assert (fd != NULL); - ret = GNUNET_DISK_file_write (fd, pk, - sizeof (struct GNUNET_CRYPTO_EddsaPrivateKey)); + ret = GNUNET_DISK_file_write (fd, + pk, + sizeof (struct GNUNET_CRYPTO_EddsaPrivateKey)); GNUNET_assert (GNUNET_OK == GNUNET_DISK_file_close (fd)); - GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing", - "Wrote hostkey to file: `%s'\n", create_hostkey); + GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, + "transport-testing", + "Wrote hostkey to file: `%s'\n", + create_hostkey); GNUNET_free (pk); GNUNET_TESTING_system_destroy (system, GNUNET_YES); return 0; @@ -203,8 +219,10 @@ cleanup (void *cls) { if (NULL != tmpfilename) { - if (0 != UNLINK (tmpfilename)) - GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, "unlink", tmpfilename); + if (0 != unlink (tmpfilename)) + GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, + "unlink", + tmpfilename); } if (NULL != tid) { @@ -250,12 +268,14 @@ stdin_cb (void *cls) /* ignore whitespace */ break; default: - fprintf (stderr, _("Unknown command, use 'q' to quit or 'r' to restart peer\n")); + fprintf (stderr, + _ ("Unknown command, use 'q' to quit or 'r' to restart peer\n")); break; } tid = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL, - fh, - &stdin_cb, NULL); + fh, + &stdin_cb, + NULL); } @@ -268,7 +288,8 @@ stdin_cb (void *cls) * @param peer handle to the peer */ static void -testing_main (void *cls, const struct GNUNET_CONFIGURATION_Handle *cfg, +testing_main (void *cls, + const struct GNUNET_CONFIGURATION_Handle *cfg, struct GNUNET_TESTING_Peer *peer) { my_peer = peer; @@ -285,17 +306,17 @@ testing_main (void *cls, const struct GNUNET_CONFIGURATION_Handle *cfg, GNUNET_break (0); return; } - printf("ok\n%s\n", tmpfilename); - fflush(stdout); + printf ("ok\n%s\n", tmpfilename); + fflush (stdout); GNUNET_SCHEDULER_add_shutdown (&cleanup, NULL); fh = GNUNET_DISK_get_handle_from_native (stdin); tid = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL, - fh, - &stdin_cb, NULL); + fh, + &stdin_cb, + NULL); } - /** * Main function that will be running without scheduler. * @@ -305,13 +326,18 @@ testing_main (void *cls, const struct GNUNET_CONFIGURATION_Handle *cfg, * @param cfg configuration */ static void -run_no_scheduler (void *cls, char *const *args, const char *cfgfile, - const struct GNUNET_CONFIGURATION_Handle *cfg) +run_no_scheduler (void *cls, + char *const *args, + const char *cfgfile, + const struct GNUNET_CONFIGURATION_Handle *cfg) { if (NULL != run_service_name) { - ret = GNUNET_TESTING_service_run ("gnunet_service_test", run_service_name, - cfgfile, &testing_main, NULL); + ret = GNUNET_TESTING_service_run ("gnunet_service_test", + run_service_name, + cfgfile, + &testing_main, + NULL); return; } @@ -320,7 +346,9 @@ run_no_scheduler (void *cls, char *const *args, const char *cfgfile, if (create_no > 0) { GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, - "Creating %u configuration files based on template `%s'\n", create_no, create_cfg_template); + "Creating %u configuration files based on template `%s'\n", + create_no, + create_cfg_template); ret = create_unique_cfgs (create_cfg_template, create_no); } else @@ -348,37 +376,42 @@ run_no_scheduler (void *cls, char *const *args, const char *cfgfile, int main (int argc, char *const *argv) { - struct GNUNET_GETOPT_CommandLineOption options[] = { - GNUNET_GETOPT_option_flag ('C', - "cfg", - gettext_noop ("create unique configuration files"), - &create_cfg), - GNUNET_GETOPT_option_string ('k', - "key", - "FILENAME", - gettext_noop ("extract hostkey file from pre-computed hostkey list"), - &create_hostkey), - - GNUNET_GETOPT_option_uint ('n', - "number", - "NUMBER", - gettext_noop ("number of unique configuration files to create, or number of the hostkey to extract"), - &create_no), - - - GNUNET_GETOPT_option_string ('t', - "template", - "FILENAME", - gettext_noop ("configuration template"), - &create_cfg_template), - - GNUNET_GETOPT_option_string ('r', - "run", - "SERVICE", - gettext_noop ("run the given service, wait on stdin for 'r' (restart) or 'q' (quit)"), - &run_service_name), - GNUNET_GETOPT_OPTION_END - }; + struct GNUNET_GETOPT_CommandLineOption options[] = + {GNUNET_GETOPT_option_flag ('C', + "cfg", + gettext_noop ( + "create unique configuration files"), + &create_cfg), + GNUNET_GETOPT_option_string ( + 'k', + "key", + "FILENAME", + gettext_noop ("extract hostkey file from pre-computed hostkey list"), + &create_hostkey), + + GNUNET_GETOPT_option_uint ( + 'n', + "number", + "NUMBER", + gettext_noop ( + "number of unique configuration files to create, or number of the hostkey to extract"), + &create_no), + + + GNUNET_GETOPT_option_string ('t', + "template", + "FILENAME", + gettext_noop ("configuration template"), + &create_cfg_template), + + GNUNET_GETOPT_option_string ( + 'r', + "run", + "SERVICE", + gettext_noop ( + "run the given service, wait on stdin for 'r' (restart) or 'q' (quit)"), + &run_service_name), + GNUNET_GETOPT_OPTION_END}; if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv)) return 2; @@ -386,11 +419,20 @@ main (int argc, char *const *argv) * GNUNET_TESTING_service_run, which starts the scheduler on its own. * Furthermore, the other functionality currently does not require the scheduler, too, * but beware when extending gnunet-testing. */ - ret = (GNUNET_OK == - GNUNET_PROGRAM_run2 (argc, argv, "gnunet-testing", - gettext_noop ("Command line tool to access the testing library"), options, &run_no_scheduler, - NULL, GNUNET_YES)) ? ret : 1; - GNUNET_free ((void*) argv); + ret = + (GNUNET_OK == + GNUNET_PROGRAM_run2 (argc, + argv, + "gnunet-testing", + gettext_noop ( + "Command line tool to access the testing library"), + options, + &run_no_scheduler, + NULL, + GNUNET_YES)) + ? ret + : 1; + GNUNET_free ((void *) argv); return ret; } -- cgit v1.2.3