Method: (RUN-RESOLVING-DEPENDENCIES TEST-CASE)

Documentation

Return true if this test, and its dependencies, are satisfied, NIL otherwise.

Source

(defmethod run-resolving-dependencies ((test test-case))
  "Return true if this test, and its dependencies, are satisfied,
  NIL otherwise."
  (case (status test)
    (:unknown
     (setf (status test) :resolving)
     (if (or (not (depends-on test))
             (resolve-dependencies (depends-on test)))
         (progn
           (run-test-lambda test)
           (status test))
         (with-run-state (result-list)
           (unless (eql :circular (status test))
             (push (make-instance 'test-skipped
                                  :test-case test
                                  :reason "Dependencies not satisfied")
                   result-list)
             (setf (status test) :depends-not-satisfied)))))         
    (:resolving
     (restart-case
         (error 'circular-dependency :test-case test)
       (skip ()
	 :report (lambda (s)
		   (format s "Skip the test ~S and all its dependencies." (name test)))
	 (with-run-state (result-list)
	   (push (make-instance 'test-skipped :reason "Circular dependencies" :test-case test)
		 result-list))
	 (setf (status test) :circular))))
    (t (status test))))
Source Context