X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fassertoid.lisp;h=0469450505393b3a52356fa17b82440e43603537;hb=913e06f191acb65c1d99d42234704bec38500ff4;hp=d115d9ee55916cf823d28cea71e4b9169f045771;hpb=e4eb979046e594444cf5972801ea5f4a5eb1a7c7;p=sbcl.git diff --git a/tests/assertoid.lisp b/tests/assertoid.lisp index d115d9e..0469450 100644 --- a/tests/assertoid.lisp +++ b/tests/assertoid.lisp @@ -1,8 +1,26 @@ ;;;; the ASSERTOID macro, asserting something with added generality ;;;; to help in regression tests +;;;; This software is part of the SBCL system. See the README file for +;;;; more information. +;;;; +;;;; While most of SBCL is derived from the CMU CL system, the test +;;;; files (like this one) were written from scratch after the fork +;;;; from CMU CL. +;;;; +;;;; This software is in the public domain and is provided with +;;;; absolutely no warranty. See the COPYING and CREDITS files for +;;;; more information. + (cl:in-package :cl-user) +(defmacro grab-condition (&body body) + `(nth-value 1 + (ignore-errors ,@body))) + +(defmacro raises-error? (form &optional (error-subtype-spec 'error)) + `(typep (nth-value 1 (ignore-errors ,form)) ',error-subtype-spec)) + ;;; EXPR is an expression to evaluate (both with EVAL and with ;;; COMPILE/FUNCALL). EXTRA-OPTIMIZATIONS is a list of lists of ;;; optimizations to pass to (DECLARE (OPTIMIZE ..)), to cause the @@ -22,8 +40,8 @@ ;;; LAMBDA. EXPECTED-EQL, EXPECTED-EQUAL, and EXPECTED-EQUALP are ;;; shorthand for special cases of EXPECTED-LAMBDA. ;;; -;;; Use EXPECTED-ERROR to require an error to be thrown. Use -;;; EXPECTED-ERROR-LAMBDA to require that an error be thrown and +;;; Use EXPECTED-ERROR to require an error to be signalled. Use +;;; EXPECTED-ERROR-LAMBDA to require that an error be signalled and ;;; that further it satisfies the given lambda. (defmacro assertoid (expr &key