]> git.ozlabs.org Git - ccan/blobdiff - ccan/opt/test/run-correct-reporting.c
base64: fix for unsigned chars (e.g. ARM).
[ccan] / ccan / opt / test / run-correct-reporting.c
index bbac3402dde35a70d12ff58dd1961377a791e5b3..0c4f6c8693972b489440feddd1a38b260a8011f9 100644 (file)
@@ -4,42 +4,50 @@
 #include <stdlib.h>
 #include <ccan/opt/opt.c>
 #include <ccan/opt/usage.c>
+#include <ccan/opt/helpers.c>
+#include <ccan/opt/parse.c>
 #include "utils.h"
 
 int main(int argc, char *argv[])
 {
-       plan_tests(12);
+       plan_tests(14);
 
        /* --aaa without args. */
-       opt_register_arg("-a/--aaa", test_arg, NULL, "aaa", "");
+       opt_register_arg("-a|--aaa", test_arg, NULL, "aaa", "");
        ok1(!parse_args(&argc, &argv, "--aaa", NULL));
-       ok1(strstr(err_output, ": --aaa: option requires an argument"));
+       ok1(strstr(err_output, ": --aaa: requires an argument"));
        free(err_output);
        err_output = NULL;
        ok1(!parse_args(&argc, &argv, "-a", NULL));
-       ok1(strstr(err_output, ": -a: option requires an argument"));
+       ok1(strstr(err_output, ": -a: requires an argument"));
        free(err_output);
        err_output = NULL;
 
        /* Multiple */
-       opt_register_arg("--bbb/-b/-c/--ccc", test_arg, NULL, "aaa", "");
+       opt_register_arg("--bbb|-b|-c|--ccc", test_arg, NULL, "aaa", "");
        ok1(!parse_args(&argc, &argv, "--bbb", NULL));
-       ok1(strstr(err_output, ": --bbb: option requires an argument"));
+       ok1(strstr(err_output, ": --bbb: requires an argument"));
        free(err_output);
        err_output = NULL;
        ok1(!parse_args(&argc, &argv, "-b", NULL));
-       ok1(strstr(err_output, ": -b: option requires an argument"));
+       ok1(strstr(err_output, ": -b: requires an argument"));
        free(err_output);
        err_output = NULL;
        ok1(!parse_args(&argc, &argv, "-c", NULL));
-       ok1(strstr(err_output, ": -c: option requires an argument"));
+       ok1(strstr(err_output, ": -c: requires an argument"));
        free(err_output);
        err_output = NULL;
        ok1(!parse_args(&argc, &argv, "--ccc", NULL));
-       ok1(strstr(err_output, ": --ccc: option requires an argument"));
+       ok1(strstr(err_output, ": --ccc: requires an argument"));
        free(err_output);
        err_output = NULL;
 
+       opt_register_noarg("-d", test_noarg, NULL, "");
+       ok1(!parse_args(&argc, &argv, "-dc", NULL));
+       ok1(strstr(err_output, ": -c: requires an argument"));
+
+       /* parse_args allocates argv */
+       free(argv);
        return exit_status();
 }