Commit b216c640 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

tools: move invoke-lisp to the lisp-invocation library

Fix the use of the new run-command protocol.
parent a3e3c012
......@@ -35,6 +35,8 @@ Some constraints:
(in-package :asdf-test)
#+(and ecl (not ecl-bytecmp)) (require :cmp)
(declaim (optimize (speed 2) (safety #-gcl 3 #+gcl 0) #-(or allegro gcl genera) (debug 3)
#+(or cmu scl) (c::brevity 2)))
(proclaim '(optimize (speed #-gcl 2 #+gcl 1) (safety #-gcl 3 #+gcl 0) #-(or allegro gcl genera) (debug 3)
......@@ -2,7 +2,7 @@
:description "tools to build, test, maintain and release ASDF itself"
:depends-on ((:version "asdf" "3.1.2")
(:version "inferior-shell" "2.0.2")
(:version "lisp-invocation" "1.0.2")
(:version "lisp-invocation/all" "1.0.5")
(:version "cl-ppcre" "2.0.4")
(:version "optima.ppcre" "1.0")
(:feature :sbcl "sb-introspect"))
......@@ -12,8 +12,7 @@
(:file "main" :depends-on ("failure"))
(:file "pathnames" :depends-on ("package"))
(:file "version" :depends-on ("failure"))
(:file "invoke-lisp" :depends-on ("package"))
(:file "test-environment" :depends-on ("pathnames" "invoke-lisp" "main"))
(:file "test-environment" :depends-on ("pathnames" "main"))
(:file "build" :depends-on ("test-environment"))
(:file "git" :depends-on ("test-environment"))
(:file "test-basic" :depends-on ("test-environment"))
......@@ -138,7 +138,7 @@
(failure-if failurep (make-failures)))))
(defun run-command (fun &rest args)
(let ((results (multiple-value-list (with-failure-context () (apply fun (rest args))))))
(let ((results (multiple-value-list (with-failure-context () (apply fun args)))))
;; Don't print anything on success for regular commands, otherwise print all values returned.
(if (failurep results)
(let ((failures (failure-failures results)))
This diff is collapsed.
......@@ -96,7 +96,7 @@ based on a list of targets"
;;; NB: For access control, you could check that only exported symbols are used as entry points.
(defun process-arguments (args)
(if-let ((fun (and args (find-command (first args)))))
(run-command fun (rest args))
(apply 'run-command fun (rest args))
(if args
(format t "Command ~A not found~%" (first args))
(defpackage :asdf-tools
(:use :common-lisp :uiop :asdf
:fare-utils :inferior-shell :lisp-invocation :cl-ppcre :optima :optima.ppcre)
:fare-utils :inferior-shell :lisp-invocation :lisp-invocation/non-special :cl-ppcre :optima :optima.ppcre)
(:export ;; TODO: export stuff
;; failure
#:with-failure-context #:success #:failure #:success-if #:failure-if #:fail!
(in-package :asdf-tools)
;;; Testing
To configure the lisp implementations with which to run the tests,
you may export environment variables to override the defaults:
ASDF_TEST_LISPS and ASDF_UPGRADE_TEST_LISPS can each be a string of space-separated names
amongst the above implementation names.
You may also explicitly specify the same variables with the respective l= and u= arguments.
Individual test commands only use the first (preferred) provided implementation;
other test commands (named test-all-FOO) iterate over all implementations.
Similarly, you can configure which scripts to tests with ASDF_TEST_SCRIPTS or t=
and which systems to test loading with ASDF_TEST_SYSTEMS or s=
(defparameter *test-lisps* :default
"The list of lisp implementations to use for tests")
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