0.7.1.38:
[sbcl.git] / tests / assertoid.lisp
index d115d9e..0469450 100644 (file)
@@ -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