Commit bb4d316f authored by Robert P. Goldman's avatar Robert P. Goldman
Browse files

This test version shows the failure.

parent 96b9b8f4
...@@ -10,9 +10,12 @@ ...@@ -10,9 +10,12 @@
;;(terpri) ;;(terpri)
(assert (asdf:find-system "test-asdf/force1")) (assert (asdf:find-system "test-asdf/force1"))
(defun clear-caches-and-search ()
(setf asdf:*central-registry* nil)
(asdf/find-system:clear-defined-system "test-asdf/force1"))
(DBG "Clearing the caches and finding.") (DBG "Clearing the caches and finding.")
(setf asdf:*central-registry* nil) (clear-caches-and-search)
(asdf/find-system:clear-defined-system "test-asdf/force1")
(assert (not (asdf:find-system "test-asdf/force1" nil))) (assert (not (asdf:find-system "test-asdf/force1" nil)))
(let (tried-once) (let (tried-once)
(handler-bind (handler-bind
...@@ -33,3 +36,27 @@ ...@@ -33,3 +36,27 @@
;; avoid infinite looping ;; avoid infinite looping
(error c))))) (error c)))))
(asdf:find-system "test-asdf/force1"))) (asdf:find-system "test-asdf/force1")))
(DBG "Refinding test successful.")
(DBG "Now trying LOAD-SYSTEM with refinding.")
(let (tried-once)
(lambda (c)
;; Nothing Quicklisp can do to recover from this, so
;; just resignal
(error c)))
(lambda (c)
(if (not tried-once)
(let ((missing (asdf::missing-requires c)))
(assert (equal missing "test-asdf/force1"))
(setf tried-once t)
(DBG "Trying to reset the central registry and retry.")
(setf asdf:*central-registry* *old-registry*)
(asdf:load-system missing))
;; avoid infinite looping
(error c)))))
(asdf:load-system "test-asdf/force1")))
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment