From ea24d851569099877c8aa18899c2744b5070d7e3 Mon Sep 17 00:00:00 2001 From: Marco Baringer Date: Tue, 24 Jan 2006 12:38:10 +0100 Subject: [PATCH] TEST macro now recompiles the body on every run. This idea, blatenly stolen from LispUnit, ensures that tests will always use the latest macro definitions. --- src/test.lisp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/test.lisp b/src/test.lisp index 2e3020a..7d763d1 100644 --- a/src/test.lisp +++ b/src/test.lisp @@ -43,18 +43,18 @@ depending on another. SUITE defaults to the current value of *SUITE*." (destructuring-bind (name &key depends-on (suite nil suite-supplied-p)) (ensure-list name) - (let (lambda description) + (let (description) (setf description (if (stringp (car body)) (pop body) - "") - lambda body) + "")) `(progn - (setf (get-test ',name) - (make-instance 'test-case - :name ',name - :test-lambda (lambda () ,@lambda) - :description ,description - :depends-on ',depends-on)) + (setf (get-test ',name) (make-instance 'test-case + :name ',name + :test-lambda + (lambda () + (funcall (compile nil '(lambda () ,@body)))) + :description ,description + :depends-on ',depends-on)) ,(if suite-supplied-p `(setf (gethash ',name (tests (get-test ',suite))) ',name) -- 1.7.10.4