]> git.ozlabs.org Git - ccan/blob - ccan/opt/test/run-no-options.c
opt: avoid function pointer arithmetic
[ccan] / ccan / opt / test / run-no-options.c
1 /* Make sure we still work with no options registered */
2 #include <ccan/tap/tap.h>
3 #include <stdlib.h>
4 #include <ccan/opt/opt.c>
5 #include <ccan/opt/usage.c>
6 #include <ccan/opt/helpers.c>
7 #include <ccan/opt/parse.c>
8 #include "utils.h"
9
10 int main(int argc, char *argv[])
11 {
12         const char *myname = argv[0];
13
14         plan_tests(7);
15
16         /* Simple short arg.*/
17         ok1(!parse_args(&argc, &argv, "-a", NULL));
18         /* Simple long arg.*/
19         ok1(!parse_args(&argc, &argv, "--aaa", NULL));
20
21         /* Extra arguments preserved. */
22         ok1(parse_args(&argc, &argv, "extra", "args", NULL));
23         ok1(argc == 3);
24         ok1(argv[0] == myname);
25         ok1(strcmp(argv[1], "extra") == 0);
26         ok1(strcmp(argv[2], "args") == 0);
27
28         /* parse_args allocates argv */
29         free(argv);
30
31         return exit_status();
32 }
33