;;;; ** Creating Suits
+(defvar *suites* (make-hash-table))
+
(defmacro def-suite (name &key description in)
"Define a new test-suite named NAME.
as such it, like make-suite, will overrwrite any existing suite
named NAME."
`(eval-when (:compile-toplevel :load-toplevel :execute)
- (make-suite ',name
- ,@(when description `(:description ,description))
- ,@(when in `(:in ',in)))
+ (setf (gethash ',name *suites*)
+ (make-suite ',name
+ ,@(when description `(:description ,description))
+ ,@(when in `(:in ',in))))
',name))
(defmacro def-suite* (name &rest def-suite-args)
(setf (get-test name) suite)
suite))
+(defun list-all-suites ()
+ (loop for suite being the hash-value in *suites*
+ collect suite))
+
;;;; ** Managing the Current Suite
(defvar *suite* (setf (get-test 'NIL)