Commit 84673d13 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

asdf-tools: use cl-scripting 0.2

Use a version of cl-scripting that has fixed without-stopping,
and a slightly different interface, with
:fail-fast nil replaced by :muffle-failures t.

Update version requirements for other asdf-tools dependencies.
parent fae0e857
Subproject commit 50d65e89c358b052f6047b739099099a37e5fc32 Subproject commit dd5570ee39310da04df20528f854f4f34b8df3f2
(defsystem "asdf-tools" (defsystem "asdf-tools"
:description "tools to build, test, maintain and release ASDF itself" :description "tools to build, test, maintain and release ASDF itself"
:depends-on ((:version "asdf" "3.1.2") :depends-on ((:version "asdf" "3.1.6")
(:version "inferior-shell" "2.0.3") (:version "inferior-shell" "2.0.3.3")
(:version "lisp-invocation/all" "1.0.9") (:version "lisp-invocation/all" "1.0.12")
(:version "cl-ppcre" "2.0.4") (:version "cl-ppcre" "2.0.11")
(:version "optima.ppcre" "1.0") (:version "optima.ppcre" "1.0")
(:version "cl-scripting" "0.1") (:version "cl-scripting" "0.2")
(:feature :sbcl (:require "sb-introspect"))) (:feature :sbcl (:require "sb-introspect")))
:components :components
((:file "package") ((:file "package")
......
(in-package :asdf-tools) (in-package :asdf-tools)
(defun call-with-all-lisps (thunk &key (lisps *test-lisps*) (fail-fast t)) (defun call-with-all-lisps (thunk &key (lisps *test-lisps*) muffle-failures)
(let ((thunks (let ((thunks
(loop :for lisp :in (get-lisps lisps) (loop :for lisp :in (get-lisps lisps)
:collect (let ((l lisp)) :collect (let ((l lisp))
(lambda () (with-failure-context (:name (format nil "using ~(~A~)" l)) (lambda () (with-failure-context (:name (format nil "using ~(~A~)" l))
(funcall thunk l))))))) (funcall thunk l)))))))
(if fail-fast (if muffle-failures
(progn (map () 'funcall thunks) (success)) (call-without-stopping thunks)
(call-without-stopping thunks)))) (progn (map () 'funcall thunks) (success)))))
(defmacro with-all-lisps ((lisp-var lisps &key (fail-fast t)) &body body) (defmacro with-all-lisps ((lisp-var lisps &key muffle-failures) &body body)
`(call-with-all-lisps (lambda (,lisp-var) ,@body) :lisps ,lisps :fail-fast ,fail-fast)) `(call-with-all-lisps (lambda (,lisp-var) ,@body) :lisps ,lisps :muffle-failures ,muffle-failures))
(deftestcmd test-all-clean-load (lisps) (deftestcmd test-all-clean-load (lisps)
"test-clean-load on all lisps" "test-clean-load on all lisps"
...@@ -35,11 +35,11 @@ ...@@ -35,11 +35,11 @@
(deftestcmd test-all-scripts-no-stop (lisps) (deftestcmd test-all-scripts-no-stop (lisps)
"test-scripts on all lisps, no stop" "test-scripts on all lisps, no stop"
(with-all-lisps (l lisps :fail-fast nil) (test-scripts l))) (with-all-lisps (l lisps :muffle-failures t) (test-scripts l)))
(deftestcmd test-all-upgrade-no-stop (upgrade-lisps) (deftestcmd test-all-upgrade-no-stop (upgrade-lisps)
"test-upgrade on all lisps, no stop" "test-upgrade on all lisps, no stop"
(with-all-lisps (l upgrade-lisps :fail-fast nil) (test-upgrade l))) (with-all-lisps (l upgrade-lisps :muffle-failures t) (test-upgrade l)))
(deftestcmd test-all-no-upgrade-no-stop () (deftestcmd test-all-no-upgrade-no-stop ()
"all tests but upgrade on all lisps, no stop" "all tests but upgrade on all lisps, no stop"
......
...@@ -54,7 +54,7 @@ Use the preferred lisp implementation" ...@@ -54,7 +54,7 @@ Use the preferred lisp implementation"
;; Or we could do it in a more heavy handed way. ;; Or we could do it in a more heavy handed way.
;; A better solution would be to do any output operations in a temporary workspace, ;; A better solution would be to do any output operations in a temporary workspace,
;; which would allow test parallelization. ;; which would allow test parallelization.
(if (with-failure-context (:fail-fast nil) (if (with-failure-context (:muffle-failures t)
(run-test-lisp (run-test-lisp
(format nil "testing ~A on ~(~A~)" test-script lisp) (format nil "testing ~A on ~(~A~)" test-script lisp)
`((load "test/script-support.lisp") `((load "test/script-support.lisp")
......
Markdown is supported
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