projects
/
fiveam.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add function list-all-suites
[fiveam.git]
/
src
/
suite.lisp
diff --git
a/src/suite.lisp
b/src/suite.lisp
index
972e1f6
..
b97c94c
100644
(file)
--- a/
src/suite.lisp
+++ b/
src/suite.lisp
@@
-16,6
+16,8
@@
;;;; ** Creating Suits
;;;; ** Creating Suits
+(defvar *suites* (make-hash-table))
+
(defmacro def-suite (name &key description in)
"Define a new test-suite named NAME.
(defmacro def-suite (name &key description in)
"Define a new test-suite named NAME.
@@
-24,9
+26,10
@@
suite named by IN. NB: This macro is built on top of make-suite,
as such it, like make-suite, will overrwrite any existing suite
named NAME."
`(eval-when (:compile-toplevel :load-toplevel :execute)
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)
',name))
(defmacro def-suite* (name &rest def-suite-args)
@@
-52,6
+55,10
@@
Overrides any existing suite named NAME."
(setf (get-test name) suite)
suite))
(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)
;;;; ** Managing the Current Suite
(defvar *suite* (setf (get-test 'NIL)