X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_program.c;h=faeb4e716297e78d8d9bf608ed7fd504a11b0466;hb=72c8645af31896829b674b575c5375706f362a30;hp=dee602e2a5f15823bc277f4b468cfed361e6017c;hpb=0a217a8df1657b4334b55b0e4a6c7837a8dbcfd9;p=oweals%2Fgnunet.git diff --git a/src/util/test_program.c b/src/util/test_program.c index dee602e2a..faeb4e716 100644 --- a/src/util/test_program.c +++ b/src/util/test_program.c @@ -4,7 +4,7 @@ GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 2, or (at your + by the Free Software Foundation; either version 3, or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but @@ -27,25 +27,42 @@ #include "gnunet_scheduler_lib.h" #include "gnunet_time_lib.h" -static int setme; +static int setme1, setme2; -static struct GNUNET_GETOPT_CommandLineOption options[] = { - {'n', "name", NULL, "description", 0, &GNUNET_GETOPT_set_one, &setme}, +static struct GNUNET_GETOPT_CommandLineOption options1[] = { + {'n', "name", NULL, "description", 0, &GNUNET_GETOPT_set_one, &setme1}, + GNUNET_GETOPT_OPTION_END +}; + +static struct GNUNET_GETOPT_CommandLineOption options2[] = { + {'n', "name", NULL, "description", 0, &GNUNET_GETOPT_set_one, &setme1}, + {'N', "number", NULL, "description", 0, &GNUNET_GETOPT_set_one, &setme2}, + GNUNET_GETOPT_OPTION_END +}; + +static struct GNUNET_GETOPT_CommandLineOption options3[] = { + {'N', "number", NULL, "description", 0, &GNUNET_GETOPT_set_one, &setme1}, + {'n', "name", NULL, "description", 0, &GNUNET_GETOPT_set_one, &setme2}, + GNUNET_GETOPT_OPTION_END +}; + +static struct GNUNET_GETOPT_CommandLineOption options4[] = { + {'n', "name", NULL, "description", 0, &GNUNET_GETOPT_set_one, &setme1}, + {'n', "number", NULL, "description", 0, &GNUNET_GETOPT_set_one, &setme2}, GNUNET_GETOPT_OPTION_END }; /** * Main function that will be run. */ + static void -runner (void *cls, - struct GNUNET_SCHEDULER_Handle *sched, - char *const *args, - const char *cfgfile, struct GNUNET_CONFIGURATION_Handle *cfg) +runner (void *cls, char *const *args, const char *cfgfile, + const struct GNUNET_CONFIGURATION_Handle *cfg) { int *ok = cls; - GNUNET_assert (setme == 1); - GNUNET_assert (sched != NULL); + + GNUNET_assert (setme1 == 1); GNUNET_assert (0 == strcmp (args[0], "extra")); GNUNET_assert (args[1] == NULL); GNUNET_assert (0 == strcmp (cfgfile, "test_program_data.conf")); @@ -53,7 +70,6 @@ runner (void *cls, *ok = 0; } - /** * Main method, starts scheduler with task1, * checks that "ok" is correct at the end. @@ -62,6 +78,7 @@ static int check () { int ok = 1; + char *const argv[] = { "test_program", "-c", @@ -72,11 +89,21 @@ check () "extra", NULL }; + GNUNET_assert (GNUNET_OK == - GNUNET_PROGRAM_run (7, - argv, - "test_program", - "A test", options, &runner, &ok)); + GNUNET_PROGRAM_run (7, argv, "test_program", "A test", + options1, &runner, &ok)); + + GNUNET_assert (GNUNET_OK == + GNUNET_PROGRAM_run (7, argv, "test_program", "A test", + options2, &runner, &ok)); + GNUNET_assert (GNUNET_OK == + GNUNET_PROGRAM_run (7, argv, "test_program", "A test", + options3, &runner, &ok)); + GNUNET_assert (GNUNET_OK == + GNUNET_PROGRAM_run (7, argv, "test_program", "A test", + options4, &runner, &ok)); + return ok; }