diff options
| author | Justus Winter <[email protected]> | 2016-07-26 13:53:50 +0000 |
|---|---|---|
| committer | Justus Winter <[email protected]> | 2016-07-26 13:53:50 +0000 |
| commit | f17aecbcd98103fcd2ece537be96930f354de656 (patch) | |
| tree | ed1492b60b4d254a49631669c5b2deed0b53573b /tests/gpgscm/ffi.c | |
| parent | common: Avoid excessive stack use. (diff) | |
| download | gnupg-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.c | 27 |
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--) |
