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.c167
1 files changed, 84 insertions, 83 deletions
diff --git a/src/util/test_getopt.c b/src/util/test_getopt.c
index d9dd7121f..620605f96 100644
--- a/src/util/test_getopt.c
+++ b/src/util/test_getopt.c
@@ -11,12 +11,12 @@
11 WITHOUT ANY WARRANTY; without even the implied warranty of 11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details. 13 Affero General Public License for more details.
14 14
15 You should have received a copy of the GNU Affero General Public License 15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. 16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18 SPDX-License-Identifier: AGPL3.0-or-later 18 SPDX-License-Identifier: AGPL3.0-or-later
19*/ 19 */
20/** 20/**
21 * @file util/test_getopt.c 21 * @file util/test_getopt.c
22 * @brief testcase for util/getopt.c 22 * @brief testcase for util/getopt.c
@@ -26,13 +26,14 @@
26 26
27 27
28static int 28static int
29testMinimal () 29testMinimal()
30{ 30{
31 char *const emptyargv[] = {"test", NULL}; 31 char *const emptyargv[] = { "test", NULL };
32 const struct GNUNET_GETOPT_CommandLineOption emptyoptionlist[] = { 32 const struct GNUNET_GETOPT_CommandLineOption emptyoptionlist[] = {
33 GNUNET_GETOPT_OPTION_END}; 33 GNUNET_GETOPT_OPTION_END
34 };
34 35
35 if (1 != GNUNET_GETOPT_run ("test", emptyoptionlist, 1, emptyargv)) 36 if (1 != GNUNET_GETOPT_run("test", emptyoptionlist, 1, emptyargv))
36 return 1; 37 return 1;
37 38
38 return 0; 39 return 0;
@@ -40,142 +41,142 @@ testMinimal ()
40 41
41 42
42static int 43static int
43testVerbose () 44testVerbose()
44{ 45{
45 char *const myargv[] = {"test", "-V", "-V", "more", NULL}; 46 char *const myargv[] = { "test", "-V", "-V", "more", NULL };
46 unsigned int vflags = 0; 47 unsigned int vflags = 0;
47 48
48 const struct GNUNET_GETOPT_CommandLineOption verboseoptionlist[] = 49 const struct GNUNET_GETOPT_CommandLineOption verboseoptionlist[] =
49 {GNUNET_GETOPT_option_verbose (&vflags), GNUNET_GETOPT_OPTION_END}; 50 { GNUNET_GETOPT_option_verbose(&vflags), GNUNET_GETOPT_OPTION_END };
50 51
51 if (3 != GNUNET_GETOPT_run ("test", verboseoptionlist, 4, myargv)) 52 if (3 != GNUNET_GETOPT_run("test", verboseoptionlist, 4, myargv))
52 { 53 {
53 GNUNET_break (0); 54 GNUNET_break(0);
54 return 1; 55 return 1;
55 } 56 }
56 if (vflags != 2) 57 if (vflags != 2)
57 { 58 {
58 GNUNET_break (0); 59 GNUNET_break(0);
59 return 1; 60 return 1;
60 } 61 }
61 return 0; 62 return 0;
62} 63}
63 64
64 65
65static int 66static int
66testVersion () 67testVersion()
67{ 68{
68 char *const myargv[] = {"test_getopt", "-v", NULL}; 69 char *const myargv[] = { "test_getopt", "-v", NULL };
69 const struct GNUNET_GETOPT_CommandLineOption versionoptionlist[] = 70 const struct GNUNET_GETOPT_CommandLineOption versionoptionlist[] =
70 {GNUNET_GETOPT_option_version (PACKAGE_VERSION " " VCS_VERSION), 71 { GNUNET_GETOPT_option_version(PACKAGE_VERSION " " VCS_VERSION),
71 GNUNET_GETOPT_OPTION_END}; 72 GNUNET_GETOPT_OPTION_END };
72 73
73 if (0 != GNUNET_GETOPT_run ("test_getopt", versionoptionlist, 2, myargv)) 74 if (0 != GNUNET_GETOPT_run("test_getopt", versionoptionlist, 2, myargv))
74 { 75 {
75 GNUNET_break (0); 76 GNUNET_break(0);
76 return 1; 77 return 1;
77 } 78 }
78 return 0; 79 return 0;
79} 80}
80 81
81 82
82static int 83static int
83testAbout () 84testAbout()
84{ 85{
85 char *const myargv[] = {"test_getopt", "-h", NULL}; 86 char *const myargv[] = { "test_getopt", "-h", NULL };
86 const struct GNUNET_GETOPT_CommandLineOption aboutoptionlist[] = 87 const struct GNUNET_GETOPT_CommandLineOption aboutoptionlist[] =
87 {GNUNET_GETOPT_option_help ("Testing"), GNUNET_GETOPT_OPTION_END}; 88 { GNUNET_GETOPT_option_help("Testing"), GNUNET_GETOPT_OPTION_END };
88 89
89 if (0 != GNUNET_GETOPT_run ("test_getopt", aboutoptionlist, 2, myargv)) 90 if (0 != GNUNET_GETOPT_run("test_getopt", aboutoptionlist, 2, myargv))
90 { 91 {
91 GNUNET_break (0); 92 GNUNET_break(0);
92 return 1; 93 return 1;
93 } 94 }
94 return 0; 95 return 0;
95} 96}
96 97
97 98
98static int 99static int
99testLogOpts () 100testLogOpts()
100{ 101{
101 char *const myargv[] = 102 char *const myargv[] =
102 {"test_getopt", "-l", "filename", "-L", "WARNING", NULL}; 103 { "test_getopt", "-l", "filename", "-L", "WARNING", NULL };
103 char *level = GNUNET_strdup ("stuff"); 104 char *level = GNUNET_strdup("stuff");
104 char *fn = NULL; 105 char *fn = NULL;
105 106
106 const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] = 107 const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] =
107 {GNUNET_GETOPT_option_logfile (&fn), 108 { GNUNET_GETOPT_option_logfile(&fn),
108 GNUNET_GETOPT_option_loglevel (&level), 109 GNUNET_GETOPT_option_loglevel(&level),
109 GNUNET_GETOPT_OPTION_END}; 110 GNUNET_GETOPT_OPTION_END };
110 111
111 if (5 != GNUNET_GETOPT_run ("test_getopt", logoptionlist, 5, myargv)) 112 if (5 != GNUNET_GETOPT_run("test_getopt", logoptionlist, 5, myargv))
112 { 113 {
113 GNUNET_break (0); 114 GNUNET_break(0);
114 return 1; 115 return 1;
115 } 116 }
116 GNUNET_assert (NULL != fn); 117 GNUNET_assert(NULL != fn);
117 if ((0 != strcmp (level, "WARNING")) || (NULL == strstr (fn, "/filename"))) 118 if ((0 != strcmp(level, "WARNING")) || (NULL == strstr(fn, "/filename")))
118 { 119 {
119 GNUNET_break (0); 120 GNUNET_break(0);
120 GNUNET_free (level); 121 GNUNET_free(level);
121 GNUNET_free (fn); 122 GNUNET_free(fn);
122 return 1; 123 return 1;
123 } 124 }
124 GNUNET_free (level); 125 GNUNET_free(level);
125 GNUNET_free (fn); 126 GNUNET_free(fn);
126 return 0; 127 return 0;
127} 128}
128 129
129 130
130static int 131static int
131testFlagNum () 132testFlagNum()
132{ 133{
133 char *const myargv[] = {"test_getopt", "-f", "-n", "42", "-N", "42", NULL}; 134 char *const myargv[] = { "test_getopt", "-f", "-n", "42", "-N", "42", NULL };
134 int flag = 0; 135 int flag = 0;
135 unsigned int num = 0; 136 unsigned int num = 0;
136 unsigned long long lnum = 0; 137 unsigned long long lnum = 0;
137 138
138 const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] = 139 const struct GNUNET_GETOPT_CommandLineOption logoptionlist[] =
139 {GNUNET_GETOPT_option_flag ('f', "--flag", "helptext", &flag), 140 { GNUNET_GETOPT_option_flag('f', "--flag", "helptext", &flag),
140 GNUNET_GETOPT_option_uint ('n', "--num", "ARG", "helptext", &num), 141 GNUNET_GETOPT_option_uint('n', "--num", "ARG", "helptext", &num),
141 GNUNET_GETOPT_option_ulong ('N', "--lnum", "ARG", "helptext", &lnum), 142 GNUNET_GETOPT_option_ulong('N', "--lnum", "ARG", "helptext", &lnum),
142 GNUNET_GETOPT_OPTION_END}; 143 GNUNET_GETOPT_OPTION_END };
143 144
144 if (6 != GNUNET_GETOPT_run ("test_getopt", logoptionlist, 6, myargv)) 145 if (6 != GNUNET_GETOPT_run("test_getopt", logoptionlist, 6, myargv))
145 { 146 {
146 GNUNET_break (0); 147 GNUNET_break(0);
147 return 1; 148 return 1;
148 } 149 }
149 if ((1 != flag) || (42 != num) || (42 != lnum)) 150 if ((1 != flag) || (42 != num) || (42 != lnum))
150 { 151 {
151 GNUNET_break (0); 152 GNUNET_break(0);
152 return 1; 153 return 1;
153 } 154 }
154 return 0; 155 return 0;
155} 156}
156 157
157 158
158int 159int
159main (int argc, char *argv[]) 160main(int argc, char *argv[])
160{ 161{
161 int errCnt = 0; 162 int errCnt = 0;
162 163
163 GNUNET_log_setup ("test_getopt", "WARNING", NULL); 164 GNUNET_log_setup("test_getopt", "WARNING", NULL);
164 /* suppress output from -h, -v options */ 165 /* suppress output from -h, -v options */
165#ifndef MINGW 166#ifndef MINGW
166 GNUNET_break (0 == close (1)); 167 GNUNET_break(0 == close(1));
167#endif 168#endif
168 if (0 != testMinimal ()) 169 if (0 != testMinimal())
169 errCnt++; 170 errCnt++;
170 if (0 != testVerbose ()) 171 if (0 != testVerbose())
171 errCnt++; 172 errCnt++;
172 if (0 != testVersion ()) 173 if (0 != testVersion())
173 errCnt++; 174 errCnt++;
174 if (0 != testAbout ()) 175 if (0 != testAbout())
175 errCnt++; 176 errCnt++;
176 if (0 != testLogOpts ()) 177 if (0 != testLogOpts())
177 errCnt++; 178 errCnt++;
178 if (0 != testFlagNum ()) 179 if (0 != testFlagNum())
179 errCnt++; 180 errCnt++;
180 return errCnt; 181 return errCnt;
181} 182}