X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_program.c;h=669cee7bdc1ea4670c0f123f81bd4b3732051a9d;hb=82e765caeb53a1de54676738169dab98ca76c47e;hp=dee602e2a5f15823bc277f4b468cfed361e6017c;hpb=0a217a8df1657b4334b55b0e4a6c7837a8dbcfd9;p=oweals%2Fgnunet.git diff --git a/src/util/test_program.c b/src/util/test_program.c index dee602e2a..669cee7bd 100644 --- a/src/util/test_program.c +++ b/src/util/test_program.c @@ -1,10 +1,10 @@ /* This file is part of GNUnet. - (C) 2009 Christian Grothoff (and other contributing authors) + Copyright (C) 2009 GNUnet e.V. 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 @@ -14,38 +14,52 @@ You should have received a copy of the GNU General Public License along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /** * @file util/test_program.c * @brief tests for program.c */ #include "platform.h" -#include "gnunet_common.h" -#include "gnunet_program_lib.h" -#include "gnunet_scheduler_lib.h" -#include "gnunet_time_lib.h" +#include "gnunet_util_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 +67,6 @@ runner (void *cls, *ok = 0; } - /** * Main method, starts scheduler with task1, * checks that "ok" is correct at the end. @@ -62,6 +75,7 @@ static int check () { int ok = 1; + char *const argv[] = { "test_program", "-c", @@ -72,11 +86,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; }