projects
/
fiveam.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Allow SIGNALS marco to have a description
[fiveam.git]
/
src
/
check.lisp
diff --git
a/src/check.lisp
b/src/check.lisp
index
b8ec760
..
ecf6155
100644
(file)
--- a/
src/check.lisp
+++ b/
src/check.lisp
@@
-193,7
+193,8
@@
Wrapping the TEST form in a NOT simply preducse a negated reason string."
:test-expr ',condition)
(add-result 'test-passed :test-expr ',condition)))
:test-expr ',condition)
(add-result 'test-passed :test-expr ',condition)))
-(defmacro signals (condition &body body)
+(defmacro signals ((condition &optional reason-control reason-args)
+ &body body)
"Generates a pass if BODY signals a condition of type
CONDITION. BODY is evaluated in a block named NIL, CONDITION is
not evaluated."
"Generates a pass if BODY signals a condition of type
CONDITION. BODY is evaluated in a block named NIL, CONDITION is
not evaluated."
@@
-208,7
+209,9
@@
not evaluated."
(block nil
,@body
(process-failure
(block nil
,@body
(process-failure
- :reason (format nil "Failed to signal a ~S" ',condition)
+ :reason ,(if reason-control
+ `(format nil ,reason-control ,@reason-args)
+ `(format nil "Failed to signal a ~S" ',condition))
:test-expr ',condition)
(return-from ,block-name nil))))))
:test-expr ',condition)
(return-from ,block-name nil))))))