diff --git a/test/run-tests.sh b/test/run-tests.sh index a2238e8b808867ca2cdf41ae513468f8e4ebfca6..931ce0c81b466e289b6b89eea436084be017e8e2 100755 --- a/test/run-tests.sh +++ b/test/run-tests.sh @@ -357,14 +357,21 @@ upgrade_tags () { # all the stabilization work done in 3.0 so far, plus extra developments # in UIOP, package-inferred-system, and more robustification. # 3.1.2 (2014-05-06) is the first ASDF 3.1 release + # 3.1.3 (2014-07-24) a bug fix release for 3.1.2 + # 3.1.4 (2014-10-09) more bug fixes, source-registry cache, in LispWorks 7 + # 3.1.5 (2015-07-21) more bug fixes, what SBCL sports (as of 1.3.14, 2017-02-04) + # 3.1.6 (2015-10-17) more bug fixes + # 3.1.7 (2016-03-23) more bug fixes, last in 3.1 series + # + # The 3.2 series provides the asdf3.2 feature, meaning users can rely on + # all its new features (launch-program, improved bundle support), as well as + # the improvements done in 3.1 (e.g. XDG support). + # 3.2.0 (2017-01-08) first (and latest) in 3.2 series # # We return the above designated versions in order of decreasing relevance, # which pretty much means REQUIRE and most recent first. - echo REQUIRE - echo 3.1.7 # 2016-03-23, latest release (as of 2016-09) - echo 3.1.5 # 2015-07-21, what SBCL sports (as of 1.3.9, 2016-08-30) - echo 3.0.3 # 2013-10-22, last in ASDF 3.0 series - echo 2.26 # 2012-10-30, last in ASDF 2 series, still sported by Quicklisp 2016-02-22 (!) + # We picked the last in each relevant series. + echo REQUIRE 3.2.0 3.1.7 3.0.3 2.26 #echo 3.1.7 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 #echo 3.0.3 3.0.2 3.0.1 diff --git a/tools/test-upgrade.lisp b/tools/test-upgrade.lisp index d104c120cadeea4af1ac57bf85cfaae9b8715e6a..8b5182e5f5e78b34713a0d5904b8283fab572aee 100644 --- a/tools/test-upgrade.lisp +++ b/tools/test-upgrade.lisp @@ -5,19 +5,23 @@ (defparameter *default-upgrade-test-tags* ;; We return a list of entries in reverse chronological order, ;; which should also be more or less the order of decreasing relevance. + ;; By default, we only test the last of each relevant series. + '("REQUIRE" "3.2.0" "3.1.7" "3.0.3" "2.26")) + +(defparameter *all-upgrade-test-tags* '("REQUIRE" ;; a magic tag meaning whatever your implementation provides, if anything - "3.1.7" ;; (2016-03-23) more bug fixes, latest release (as of 2016-09-17) - "3.1.5" ;; (2015-07-21) more bug fixes - "3.0.3" ;; (2013-10-22) the last in the ASDF 3.0 series - "2.26")) ;; (2012-10-30), last in ASDF 2 series, still sported by Quicklisp 2016-02-22 (!) -(defparameter *obsolete-upgrade-test-tags* - '(;; The 3.1 series provides the asdf3.1 feature, meaning users can rely on + ;; The 3.2 series provides the asdf3.2 feature, meaning users can rely on + ;; all its new features (launch-program, improved bundle support), as well as + ;; the improvements done in 3.1 (e.g. XDG support). + "3.2.0" ;; (2017-01-08) first (and latest) in 3.2 series + + ;; The 3.1 series provides the asdf3.1 feature, meaning users can rely on ;; all the stabilization work done in 3.0 so far, plus extra developments ;; in UIOP, package-inferred-system, and more robustification. - ;;(included above) "3.1.7" ;; (2016-03-23) more bug fixes, latest release (as of 2016-09-17) + "3.1.7" ;; (2016-03-23) more bug fixes, last in 3.1 series "3.1.6" ;; (2015-10-17) more bug fixes - ;;(included above) "3.1.5" ;; (2015-07-21) more bug fixes, what SBCL sports (as of 1.3.9, 2016-08-30) + "3.1.5" ;; (2015-07-21) more bug fixes, what SBCL sports (as of 1.3.14, 2017-02-04) "3.1.4" ;; (2014-10-09) more bug fixes, source-registry cache, in LispWorks 7 "3.1.3" ;; (2014-07-24) a bug fix release for 3.1.2 "3.1.2" ;; (2014-05-06) the first ASDF 3.1 release @@ -26,7 +30,7 @@ ;; with Robert Goldman taking over maintainership at 3.0.2. ;; 3.0.0 was just 2.33.10 promoted, but version-satisfies meant it was suddenly ;; not compatible with ASDF2 anymore, so we immediately released 3.0.1 - ;;(included above) "3.0.3" ;; (2013-10-22) the last in the ASDF 3.0 series + "3.0.3" ;; (2013-10-22) last in the ASDF 3.0 series "3.0.2" ;; (2013-07-02) the first ASDF 3 in SBCL "3.0.1" ;; (2013-05-16) the first stable ASDF 3 release @@ -37,7 +41,7 @@ ;; The ASDF 2 series ;; Note that 2.26.x is where the refactoring that begat ASDF 3 took place. ;; 2.26.61 is the last single-file, single-package ASDF. - ;;(included above) "2.26" ;; (2012-10-30), last in ASDF 2 series, still sported by Quicklisp 2016-02-22 (!), long used by SBCL, etc. + "2.26" ;; (2012-10-30), last in ASDF 2 series, still sported by Quicklisp 2016-02-22 (!), long used by SBCL, etc. "2.22" ;; (2012-06-12) used by debian wheezy, etc. "2.20" ;; (2012-01-18) in CCL 1.8, Ubuntu 12.04 LTS "2.019" ;; (2011-11-29) still included in LispWorks in 2014. @@ -59,9 +63,10 @@ ((string-equal x :default) *default-upgrade-test-tags*) ((string-equal x :old) - *obsolete-upgrade-test-tags*) + (remove-if (lambda (x) (member x *default-upgrade-test-tags* :test 'equal)) + *all-upgrade-test-tags*)) ((string-equal x :all) - (append *default-upgrade-test-tags* *obsolete-upgrade-test-tags*)) + *all-upgrade-test-tags*) (t (ensure-list-of-strings (string x))))))) (defun extract-tagged-asdf (tag) @@ -107,9 +112,17 @@ Use at a given tag, put it under build/asdf-${tag}.lisp" (or (string-equal tag "REQUIRE") ;; we are hopefully always able to upgrade from REQUIRE (ecase lisp - ;; ABCL makes it damn slow. Also, for some reason, we punt on anything earlier than 2.25, - ;; and only need to test it once, below for 2.24. - ((:abcl) (version<= "2.24" tag)) + ;; ABCL works but is super-slow. Since we now punt on all of 2.x, + ;; no need to check anything below 2.26. + ((:abcl) (version<= "2.26" tag)) + + ;; Allegro ships with versions 3*, so give up testing 2 + ;; Also, unpatched Allegro 10 has bug updating from 2.26 and before + ((:allegro :allegromodern :allegro8 :allegromodern8 + :allegro_64 :allegromodern_64 :allegro8_64 :allegromodern8_64 + :allegro_s :allegromodern_s :allegro8_s :allegromodern8_s + :allegro_64_s :allegromodern_64_s :allegro8_64_s :allegromodern8_64_s) + (version<= "2.27" tag)) ;; CCL fasl numbering broke loading of old asdf 2.0 ((:ccl) (or (version< tag "2.0") (version<= "2.20" tag))) @@ -144,18 +157,14 @@ Use at a given tag, put it under build/asdf-${tag}.lisp" ;; MKCL is only supported starting with specific versions 2.24, 2.26.x, 3.0.3.0.x, so skip. ((:mkcl) (version<= "3.1.2" tag)) + ;; all clear on these implementations + ((:sbcl :scl) t) + ;; XCL support starts with ASDF 2.014.2 ;; 窶� It also dies during upgrade trying to show the backtrace. ;; We recommend you replace XCL's asdf using: ;; ./tools/asdf-tools install-asdf xcl - ((:xcl) (version<= "2.15" tag)) - - ;; all clear on these implementations - ((:allegro :allegromodern :allegro8 :allegromodern8 - :allegro_64 :allegromodern_64 :allegro8_64 :allegromodern8_64 - :allegro_s :allegromodern_s :allegro8_s :allegromodern8_s - :allegro_64_s :allegromodern_64_s :allegro8_64_s :allegromodern8_64_s - :sbcl :scl) t)))) + ((:xcl) (version<= "2.15" tag))))) (deftestcmd test-upgrade (lisp upgrade-tags upgrade-methods) "run upgrade tests