added :before depends-on option
[fiveam.git] / src / run.lisp
index c3038ef..579db2f 100644 (file)
@@ -66,7 +66,7 @@ run."))
     (:unknown
      (setf (status test) :resolving)
      (if (or (not (depends-on test))
-             (resolve-dependencies (depends-on test)))
+             (eql t (resolve-dependencies (depends-on test))))
          (progn
            (run-test-lambda test)
            (status test))
@@ -106,7 +106,11 @@ run."))
        (ecase (car depends-on)
          (and (satisfies-depends-p #'every))
          (or  (satisfies-depends-p #'some))
-         (not (satisfies-depends-p #'notany))))))
+         (not (satisfies-depends-p #'notany))
+          (:before (every #'(lambda (dep)
+                              (let ((status (status (get-test dep))))
+                                (eql :unknown status)))
+                         (cdr depends-on)))))))
 
 (defun results-status (result-list)
   "Given a list of test results (generated while running a test)