Skip to content
test-retry-loading-component-1.script 1.25 KiB
Newer Older
Gary King's avatar
Gary King committed
;;; -*- Lisp -*-

;;; test asdf:try-recompiling restart

(defvar *caught-error* nil)
 (DBG "trlc1 1")
 (asdf::delete-file-if-exists "try-reloading-dependency.asd")
Gary King's avatar
Gary King committed
 (setf asdf::*defined-systems* (asdf::make-defined-systems-table))
 (handler-bind ((error (lambda (c)
                         (format t "~&Caught error ~s" c)
                         (setf *caught-error* t)
                         (asdf::concatenate-files
                          '("try-reloading-dependency.hidden")
                          "try-reloading-dependency.asd")
                         (multiple-value-bind (name mode)
                             (find-symbol (symbol-name 'retry) :asdf)
                           (assert (eq mode :external) nil "Mode of ~s was not external" name)
                           (let ((restart (find-restart name c)))
                             (DBG "trlc1 7" name restart)
                             (assert restart)
                             (when restart (invoke-restart restart)))))))
Gary King's avatar
Gary King committed
   (asdf:oos 'asdf:load-op 'try-reloading-1))
 (assert *caught-error*))