X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Ftest.lisp;h=f5c8a8242b54bc6c888c9a39aaf7a72f6bc5cc5e;hb=f464b03133a6709d14fc99f98d896563fab39392;hp=7fed67d576e66a7672e01c5505db64314ca10e35;hpb=3958cd22acdae19eecd95e32c5570e9a51032827;p=fiveam.git diff --git a/src/test.lisp b/src/test.lisp index 7fed67d..f5c8a82 100644 --- a/src/test.lisp +++ b/src/test.lisp @@ -12,9 +12,14 @@ ;;;; collection of tests and test suites. (deflookup-table test + :at-redefinition nil :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: @@ -50,6 +55,7 @@ SUITE defaults to the current value of *SUITE*." `(progn (setf (get-test ',name) (make-instance 'test-case :name ',name + :runtime-package ,*package* :test-lambda (lambda () (funcall (compile nil '(lambda () ,@body)))) @@ -60,7 +66,7 @@ SUITE defaults to the current value of *SUITE*." ',name) `(setf (gethash ',name (tests (or *suite* (get-test 'NIL)))) ',name)) - (when *run-when-defined* + (when *run-test-when-defined* (run! ',name)) ',name))))