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