projects
/
fiveam.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added docs directory
[fiveam.git]
/
src
/
run.lisp
diff --git
a/src/run.lisp
b/src/run.lisp
index
274521e
..
c070f44
100644
(file)
--- a/
src/run.lisp
+++ b/
src/run.lisp
@@
-36,6
+36,9
@@
(defparameter *debug-on-error* nil
"T if we should drop into a debugger on error, NIL otherwise.")
(defparameter *debug-on-error* nil
"T if we should drop into a debugger on error, NIL otherwise.")
+(defparameter *debug-on-failure* nil
+ "T if we should drop into a debugger on a failing check, NIL otherwise.")
+
(defun import-testing-symbols (package-designator)
(import '(5am::is 5am::is-true 5am::is-false 5am::signals 5am::finishes)
package-designator))
(defun import-testing-symbols (package-designator)
(import '(5am::is 5am::is-true 5am::is-false 5am::signals 5am::finishes)
package-designator))
@@
-133,8
+136,14
@@
run."))
(run-it ()
(let ((result-list '()))
(declare (special result-list))
(run-it ()
(let ((result-list '()))
(declare (special result-list))
- (handler-bind ((error (lambda (e)
- (unless *debug-on-error*
+ (handler-bind ((check-failure (lambda (e)
+ (declare (ignore e))
+ (unless *debug-on-failure*
+ (invoke-restart
+ (find-restart 'ignore-failure)))))
+ (error (lambda (e)
+ (unless (or *debug-on-error*
+ (typep e 'check-failure))
(abort-test e)
(return-from run-it result-list)))))
(restart-case
(abort-test e)
(return-from run-it result-list)))))
(restart-case
@@
-145,7
+154,7
@@
run."))
(return-from run-it (run-it)))
(ignore ()
:report (lambda (stream)
(return-from run-it (run-it)))
(ignore ()
:report (lambda (stream)
- (format stream "~@<Signal a test failure and abort the test ~S.~@:>" test))
+ (format stream "~@<Signal an exceptional test failure and abort the test ~S.~@:>" test))
(abort-test (make-instance 'test-failure :test-case test
:reason "Failure restart."))))
result-list))))
(abort-test (make-instance 'test-failure :test-case test
:reason "Failure restart."))))
result-list))))
@@
-185,7
+194,7
@@
run."))
;;;; ** Public entry points
;;;; ** Public entry points
-(defun run! (test-spec)
+(defun run! (&optional (test-spec *suite*))
"Equivalent to (explain (run TEST-SPEC))."
(explain! (run test-spec)))
"Equivalent to (explain (run TEST-SPEC))."
(explain! (run test-spec)))