diff --git a/asdf.asd b/asdf.asd index 7a453216cf78690edda73093684cedcc871f5a3d..e36a34e9293edad17bc1cee717b66a725d1bf3ad 100644 --- a/asdf.asd +++ b/asdf.asd @@ -15,7 +15,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "2.26.97" ;; to be automatically updated by bin/bump-revision + :version "2.26.98" ;; to be automatically updated by bin/bump-revision :depends-on () :components ((:module "build" :components ((:file "asdf")))) :in-order-to (#+asdf2.27 (compile-op (monolithic-load-concatenated-source-op generate-asdf)))) diff --git a/header.lisp b/header.lisp index 7f6c07b8dfc9ead4405d975f5990004c368bf80e..f1bccd1597c32314bdd04310c65d7f21a62343b9 100644 --- a/header.lisp +++ b/header.lisp @@ -1,5 +1,5 @@ ;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*- -;;; This is ASDF 2.26.97: Another System Definition Facility. +;;; This is ASDF 2.26.98: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to . diff --git a/test/run-tests.sh b/test/run-tests.sh index 6167d3b4fe4c3ab35123ba6ede6c54fdc224eacb..1bf21f0397c5649a6ed4ec125f86e701450d1bac 100755 --- a/test/run-tests.sh +++ b/test/run-tests.sh @@ -233,41 +233,40 @@ extract_tagged_asdf () { esac fi } +valid_upgrade_test_p () { + case "${1}:${2}:${3}" in + abcl:2.0[01][1-9]:*|abcl:2.2[1-2]:*) + : Skip, because it is so damn slow ;; + ccl:1.*|ccl:2.0[01]*) + : Skip, because ccl broke old asdf ;; + clisp:1.??*|clisp:2.00[0-7]:*) + # my old ubuntu clisp 2.44.1 is wired in with an antique ASDF 1 from CLC that can't be downgraded. + # 2.00[0-7] use UID, which fails on that CLISP and was removed afterwards. + # Note that for the longest time, CLISP has included 2.011 in its distribution. + : ;; + cmucl:1.*|cmucl:2.00*|cmucl:2.01[0-4]:*) + : Skip, CMUCL has problems before 2.014.7 due to source-registry upgrade ;; + ecl*:1.*|ecl*:2.0[01]*|ecl*:2.20:*) + : Skip, because of various ASDF issues ;; + gcl:1.*|gcl:2.0*|gcl:2.2[0-6]*) : Skip old versions that do not support GCL 2.6 ;; + mkcl:1.*|mkcl:2.0[01]*|mkcl:2.2[0-3]:*) + : Skip, because MKCL is only supported starting with 2.24 ;; + xcl:1.*|xcl:2.00*|xcl:2.01[0-4]:*|xcl:*) + : XCL support starts with ASDF 2.014.2 - It also hangs badly during upgrade. ;; + *) return 0 ;; + esac + return 1 +} run_upgrade_tests () { su=test/script-support.lisp - lu="(load\"$su\")" - lv="$command $eval $lu $eval" ; + lv="$command $eval (load\"$su\") $eval" ; for tag in `upgrade_tags` ; do - for x in load-system load-lisp load-lisp-compile-load-fasl load-fasl just-load-fasl ; do - lo="(asdf-test::load-asdf-lisp \"${tag}\")" ; - echo "Testing upgrade from ASDF ${tag} using method $x" ; - extract_tagged_asdf $tag - case ${lisp}:$tag:$x in - abcl:2.0[01][1-9]:*|abcl:2.2[1-2]:*) - : Skip, because it is so damn slow ;; - ccl:1.*|ccl:2.0[01]*) - : Skip, because ccl broke old asdf ;; - clisp:1.*|clisp:2.0[01]*) - : Skip, because ccl broke old asdf ;; - cmucl:1.*|cmucl:2.00*|cmucl:2.01[0-4]:*) - : Skip, CMUCL has problems before 2.014.7 due to source-registry upgrade ;; - ecl*:1.*|ecl*:2.0[01]*|ecl*:2.20:*) - : Skip, because of various ASDF issues ;; - gcl:1.*|gcl:2.0*|gcl:2.2[0-6]*) : Skip old versions that do not support GCL 2.6 ;; - mkcl:1.*|mkcl:2.0[01]*|mkcl:2.2[0-3]:*) - : Skip, because MKCL is only supported starting with 2.24 ;; - xcl:1.*|xcl:2.00*|xcl:2.01[0-4]:*|xcl:*) - : XCL support starts with ASDF 2.014.2 - It also hangs badly during upgrade. ;; - *) (set -x ; case $x in - load-system) l="$lo (asdf-test::load-asdf-system)" ;; - load-lisp) l="$lo (asdf-test::load-asdf-lisp)" ;; - load-lisp-compile-load-fasl) l="$lo (asdf-test::compile-load-asdf)" ;; - load-fasl) l="$lo (asdf-test::load-asdf-fasl)" ;; - just-load-fasl) l="(asdf-test::load-asdf-fasl)" ;; - *) echo "WTF?" ; exit 2 ;; esac ; - $lv "(asdf-test::test-asdf $l)" ) || - { echo "upgrade FAILED" ; exit 1 ;} ;; esac ; - done ; done 2>&1 | tee build/results/${lisp}-upgrade.text + for x in load-asdf-system load-asdf-lisp compile-load-asdf load-asdf-fasl just-load-asdf-fasl ; do + if valid_upgrade_test_p $lisp $tag $x ; then + echo "Testing upgrade from ASDF ${tag} using method $x" ; + $lv "(asdf-test::test-upgrade 'asdf-test::$x \"$tag\")" || + { echo "upgrade FAILED for $lisp from $tag using method $x" ; exit 1 ;} + fi ; done ; done 2>&1 | tee build/results/${lisp}-upgrade.text } run_tests () { create_config diff --git a/test/script-support.lisp b/test/script-support.lisp index 6ba9ff3bfff8cb073cabcb9a5847a5694216fefa..51ea0765e8aa42dd02d9916ce7c065d60575658f 100644 --- a/test/script-support.lisp +++ b/test/script-support.lisp @@ -345,14 +345,18 @@ is bound, write a message and exit on an error. If (register-directory *test-directory*) (acall :oos (asym :load-op) x :verbose verbose))) -(defun testing-asdf (thunk) +(defun test-upgrade (method tag) ;; called by run-test (with-test () - (funcall thunk) + (unless (eq method 'just-load-asdf-fasl) + (format t "Loading old asdf ~A~%" tag) + (load-asdf-lisp tag)) + (format t "Loading new asdf with method ~A~%" method) + (funcall method) + (format t "Testing it~%") (register-directory *test-directory*) - (load-test-system :test-module-depend))) - -(defmacro test-asdf (&body body) ;; used by test-upgrade - `(testing-asdf #'(lambda () ,@body))) + (load-test-system :test-module-depend) + (assert (eval (intern (symbol-name '#:*file1*) :test-package))) + (assert (eval (intern (symbol-name '#:*file3*) :test-package))))) (defun configure-asdf () (setf *debug-asdf* (or *debug-asdf* (acall :getenvp "DEBUG_ASDF_TEST"))) @@ -380,6 +384,8 @@ is bound, write a message and exit on an error. If (setf *quit-when-done* nil) (setf *package* (find-package :asdf-test))) +(defun just-load-asdf-fasl () (load-asdf-fasl)) + ;; Actual scripts rely on this function: (defun common-lisp-user::load-asdf () (load-asdf)) diff --git a/upgrade.lisp b/upgrade.lisp index 40ac0d3a05f000e75c652519dcff24e203a384e5..be262b5c1e1a5bab6a1b39b1322c7e378442ddc8 100644 --- a/upgrade.lisp +++ b/upgrade.lisp @@ -35,7 +35,7 @@ ;; "2.345.6" would be a development version in the official upstream ;; "2.345.0.7" would be your seventh local modification of official release 2.345 ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6 - (asdf-version "2.26.97") + (asdf-version "2.26.98") (existing-asdf (find-class (find-symbol* :component :asdf nil) nil)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) diff --git a/version.lisp-expr b/version.lisp-expr index 061b942edbbf04112e535ef4d4136e32880dae25..11a7c42870dcf3c6d06eea1bab705556bf5d9d99 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -1 +1 @@ -"2.26.97" +"2.26.98"