On 10/22/11 Oct 22 -2:09 PM, Faré wrote:
>> The only possible betterness is that it parses out the blocks that say
>> what the results are, so that you don't have to read through the full
>> clutter (which is available in a /tmp file).  You saw what the script
>> drops to standard output.
> The current `make test-all` stops at the first failing Lisp implementation.
> Not great, but at least makes failure obvious.
> 
>> Question: would it be reasonable to change the makefile to something like
>>
>> lisps ?= ${ASDF-TEST-LISPS}
>>
>> (I may well have the syntax wrong here)
>>
>> so that people can do
>>
>> export ASDF-TEST-LISPS "ccl clisp sbcl ecl cmucl abcl allegro allegromodern"
>>
>> in their shell configuration?
>>
> Wish granted.

Hm.  This seems to behave differently from simple run-tests.  E.g.,
run-tests works fine for me, finding CCL from environment variables, but
'make-test-all-lisps` fails, being unable to find ccl...

The problem is in test-upgrade, invoked by test-all-lisps.

run-tests.sh ccl does:

    command="${CCL:-ccl}"

but test-upgrades does:

use_ccl () { li="ccl --quiet --load test/script-support" ; ev="--eval" ;
} ; \


Also, I find that for some lisps test-upgrades mistakenly loads my lisp
init, causing spurious fails in some cases.

Makefile patch attached.


From a70eb8e9342a2c886105b7105c401686b2878ac1 Mon Sep 17 00:00:00 2001
From: Robert P. Goldman <[email protected]>
Date: Sun, 23 Oct 2011 12:17:44 -0500
Subject: [PATCH] Improvements to Makefile.

Makefile now gets lisp path from envars.
Don't load userinit in test-upgrade.
Added test-all-noupgrade make target.
---
 Makefile |   69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 61 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile
index b50448c..99b2299 100644
--- a/Makefile
+++ b/Makefile
@@ -19,6 +19,52 @@ endif
 
 lisp ?= sbcl
 
+ifdef CCL
+ccl = ${CCL}
+else
+ccl = ccl
+endif
+ifdef CLISP
+clisp = ${CLISP}
+else
+clisp = clisp
+endif
+ifdef SBCL
+sbcl = ${SBCL}
+else
+sbcl = sbcl
+endif
+ifdef ECL
+ecl = ${ECL}
+else
+ecl = ecl
+endif
+ifdef CMUCL
+cmucl = ${CMUCL}
+else
+cmucl = cmucl
+endif
+ifdef ABCL
+abcl = ${ABCL}
+else
+abcl = abcl
+endif
+ifdef SCL
+scl = ${SCL}
+else
+scl = scl
+endif
+ifdef ALLEGRO
+allegro = ${ALLEGRO}
+else
+allegro = alisp
+endif
+ifdef ALLEGROMODERN
+allegromodern = ${ALLEGROMODERN}
+else
+allegromodern = mlisp
+endif
+
 # website, tag, install
 
 install: archive-copy
@@ -76,14 +122,15 @@ test-upgrade:
        cf="(handler-bind ((warning #'muffle-warning)) (format t \"cf~%\") 
(compile-file \"asdf.lisp\" :output-file \"$$fa\" :verbose t :print t))" ; \
        lf="(handler-bind (#+sbcl (sb-kernel:redefinition-warning 
#'muffle-warning)) (format t \"lf\") (load \"$$fa\" :verbose t :print t))" ; \
        te="(quit-on-error $$l (push #p\"${sourceDirectory}/test/\" 
asdf:*central-registry*) (princ \"te\") (asdf:oos 'asdf:load-op 
:test-module-depend :verbose t))" ; \
-       use_ccl () { li="ccl --quiet --load test/script-support" ; ev="--eval" 
; } ; \
-       use_clisp () { li="/usr/bin/clisp --quiet --quiet -i 
test/script-support" ; ev="-x" ; } ; \
-       use_sbcl () { li="sbcl --noinform --load test/script-support" ; 
ev="--eval" ; } ; \
-       use_ecl () { li="ecl -load test/script-support" ; ev="-eval" ; } ; \
-       use_cmucl () { li="cmucl -load test/script-support" ; ev="-eval" ; } ; \
-       use_abcl () { li="abcl --noinform --load test/script-support" ; 
ev="--eval" ; } ; \
-       use_scl () { li="scl -load test/script-support" ; ev="-eval" ; } ; \
-       use_allegro () { li="alisp -L test/script-support" ; ev="-e" ; } ; \
+       use_ccl () { li="${ccl} --no-init --quiet --load test/script-support" ; 
ev="--eval" ; } ; \
+       use_clisp () { li="${clisp} -norc -ansi --quiet --quiet -i 
test/script-support" ; ev="-x" ; } ; \
+       use_sbcl () { li="${sbcl} --noinform --userinit /dev/null --load 
test/script-support" ; ev="--eval" ; } ; \
+       use_ecl () { li="${ecl} -norc -load test/script-support" ; ev="-eval" ; 
} ; \
+       use_cmucl () { li="${cmucl} -noinit -load test/script-support" ; 
ev="-eval" ; } ; \
+       use_abcl () { li="${abcl} --noinit --noinform --load 
test/script-support" ; ev="--eval" ; } ; \
+       use_scl () { li="${scl} -noinit -load test/script-support" ; ev="-eval" 
; } ; \
+       use_allegromodern () { li="${allegromodern} -q -L test/script-support" 
; ev="-e" ; } ; \
+       use_allegro () { li="${allegro} -q -L test/script-support" ; ev="-e" ; 
} ; \
        for tag in 1.37 1.97 1.369 `git tag -l '2.0??'` ; do \
          use_${lisp} ; \
          lo="(handler-bind ((warning #'muffle-warning)) (load 
\"tmp/asdf-$${tag}.lisp\"))" ; \
@@ -112,6 +159,12 @@ test-all-lisps:
                ${MAKE} test-lisp test-upgrade lisp=$$lisp || exit 1 ; \
        done
 
+# test upgrade is a very long run... This does just the regression tests
+test-all-noupgrade:
+       @for lisp in ${lisps} ; do \
+               ${MAKE} test-lisp lisp=$$lisp || exit 1 ; \
+       done
+
 test-all: test-forward-references doc test-all-lisps
 
 # Note that the debian git at 
git://git.debian.org/git/pkg-common-lisp/cl-asdf.git is stale,
-- 
1.7.3.5

_______________________________________________
asdf-devel mailing list
[email protected]
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to