:documentation "Lookup table mapping test (and test suite)
names to objects.")
+(defun test-names ()
+ (loop for test being the hash-keys of *test*
+ collect test))
+
(defmacro test (name &body body)
"Create a test named NAME. If NAME is a list it must be of the
form:
`(progn
(setf (get-test ',name) (make-instance 'test-case
:name ',name
+ :runtime-package ,*package*
:test-lambda
(lambda ()
(funcall (compile nil '(lambda () ,@body))))
',name)
`(setf (gethash ',name (tests (or *suite* (get-test 'NIL))))
',name))
+ (when *run-test-when-defined*
+ (run! ',name))
',name))))
+(defvar *run-test-when-defined* nil
+ "When non-NIL tests are run as soon as they are defined.")
+
;; Copyright (c) 2002-2003, Edward Marco Baringer
;; All rights reserved.
;;