diff options
author | Justus Winter <[email protected]> | 2016-09-19 15:19:00 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2016-09-19 16:49:17 +0000 |
commit | ab483eff9a8254adf127cdee178e14ba74f0a2b3 (patch) | |
tree | 254dda8512ccdbcdad53ee3089766010f34893d7 | |
parent | tests: Use descriptive temporary file names. (diff) | |
download | gnupg-ab483eff9a8254adf127cdee178e14ba74f0a2b3.tar.gz gnupg-ab483eff9a8254adf127cdee178e14ba74f0a2b3.zip |
tests: Refine exception handling.
* tests/gpgscm/init.scm (catch): Bind all arguments to '*error*' in
the error handler, update and fix comment.
(*error-hook*): Revert to original definition.
* tests/gpgscm/tests.scm (tr:do): Adapt accordingly.
* tests/openpgp/issue2419.scm: Likewise.
Signed-off-by: Justus Winter <[email protected]>
-rw-r--r-- | tests/gpgscm/init.scm | 10 | ||||
-rw-r--r-- | tests/gpgscm/tests.scm | 2 | ||||
-rwxr-xr-x | tests/openpgp/issue2419.scm | 2 |
3 files changed, 7 insertions, 7 deletions
diff --git a/tests/gpgscm/init.scm b/tests/gpgscm/init.scm index b32172b12..f8fd71a1b 100644 --- a/tests/gpgscm/init.scm +++ b/tests/gpgscm/init.scm @@ -544,13 +544,14 @@ ; ; "Catch" establishes a scope spanning multiple call-frames until ; another "catch" is encountered. Within the recovery expression -; the thrown exception is bound to *error*. +; the thrown exception is bound to *error*. Errors can be rethrown +; using (apply throw *error*). ; ; Exceptions are thrown with: ; ; (throw "message") ; -; If used outside a (catch ...), reverts to (error "message) +; If used outside a (catch ...), reverts to (error "message") (define *handlers* (list)) @@ -573,13 +574,12 @@ (macro (catch form) (let ((label (gensym))) `(call/cc (lambda (**exit**) - (push-handler (lambda (*error*) (**exit** ,(cadr form)))) + (push-handler (lambda *error* (**exit** ,(cadr form)))) (let ((,label (begin ,@(cddr form)))) (pop-handler) ,label))))) -(define (*error-hook* . args) - (throw args)) +(define *error-hook* throw) ;;;;; Definition of MAKE-ENVIRONMENT, to be used with two-argument EVAL diff --git a/tests/gpgscm/tests.scm b/tests/gpgscm/tests.scm index 0738bc687..7b88e0ebb 100644 --- a/tests/gpgscm/tests.scm +++ b/tests/gpgscm/tests.scm @@ -411,7 +411,7 @@ (if error (begin (for-each remove-temporary-file tmpfiles') - (throw error))) + (apply throw error))) (loop tmpfiles' sink (cdr cmds)))))) (define (tr:open pathname) diff --git a/tests/openpgp/issue2419.scm b/tests/openpgp/issue2419.scm index efc42a6ae..1f87d1b76 100755 --- a/tests/openpgp/issue2419.scm +++ b/tests/openpgp/issue2419.scm @@ -23,6 +23,6 @@ (lettmp (onebyte) (dearmor (in-srcdir "samplemsgs/issue2419.asc") onebyte) - (catch (assert (string-contains? *error* "invalid packet")) + (catch (assert (string-contains? (car *error*) "invalid packet")) (call-popen `(,@GPG --list-packets ,onebyte) "") (error "Expected an error but got none"))) |