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

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"
:description "tools to build, test, maintain and release ASDF itself"
:depends-on ((:version "asdf" "3.1.2")
(:version "inferior-shell" "2.0.3")
(:version "lisp-invocation/all" "1.0.9")
(:version "cl-ppcre" "2.0.4")
:depends-on ((:version "asdf" "3.1.6")
(:version "inferior-shell" "")
(:version "lisp-invocation/all" "1.0.12")
(:version "cl-ppcre" "2.0.11")
(:version "optima.ppcre" "1.0")
(:version "cl-scripting" "0.1")
(:version "cl-scripting" "0.2")
(:feature :sbcl (:require "sb-introspect")))
((:file "package")
(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
(loop :for lisp :in (get-lisps lisps)
:collect (let ((l lisp))
(lambda () (with-failure-context (:name (format nil "using ~(~A~)" l))
(funcall thunk l)))))))
(if fail-fast
(progn (map () 'funcall thunks) (success))
(call-without-stopping thunks))))
(if muffle-failures
(call-without-stopping thunks)
(progn (map () 'funcall thunks) (success)))))
(defmacro with-all-lisps ((lisp-var lisps &key (fail-fast t)) &body body)
`(call-with-all-lisps (lambda (,lisp-var) ,@body) :lisps ,lisps :fail-fast ,fail-fast))
(defmacro with-all-lisps ((lisp-var lisps &key muffle-failures) &body body)
`(call-with-all-lisps (lambda (,lisp-var) ,@body) :lisps ,lisps :muffle-failures ,muffle-failures))
(deftestcmd test-all-clean-load (lisps)
"test-clean-load on all lisps"
......@@ -35,11 +35,11 @@
(deftestcmd test-all-scripts-no-stop (lisps)
"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)
"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 ()
"all tests but upgrade on all lisps, no stop"
......@@ -54,7 +54,7 @@ Use the preferred lisp implementation"
;; 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,
;; which would allow test parallelization.
(if (with-failure-context (:fail-fast nil)
(if (with-failure-context (:muffle-failures t)
(format nil "testing ~A on ~(~A~)" test-script lisp)
`((load "test/script-support.lisp")
Supports Markdown
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