X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fassertoid.lisp;h=f50270bb08fd379234dfa164f34175fa01450cb7;hb=d76c81b0ca4dcfc99f0cd805f5c20493fa80b2b6;hp=d115d9ee55916cf823d28cea71e4b9169f045771;hpb=e4eb979046e594444cf5972801ea5f4a5eb1a7c7;p=sbcl.git diff --git a/tests/assertoid.lisp b/tests/assertoid.lisp index d115d9e..f50270b 100644 --- a/tests/assertoid.lisp +++ b/tests/assertoid.lisp @@ -1,7 +1,29 @@ ;;;; the ASSERTOID macro, asserting something with added generality ;;;; to help in regression tests -(cl:in-package :cl-user) +;;;; 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:defpackage "ASSERTOID" + (:use "CL") + (:export "GRAB-CONDITION" "RAISES-ERROR?" "ASSERTOID")) + +(cl:in-package "ASSERTOID") + +(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 @@ -22,8 +44,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