aboutsummaryrefslogtreecommitdiffstats
path: root/tests/t-argparse.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2020-02-25 20:03:32 +0000
committerWerner Koch <[email protected]>2020-02-25 20:03:32 +0000
commit6fc2d7cb8ce9e08cb189608466803ee7c8eb6930 (patch)
treeda5d16a40f913feb018dc626504aff86b676b945 /tests/t-argparse.c
parentcore: Fold duplicated code from _gpgrt_argparse. (diff)
downloadlibgpg-error-6fc2d7cb8ce9e08cb189608466803ee7c8eb6930.tar.gz
libgpg-error-6fc2d7cb8ce9e08cb189608466803ee7c8eb6930.zip
core: Add parser for meta commands to gpgrt_argparser.
* src/gpg-error.h.in (ARGPARSE_INVALID_META): New (ARGPARSE_UNKNOWN_META, ARGPARSE_UNEXPECTED_META): New. * src/argparse.c (struct _gpgrt_argparse_internal_s): Add flag insysconfig. (initialize): Init flag. Add error strings. (_gpgrt_argparser): Set that flag. (_gpgrt_argparse): Add parsing of meta commands. * tests/etc/t-argparse.conf: Add some test cases. * tests/t-argparse.conf: Ditto. * tests/t-argparse.c (main): Die only after printing all warnings. -- Noe that this is just the framework to add meta commands to the global config file. We also need to get away from fixes test config files and create them on the fly to that we are able to test also errors. GnuPG-bug-id: 4788
Diffstat (limited to 'tests/t-argparse.c')
-rw-r--r--tests/t-argparse.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/tests/t-argparse.c b/tests/t-argparse.c
index b2b6e51..4719819 100644
--- a/tests/t-argparse.c
+++ b/tests/t-argparse.c
@@ -88,6 +88,7 @@ main (int argc, char **argv)
) };
int i;
const char *srcdir;
+ int any_warn = 0;
gpgrt_set_strusage (my_strusage);
srcdir = getenv ("srcdir");
@@ -120,7 +121,7 @@ main (int argc, char **argv)
case 'c': opt.crf = pargs.r_type? pargs.r.ret_str:"a.crf"; break;
case 'm': opt.myopt = pargs.r_type? pargs.r.ret_int : 1; break;
case 500: opt.a_long_one++; break;
- default : pargs.err = ARGPARSE_PRINT_ERROR; break;
+ default : pargs.err = ARGPARSE_PRINT_WARNING; any_warn = 1; break;
}
}
for (i=0; i < argc; i++ )
@@ -148,5 +149,5 @@ main (int argc, char **argv)
(void)fail;
(void)die;
- return 0;
+ return !!any_warn;
}