aboutsummaryrefslogtreecommitdiffstats
path: root/tests/gpgscm/ffi.c
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2016-07-26 13:53:50 +0000
committerJustus Winter <[email protected]>2016-07-26 13:53:50 +0000
commitf17aecbcd98103fcd2ece537be96930f354de656 (patch)
treeed1492b60b4d254a49631669c5b2deed0b53573b /tests/gpgscm/ffi.c
parentcommon: Avoid excessive stack use. (diff)
downloadgnupg-f17aecbcd98103fcd2ece537be96930f354de656.tar.gz
gnupg-f17aecbcd98103fcd2ece537be96930f354de656.zip
gpgscm: Make the verbose setting more useful.
* tests/gpgscm/ffi.c (do_get_verbose): New function. (do_set_verbose): Likewise. (ffi_init): Turn *verbose* into a function, add *set-verbose!*. * tests/gpgscm/tests.scm (call): Adapt accordingly. (call-with-io): Dump output if *verbose* is high. (pipe-do): Adapt accordingly. * tests/openpgp/defs.scm: Set verbosity according to environment. * tests/openpgp/run-tests.scm (test): Adapt accordingly. Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'tests/gpgscm/ffi.c')
-rw-r--r--tests/gpgscm/ffi.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/tests/gpgscm/ffi.c b/tests/gpgscm/ffi.c
index 5494c4d7a..c37bf1daa 100644
--- a/tests/gpgscm/ffi.c
+++ b/tests/gpgscm/ffi.c
@@ -1052,6 +1052,30 @@ do_glob (scheme *sc, pointer args)
}
+
+static pointer
+do_get_verbose (scheme *sc, pointer args)
+{
+ FFI_PROLOG ();
+ FFI_ARGS_DONE_OR_RETURN (sc, args);
+ FFI_RETURN_INT (sc, verbose);
+}
+
+static pointer
+do_set_verbose (scheme *sc, pointer args)
+{
+ FFI_PROLOG ();
+ int new_verbosity, old;
+ FFI_ARG_OR_RETURN (sc, int, new_verbosity, number, args);
+ FFI_ARGS_DONE_OR_RETURN (sc, args);
+
+ old = verbose;
+ verbose = new_verbosity;
+
+ FFI_RETURN_INT (sc, old);
+}
+
+
gpg_error_t
ffi_list2argv (scheme *sc, pointer list, char ***argv, size_t *len)
{
@@ -1260,7 +1284,8 @@ ffi_init (scheme *sc, const char *argv0, int argc, const char **argv)
ffi_define_function (sc, prompt);
/* Configuration. */
- ffi_define (sc, "*verbose*", sc->vptr->mk_integer (sc, verbose));
+ ffi_define_function_name (sc, "*verbose*", get_verbose);
+ ffi_define_function_name (sc, "*set-verbose!*", set_verbose);
ffi_define (sc, "*argv0*", sc->vptr->mk_string (sc, argv0));
for (i = argc - 1; i >= 0; i--)