diff --git a/test/run-tests.sh b/test/run-tests.sh index 300232990852b253dee4176f9ee563cfe1ad2ca9..3d081f30943917faec127b8bc3df076b0327b74e 100755 --- a/test/run-tests.sh +++ b/test/run-tests.sh @@ -317,6 +317,8 @@ valid_upgrade_test_p () { } run_upgrade_tests () { cd ${ASDFDIR} + ASDF_OUTPUT_TRANSLATIONS="(:output-translations (\"${ASDFDIR}\" (\"${ASDFDIR}/build/fasls/\" :implementation \"asdf/\")) (t (\"${ASDFDIR}/build/fasls/\" :implementation \"root/\")) :ignore-inherited-configuration)" + export ASDF_OUTPUT_TRANSLATIONS su=test/script-support.lisp for tag in `upgrade_tags` ; do for method in `upgrade_methods` ; do diff --git a/test/script-support.lisp b/test/script-support.lisp index 605248b0494d9b491d02af18841a9bcd53b31f75..ae049dfd18c567d599ed162e7df9e6ea79b87fb5 100644 --- a/test/script-support.lisp +++ b/test/script-support.lisp @@ -448,9 +448,11 @@ is bound, write a message and exit on an error. If (defun clean-asdf-system () ;; If compiled by an antique ASDFs without output translations: - (acall :delete-file-if-exists (compile-file-pathname (acall :subpathname *asdf-directory* "build/asdf.fasl"))) - ;; If compiled by a ASDF2 or later with output translations: - (acall :delete-file-if-exists (resolve-output "asdf" "build" "asdf.fasl"))) + (flet ((d (x) (acall :delete-file-if-exists x))) + (let ((asdf-fasl (compile-file-pathname (asdf-lisp)))) + (d asdf-fasl) + (d (acall :apply-output-translations asdf-fasl)) + (d (asdf-fasl))))) (defun load-asdf-lisp-clean () (load-asdf-lisp) @@ -470,8 +472,8 @@ is bound, write a message and exit on an error. If (when (asym :initialize-output-translations) (acall :initialize-output-translations `(:output-translations - (,(namestring *asdf-directory*) ,(output-location "asdf")) - (t ,(output-location "root")) + (,(acall :wilden *asdf-directory*) ,(acall :wilden (resolve-output "asdf/"))) + (t ,(acall :wilden (resolve-output "root"))) :ignore-inherited-configuration))) (when (asym :*central-registry*) (set (asym :*central-registry*) `(,*test-directory*)))