diff options
Diffstat (limited to 'src/util/test_getopt.c')
-rw-r--r-- | src/util/test_getopt.c | 119 |
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 @@ | |||
28 | static int | 28 | static int |
29 | testMinimal () | 29 | testMinimal () |
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 () | |||
46 | static int | 42 | static int |
47 | testVerbose () | 43 | testVerbose () |
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 () | |||
77 | static int | 65 | static int |
78 | testVersion () | 66 | testVersion () |
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 () | |||
99 | static int | 82 | static int |
100 | testAbout () | 83 | testAbout () |
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 () | |||
121 | static int | 98 | static int |
122 | testLogOpts () | 99 | testLogOpts () |
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 () | |||
161 | static int | 130 | static int |
162 | testFlagNum () | 131 | testFlagNum () |
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++; |