opt: wean off getopt_long, beef up tests.
[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         return exit_status();
29 }
30