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
* @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 ()
return 0;
}
+
static int
testVerbose ()
{
NULL
};
unsigned int vflags = 0;
+
const struct GNUNET_GETOPT_CommandLineOption verboseoptionlist[] = {
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 ()
{
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 ()
{
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 ()
{
};
char *level = GNUNET_strdup ("stuff");
char *fn = NULL;
+
const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] = {
GNUNET_GETOPT_OPTION_LOGFILE (&fn),
GNUNET_GETOPT_OPTION_LOGLEVEL (&level),
};
if (5 != GNUNET_GETOPT_run ("test_getopt", logoptionlist, 5, myargv))
- {
- GNUNET_break (0);
- return 1;
- }
+ {
+ 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;
- }
+ {
+ GNUNET_break (0);
+ GNUNET_free (level);
+ GNUNET_free (fn);
+ return 1;
+ }
GNUNET_free (level);
GNUNET_free (fn);
return 0;
}
+
static int
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},
};
if (6 != GNUNET_GETOPT_run ("test_getopt", logoptionlist, 6, myargv))
- {
- GNUNET_break (0);
- return 1;
- }
+ {
+ GNUNET_break (0);
+ return 1;
+ }
if ((1 != flag) || (42 != num) || (42 != lnum))
- {
- GNUNET_break (0);
- return 1;
- }
+ {
+ GNUNET_break (0);
+ return 1;
+ }
return 0;
}
+
int
main (int argc, char *argv[])
{
GNUNET_log_setup ("test_getopt", "WARNING", NULL);
/* suppress output from -h, -v options */
+#ifndef MINGW
GNUNET_break (0 == CLOSE (1));
+#endif
if (0 != testMinimal ())
errCnt++;
if (0 != testVerbose ())