diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/regress/usr.bin/openssl/options/optionstest.c | 67 |
1 files changed, 50 insertions, 17 deletions
diff --git a/src/regress/usr.bin/openssl/options/optionstest.c b/src/regress/usr.bin/openssl/options/optionstest.c index d493f7801d..ee756b7880 100644 --- a/src/regress/usr.bin/openssl/options/optionstest.c +++ b/src/regress/usr.bin/openssl/options/optionstest.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: optionstest.c,v 1.4 2014/12/28 15:49:36 jsing Exp $ */ | 1 | /* $OpenBSD: optionstest.c,v 1.5 2014/12/28 16:11:54 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -62,8 +62,11 @@ char *args3[] = { "opts", "-arg", "arg", "-flag", "unnamed" }; | |||
| 62 | char *args4[] = { "opts", "-arg", "arg", "unnamed", "-flag" }; | 62 | char *args4[] = { "opts", "-arg", "arg", "unnamed", "-flag" }; |
| 63 | char *args5[] = { "opts", "unnamed1", "-arg", "arg", "-flag", "unnamed2" }; | 63 | char *args5[] = { "opts", "unnamed1", "-arg", "arg", "-flag", "unnamed2" }; |
| 64 | char *args6[] = { "opts", "-argfunc", "arg", "-flag" }; | 64 | char *args6[] = { "opts", "-argfunc", "arg", "-flag" }; |
| 65 | char *args7[] = { "opts", "-arg", "arg", "-flag", "file1", "file2", "file3" }; | 65 | char *args7[] = { "opts", "-arg", "arg", "-flag", "-", "-unnamed" }; |
| 66 | char *args8[] = { "opts", "-arg", "arg", "-flag", "file1", "-file2", "file3" }; | 66 | char *args8[] = { "opts", "-arg", "arg", "-flag", "file1", "file2", "file3" }; |
| 67 | char *args9[] = { "opts", "-arg", "arg", "-flag", "file1", "-file2", "file3" }; | ||
| 68 | char *args10[] = { "opts", "-arg", "arg", "-flag", "-", "file1", "file2" }; | ||
| 69 | char *args11[] = { "opts", "-arg", "arg", "-flag", "-", "-file1", "-file2" }; | ||
| 67 | 70 | ||
| 68 | struct options_test { | 71 | struct options_test { |
| 69 | int argc; | 72 | int argc; |
| @@ -82,7 +85,7 @@ struct options_test { | |||
| 82 | 85 | ||
| 83 | struct options_test options_tests[] = { | 86 | struct options_test options_tests[] = { |
| 84 | { | 87 | { |
| 85 | /* No arguments (only program name). */ | 88 | /* Test 1 - No arguments (only program name). */ |
| 86 | .argc = 1, | 89 | .argc = 1, |
| 87 | .argv = args1, | 90 | .argv = args1, |
| 88 | .type = OPTIONS_TEST_NONE, | 91 | .type = OPTIONS_TEST_NONE, |
| @@ -91,7 +94,7 @@ struct options_test options_tests[] = { | |||
| 91 | .wantflag = 0, | 94 | .wantflag = 0, |
| 92 | }, | 95 | }, |
| 93 | { | 96 | { |
| 94 | /* Named arguments (unnamed not permitted). */ | 97 | /* Test 2 - Named arguments (unnamed not permitted). */ |
| 95 | .argc = 4, | 98 | .argc = 4, |
| 96 | .argv = args2, | 99 | .argv = args2, |
| 97 | .type = OPTIONS_TEST_NONE, | 100 | .type = OPTIONS_TEST_NONE, |
| @@ -100,7 +103,7 @@ struct options_test options_tests[] = { | |||
| 100 | .wantflag = 1, | 103 | .wantflag = 1, |
| 101 | }, | 104 | }, |
| 102 | { | 105 | { |
| 103 | /* Named arguments (unnamed permitted). */ | 106 | /* Test 3 - Named arguments (unnamed permitted). */ |
| 104 | .argc = 4, | 107 | .argc = 4, |
| 105 | .argv = args2, | 108 | .argv = args2, |
| 106 | .type = OPTIONS_TEST_UNNAMED, | 109 | .type = OPTIONS_TEST_UNNAMED, |
| @@ -110,14 +113,14 @@ struct options_test options_tests[] = { | |||
| 110 | .wantflag = 1, | 113 | .wantflag = 1, |
| 111 | }, | 114 | }, |
| 112 | { | 115 | { |
| 113 | /* Named and single unnamed (unnamed not permitted). */ | 116 | /* Test 4 - Named and single unnamed (unnamed not permitted). */ |
| 114 | .argc = 5, | 117 | .argc = 5, |
| 115 | .argv = args3, | 118 | .argv = args3, |
| 116 | .type = OPTIONS_TEST_NONE, | 119 | .type = OPTIONS_TEST_NONE, |
| 117 | .want = 1, | 120 | .want = 1, |
| 118 | }, | 121 | }, |
| 119 | { | 122 | { |
| 120 | /* Named and single unnamed (unnamed permitted). */ | 123 | /* Test 5 - Named and single unnamed (unnamed permitted). */ |
| 121 | .argc = 5, | 124 | .argc = 5, |
| 122 | .argv = args3, | 125 | .argv = args3, |
| 123 | .type = OPTIONS_TEST_UNNAMED, | 126 | .type = OPTIONS_TEST_UNNAMED, |
| @@ -127,7 +130,7 @@ struct options_test options_tests[] = { | |||
| 127 | .wantflag = 1, | 130 | .wantflag = 1, |
| 128 | }, | 131 | }, |
| 129 | { | 132 | { |
| 130 | /* Named and single unnamed (different sequence). */ | 133 | /* Test 6 - Named and single unnamed (different sequence). */ |
| 131 | .argc = 5, | 134 | .argc = 5, |
| 132 | .argv = args4, | 135 | .argv = args4, |
| 133 | .type = OPTIONS_TEST_UNNAMED, | 136 | .type = OPTIONS_TEST_UNNAMED, |
| @@ -137,14 +140,14 @@ struct options_test options_tests[] = { | |||
| 137 | .wantflag = 1, | 140 | .wantflag = 1, |
| 138 | }, | 141 | }, |
| 139 | { | 142 | { |
| 140 | /* Multiple unnamed arguments (should fail). */ | 143 | /* Test 7 - Multiple unnamed arguments (should fail). */ |
| 141 | .argc = 6, | 144 | .argc = 6, |
| 142 | .argv = args5, | 145 | .argv = args5, |
| 143 | .type = OPTIONS_TEST_UNNAMED, | 146 | .type = OPTIONS_TEST_UNNAMED, |
| 144 | .want = 1, | 147 | .want = 1, |
| 145 | }, | 148 | }, |
| 146 | { | 149 | { |
| 147 | /* Function. */ | 150 | /* Test 8 - Function. */ |
| 148 | .argc = 4, | 151 | .argc = 4, |
| 149 | .argv = args6, | 152 | .argv = args6, |
| 150 | .type = OPTIONS_TEST_NONE, | 153 | .type = OPTIONS_TEST_NONE, |
| @@ -153,9 +156,19 @@ struct options_test options_tests[] = { | |||
| 153 | .wantflag = 1, | 156 | .wantflag = 1, |
| 154 | }, | 157 | }, |
| 155 | { | 158 | { |
| 156 | /* Named and multiple unnamed. */ | 159 | /* Test 9 - Named and single unnamed (hyphen separated). */ |
| 157 | .argc = 7, | 160 | .argc = 6, |
| 158 | .argv = args7, | 161 | .argv = args7, |
| 162 | .type = OPTIONS_TEST_UNNAMED, | ||
| 163 | .unnamed = "-unnamed", | ||
| 164 | .want = 0, | ||
| 165 | .wantarg = "arg", | ||
| 166 | .wantflag = 1, | ||
| 167 | }, | ||
| 168 | { | ||
| 169 | /* Test 10 - Named and multiple unnamed. */ | ||
| 170 | .argc = 7, | ||
| 171 | .argv = args8, | ||
| 159 | .used = 4, | 172 | .used = 4, |
| 160 | .type = OPTIONS_TEST_ARGSUSED, | 173 | .type = OPTIONS_TEST_ARGSUSED, |
| 161 | .want = 0, | 174 | .want = 0, |
| @@ -163,9 +176,9 @@ struct options_test options_tests[] = { | |||
| 163 | .wantflag = 1, | 176 | .wantflag = 1, |
| 164 | }, | 177 | }, |
| 165 | { | 178 | { |
| 166 | /* Named and multiple unnamed. */ | 179 | /* Test 11 - Named and multiple unnamed. */ |
| 167 | .argc = 7, | 180 | .argc = 7, |
| 168 | .argv = args8, | 181 | .argv = args9, |
| 169 | .used = 4, | 182 | .used = 4, |
| 170 | .type = OPTIONS_TEST_ARGSUSED, | 183 | .type = OPTIONS_TEST_ARGSUSED, |
| 171 | .want = 0, | 184 | .want = 0, |
| @@ -173,7 +186,27 @@ struct options_test options_tests[] = { | |||
| 173 | .wantflag = 1, | 186 | .wantflag = 1, |
| 174 | }, | 187 | }, |
| 175 | { | 188 | { |
| 176 | /* Named only. */ | 189 | /* Test 12 - Named and multiple unnamed. */ |
| 190 | .argc = 7, | ||
| 191 | .argv = args10, | ||
| 192 | .used = 5, | ||
| 193 | .type = OPTIONS_TEST_ARGSUSED, | ||
| 194 | .want = 0, | ||
| 195 | .wantarg = "arg", | ||
| 196 | .wantflag = 1, | ||
| 197 | }, | ||
| 198 | { | ||
| 199 | /* Test 13 - Named and multiple unnamed. */ | ||
| 200 | .argc = 7, | ||
| 201 | .argv = args11, | ||
| 202 | .used = 5, | ||
| 203 | .type = OPTIONS_TEST_ARGSUSED, | ||
| 204 | .want = 0, | ||
| 205 | .wantarg = "arg", | ||
| 206 | .wantflag = 1, | ||
| 207 | }, | ||
| 208 | { | ||
| 209 | /* Test 14 - Named only. */ | ||
| 177 | .argc = 4, | 210 | .argc = 4, |
| 178 | .argv = args2, | 211 | .argv = args2, |
| 179 | .used = 4, | 212 | .used = 4, |
| @@ -254,7 +287,7 @@ main(int argc, char **argv) | |||
| 254 | size_t i; | 287 | size_t i; |
| 255 | 288 | ||
| 256 | for (i = 0; i < N_OPTIONS_TESTS; i++) | 289 | for (i = 0; i < N_OPTIONS_TESTS; i++) |
| 257 | failed += do_options_test(i, &options_tests[i]); | 290 | failed += do_options_test(i + 1, &options_tests[i]); |
| 258 | 291 | ||
| 259 | return (failed); | 292 | return (failed); |
| 260 | } | 293 | } |
