aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_getopt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/test_getopt.c')
-rw-r--r--src/util/test_getopt.c119
1 files changed, 31 insertions, 88 deletions
diff --git a/src/util/test_getopt.c b/src/util/test_getopt.c
index 4294117a6..d9dd7121f 100644
--- a/src/util/test_getopt.c
+++ b/src/util/test_getopt.c
@@ -28,13 +28,9 @@
28static int 28static int
29testMinimal () 29testMinimal ()
30{ 30{
31 char *const emptyargv[] = { 31 char *const emptyargv[] = {"test", NULL};
32 "test",
33 NULL
34 };
35 const struct GNUNET_GETOPT_CommandLineOption emptyoptionlist[] = { 32 const struct GNUNET_GETOPT_CommandLineOption emptyoptionlist[] = {
36 GNUNET_GETOPT_OPTION_END 33 GNUNET_GETOPT_OPTION_END};
37 };
38 34
39 if (1 != GNUNET_GETOPT_run ("test", emptyoptionlist, 1, emptyargv)) 35 if (1 != GNUNET_GETOPT_run ("test", emptyoptionlist, 1, emptyargv))
40 return 1; 36 return 1;
@@ -46,19 +42,11 @@ testMinimal ()
46static int 42static int
47testVerbose () 43testVerbose ()
48{ 44{
49 char *const myargv[] = { 45 char *const myargv[] = {"test", "-V", "-V", "more", NULL};
50 "test",
51 "-V",
52 "-V",
53 "more",
54 NULL
55 };
56 unsigned int vflags = 0; 46 unsigned int vflags = 0;
57 47
58 const struct GNUNET_GETOPT_CommandLineOption verboseoptionlist[] = { 48 const struct GNUNET_GETOPT_CommandLineOption verboseoptionlist[] =
59 GNUNET_GETOPT_option_verbose (&vflags), 49 {GNUNET_GETOPT_option_verbose (&vflags), GNUNET_GETOPT_OPTION_END};
60 GNUNET_GETOPT_OPTION_END
61 };
62 50
63 if (3 != GNUNET_GETOPT_run ("test", verboseoptionlist, 4, myargv)) 51 if (3 != GNUNET_GETOPT_run ("test", verboseoptionlist, 4, myargv))
64 { 52 {
@@ -77,15 +65,10 @@ testVerbose ()
77static int 65static int
78testVersion () 66testVersion ()
79{ 67{
80 char *const myargv[] = { 68 char *const myargv[] = {"test_getopt", "-v", NULL};
81 "test_getopt", 69 const struct GNUNET_GETOPT_CommandLineOption versionoptionlist[] =
82 "-v", 70 {GNUNET_GETOPT_option_version (PACKAGE_VERSION " " VCS_VERSION),
83 NULL 71 GNUNET_GETOPT_OPTION_END};
84 };
85 const struct GNUNET_GETOPT_CommandLineOption versionoptionlist[] = {
86 GNUNET_GETOPT_option_version (PACKAGE_VERSION " " VCS_VERSION),
87 GNUNET_GETOPT_OPTION_END
88 };
89 72
90 if (0 != GNUNET_GETOPT_run ("test_getopt", versionoptionlist, 2, myargv)) 73 if (0 != GNUNET_GETOPT_run ("test_getopt", versionoptionlist, 2, myargv))
91 { 74 {
@@ -99,15 +82,9 @@ testVersion ()
99static int 82static int
100testAbout () 83testAbout ()
101{ 84{
102 char *const myargv[] = { 85 char *const myargv[] = {"test_getopt", "-h", NULL};
103 "test_getopt", 86 const struct GNUNET_GETOPT_CommandLineOption aboutoptionlist[] =
104 "-h", 87 {GNUNET_GETOPT_option_help ("Testing"), GNUNET_GETOPT_OPTION_END};
105 NULL
106 };
107 const struct GNUNET_GETOPT_CommandLineOption aboutoptionlist[] = {
108 GNUNET_GETOPT_option_help ("Testing"),
109 GNUNET_GETOPT_OPTION_END
110 };
111 88
112 if (0 != GNUNET_GETOPT_run ("test_getopt", aboutoptionlist, 2, myargv)) 89 if (0 != GNUNET_GETOPT_run ("test_getopt", aboutoptionlist, 2, myargv))
113 { 90 {
@@ -121,31 +98,23 @@ testAbout ()
121static int 98static int
122testLogOpts () 99testLogOpts ()
123{ 100{
124 char *const myargv[] = { 101 char *const myargv[] =
125 "test_getopt", 102 {"test_getopt", "-l", "filename", "-L", "WARNING", NULL};
126 "-l", "filename",
127 "-L", "WARNING",
128 NULL
129 };
130 char *level = GNUNET_strdup ("stuff"); 103 char *level = GNUNET_strdup ("stuff");
131 char *fn = NULL; 104 char *fn = NULL;
132 105
133 const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] = { 106 const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] =
134 GNUNET_GETOPT_option_logfile (&fn), 107 {GNUNET_GETOPT_option_logfile (&fn),
135 GNUNET_GETOPT_option_loglevel (&level), 108 GNUNET_GETOPT_option_loglevel (&level),
136 GNUNET_GETOPT_OPTION_END 109 GNUNET_GETOPT_OPTION_END};
137 };
138 110
139 if (5 != GNUNET_GETOPT_run ("test_getopt", 111 if (5 != GNUNET_GETOPT_run ("test_getopt", logoptionlist, 5, myargv))
140 logoptionlist,
141 5, myargv))
142 { 112 {
143 GNUNET_break (0); 113 GNUNET_break (0);
144 return 1; 114 return 1;
145 } 115 }
146 GNUNET_assert (NULL != fn); 116 GNUNET_assert (NULL != fn);
147 if ( (0 != strcmp (level, "WARNING")) || 117 if ((0 != strcmp (level, "WARNING")) || (NULL == strstr (fn, "/filename")))
148 (NULL == strstr (fn, "/filename")) )
149 { 118 {
150 GNUNET_break (0); 119 GNUNET_break (0);
151 GNUNET_free (level); 120 GNUNET_free (level);
@@ -161,47 +130,23 @@ testLogOpts ()
161static int 130static int
162testFlagNum () 131testFlagNum ()
163{ 132{
164 char *const myargv[] = { 133 char *const myargv[] = {"test_getopt", "-f", "-n", "42", "-N", "42", NULL};
165 "test_getopt",
166 "-f",
167 "-n", "42",
168 "-N", "42",
169 NULL
170 };
171 int flag = 0; 134 int flag = 0;
172 unsigned int num = 0; 135 unsigned int num = 0;
173 unsigned long long lnum = 0; 136 unsigned long long lnum = 0;
174 137
175 const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] = { 138 const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] =
176 GNUNET_GETOPT_option_flag ('f', 139 {GNUNET_GETOPT_option_flag ('f', "--flag", "helptext", &flag),
177 "--flag", 140 GNUNET_GETOPT_option_uint ('n', "--num", "ARG", "helptext", &num),
178 "helptext", 141 GNUNET_GETOPT_option_ulong ('N', "--lnum", "ARG", "helptext", &lnum),
179 &flag), 142 GNUNET_GETOPT_OPTION_END};
180 GNUNET_GETOPT_option_uint ('n', 143
181 "--num", 144 if (6 != GNUNET_GETOPT_run ("test_getopt", logoptionlist, 6, myargv))
182 "ARG",
183 "helptext",
184 &num),
185 GNUNET_GETOPT_option_ulong ('N',
186 "--lnum",
187 "ARG",
188 "helptext",
189 &lnum),
190 GNUNET_GETOPT_OPTION_END
191 };
192
193 if (6 !=
194 GNUNET_GETOPT_run ("test_getopt",
195 logoptionlist,
196 6,
197 myargv))
198 { 145 {
199 GNUNET_break (0); 146 GNUNET_break (0);
200 return 1; 147 return 1;
201 } 148 }
202 if ( (1 != flag) || 149 if ((1 != flag) || (42 != num) || (42 != lnum))
203 (42 != num) ||
204 (42 != lnum))
205 { 150 {
206 GNUNET_break (0); 151 GNUNET_break (0);
207 return 1; 152 return 1;
@@ -215,12 +160,10 @@ main (int argc, char *argv[])
215{ 160{
216 int errCnt = 0; 161 int errCnt = 0;
217 162
218 GNUNET_log_setup ("test_getopt", 163 GNUNET_log_setup ("test_getopt", "WARNING", NULL);
219 "WARNING",
220 NULL);
221 /* suppress output from -h, -v options */ 164 /* suppress output from -h, -v options */
222#ifndef MINGW 165#ifndef MINGW
223 GNUNET_break (0 == CLOSE (1)); 166 GNUNET_break (0 == close (1));
224#endif 167#endif
225 if (0 != testMinimal ()) 168 if (0 != testMinimal ())
226 errCnt++; 169 errCnt++;