X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_getopt.c;h=e5b854658153adef561a1b33b665ee0e0b106d5c;hb=6ede545d597509fefcc3d4fd2ef865bc5f57603f;hp=88a425545833961378b6f4337ee130abe0d53837;hpb=38b29592cf2e8b816cab68579e07e2477153f739;p=oweals%2Fgnunet.git diff --git a/src/util/test_getopt.c b/src/util/test_getopt.c index 88a425545..e5b854658 100644 --- a/src/util/test_getopt.c +++ b/src/util/test_getopt.c @@ -1,32 +1,27 @@ /* This file is part of GNUnet. - (C) 2003, 2004, 2005, 2006, 2009 Christian Grothoff (and other contributing authors) + Copyright (C) 2003, 2004, 2005, 2006, 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 3, or (at your - option) any later version. + GNUnet is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - 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. + Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . */ /** * @file util/test_getopt.c * @brief testcase for util/getopt.c */ #include "platform.h" -#include "gnunet_common.h" -#include "gnunet_configuration_lib.h" -#include "gnunet_getopt_lib.h" +#include "gnunet_util_lib.h" -#define VERBOSE 0 static int testMinimal () @@ -45,6 +40,7 @@ testMinimal () return 0; } + static int testVerbose () { @@ -56,24 +52,26 @@ testVerbose () NULL }; unsigned int vflags = 0; + const struct GNUNET_GETOPT_CommandLineOption verboseoptionlist[] = { - GNUNET_GETOPT_OPTION_VERBOSE (&vflags), + GNUNET_GETOPT_option_verbose (&vflags), GNUNET_GETOPT_OPTION_END }; if (3 != GNUNET_GETOPT_run ("test", verboseoptionlist, 4, myargv)) - { - GNUNET_break (0); - return 1; - } + { + GNUNET_break (0); + return 1; + } if (vflags != 2) - { - GNUNET_break (0); - return 1; - } + { + GNUNET_break (0); + return 1; + } return 0; } + static int testVersion () { @@ -83,18 +81,19 @@ testVersion () NULL }; const struct GNUNET_GETOPT_CommandLineOption versionoptionlist[] = { - GNUNET_GETOPT_OPTION_VERSION (PACKAGE_VERSION), + GNUNET_GETOPT_option_version (PACKAGE_VERSION " " VCS_VERSION), GNUNET_GETOPT_OPTION_END }; - if (-1 != GNUNET_GETOPT_run ("test_getopt", versionoptionlist, 2, myargv)) - { - GNUNET_break (0); - return 1; - } + if (0 != GNUNET_GETOPT_run ("test_getopt", versionoptionlist, 2, myargv)) + { + GNUNET_break (0); + return 1; + } return 0; } + static int testAbout () { @@ -104,18 +103,19 @@ testAbout () NULL }; const struct GNUNET_GETOPT_CommandLineOption aboutoptionlist[] = { - GNUNET_GETOPT_OPTION_HELP ("Testing"), + GNUNET_GETOPT_option_help ("Testing"), GNUNET_GETOPT_OPTION_END }; - if (-1 != GNUNET_GETOPT_run ("test_getopt", aboutoptionlist, 2, myargv)) - { - GNUNET_break (0); - return 1; - } + if (0 != GNUNET_GETOPT_run ("test_getopt", aboutoptionlist, 2, myargv)) + { + GNUNET_break (0); + return 1; + } return 0; } + static int testLogOpts () { @@ -127,30 +127,35 @@ testLogOpts () }; char *level = GNUNET_strdup ("stuff"); char *fn = NULL; + const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] = { - GNUNET_GETOPT_OPTION_LOGFILE (&fn), - GNUNET_GETOPT_OPTION_LOGLEVEL (&level), + GNUNET_GETOPT_option_logfile (&fn), + GNUNET_GETOPT_option_loglevel (&level), GNUNET_GETOPT_OPTION_END }; - if (5 != GNUNET_GETOPT_run ("test_getopt", logoptionlist, 5, myargv)) - { - GNUNET_break (0); - return 1; - } - GNUNET_assert (fn != NULL); - if ((0 != strcmp (level, "WARNING")) || (0 != strcmp (fn, "filename"))) - { - GNUNET_break (0); - GNUNET_free (level); - GNUNET_free (fn); - return 1; - } + if (5 != GNUNET_GETOPT_run ("test_getopt", + logoptionlist, + 5, myargv)) + { + GNUNET_break (0); + return 1; + } + GNUNET_assert (NULL != fn); + if ( (0 != strcmp (level, "WARNING")) || + (NULL == strstr (fn, "/filename")) ) + { + GNUNET_break (0); + GNUNET_free (level); + GNUNET_free (fn); + return 1; + } GNUNET_free (level); GNUNET_free (fn); return 0; } + static int testFlagNum () { @@ -164,35 +169,53 @@ testFlagNum () int flag = 0; unsigned int num = 0; unsigned long long lnum = 0; + const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] = { - {'f', "--flag", NULL, "helptext", 0, &GNUNET_GETOPT_set_one, - (void *) &flag}, - {'n', "--num", "ARG", "helptext", 1, &GNUNET_GETOPT_set_uint, - (void *) &num}, - {'N', "--lnum", "ARG", "helptext", 1, &GNUNET_GETOPT_set_ulong, - (void *) &lnum}, + GNUNET_GETOPT_option_flag ('f', + "--flag", + "helptext", + &flag), + GNUNET_GETOPT_option_uint ('n', + "--num", + "ARG", + "helptext", + &num), + GNUNET_GETOPT_option_ulong ('N', + "--lnum", + "ARG", + "helptext", + &lnum), GNUNET_GETOPT_OPTION_END }; - if (6 != GNUNET_GETOPT_run ("test_getopt", logoptionlist, 6, myargv)) - { - GNUNET_break (0); - return 1; - } - if ((1 != flag) || (42 != num) || (42 != lnum)) - { - GNUNET_break (0); - return 1; - } + if (6 != + GNUNET_GETOPT_run ("test_getopt", + logoptionlist, + 6, + myargv)) + { + GNUNET_break (0); + return 1; + } + if ( (1 != flag) || + (42 != num) || + (42 != lnum)) + { + GNUNET_break (0); + return 1; + } return 0; } + int main (int argc, char *argv[]) { int errCnt = 0; - GNUNET_log_setup ("test_getopt", "WARNING", NULL); + GNUNET_log_setup ("test_getopt", + "WARNING", + NULL); /* suppress output from -h, -v options */ #ifndef MINGW GNUNET_break (0 == CLOSE (1));