X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fsuite.lisp;h=03e232eb5f3a88718f43a48f8ff22eef4d47e6be;hb=30a6d49354871aebf6854d7e6c90df0376f37970;hp=362dc0487abc26e75c69db23fb0759cfc15ddc06;hpb=869a1f5516006aba36b927d447206f686206fbc1;p=fiveam.git diff --git a/src/suite.lisp b/src/suite.lisp index 362dc04..03e232e 100644 --- a/src/suite.lisp +++ b/src/suite.lisp @@ -34,14 +34,14 @@ named NAME." (def-suite ,name ,@def-suite-args) (in-suite ,name))) -(defun make-suite (name &key description in) +(defun make-suite (name &key description ((:in parent-suite))) "Create a new test suite object. -Overides any existing suite named NAME." +Overrides any existing suite named NAME." (let ((suite (make-instance 'test-suite :name name))) (when description (setf (description suite) description)) - (loop for i in (ensure-list in) + (loop for i in (ensure-list parent-suite) for in-suite = (get-test i) do (progn (when (null in-suite) @@ -52,6 +52,10 @@ Overides any existing suite named NAME." (setf (get-test name) suite) suite)) +(defun list-all-suites () + "Returns an unordered LIST of all suites." + (hash-table-values *suites*)) + ;;;; ** Managing the Current Suite (defvar *suite* (setf (get-test 'NIL) @@ -79,7 +83,7 @@ See also: DEF-SUITE *SUITE*" (progn (when ,fail-on-error (cerror "Create a new suite named ~A." - "Unkown suite ~A." ',suite-name)) + "Unknown suite ~A." ',suite-name)) (setf (get-test ',suite-name) (make-suite ',suite-name :in ',in) *suite* (get-test ',suite-name)))) ',suite-name)))