FIX: Store *package* at definition time for tests and rebind it at runtime
[fiveam.git] / src / run.lisp
index 59e6455..dbdd4ed 100644 (file)
@@ -147,7 +147,8 @@ run."))
                                              (abort-test e)
                                              (return-from run-it result-list)))))
                      (restart-case
-                         (let ((*readtable* (copy-readtable)))
+                         (let ((*readtable* (copy-readtable))
+                               (*package* (runtime-package test)))
                            (funcall (test-lambda test)))
                        (retest ()
                          :report (lambda (stream)
@@ -171,6 +172,9 @@ run."))
 (defmethod %run ((test test-case))
   (run-resolving-dependencies test))
 
+(defmethod %run ((tests list))
+  (mapc #'%run tests))
+
 (defmethod %run ((suite test-suite))
   (let ((suite-results '()))
     (bind-run-state ((result-list '()))