Ahh yes, of course.. However, when I try the command line:
bash-3.2$ test/run-tests.sh lispworks test/run-tests.sh: line 162: type: lispworks: not found
test/run-tests.sh: line 57: (load "test/compile-asdf.lisp"): No such file or directory bash-3.2$
So here is the script... what am I, or have I done incorrectly?
#!/bin/sh
# do_tests {lisp invocation} {scripts-regex} # - read lisp forms one at a time from standard input # - quit with exit status 0 on getting eof # - quit with exit status >0 if an unhandled error occurs
export CL_SOURCE_REGISTRY="$PWD" unset DEBUG_ASDF_TEST
while getopts "duh" OPTION do case $OPTION in d) export DEBUG_ASDF_TEST=t ;; u) usage exit 1 ;; h) usage exit 1 ;; esac done shift $(($OPTIND - 1))
if [ x"$1" = "xhelp" ]; then usage exit 1 fi
if [ -z "$2" ]; then scripts="*.script" else scripts="$2" fi
sok=1
usage () { echo "$0 [lisp invocation] [scripts-regex]" echo " - read lisp forms one at a time from matching scripts" echo " - quit with exit status 0 on getting eof" echo " - quit with exit status >0 if an unhandled error occurs" echo " you need to supply the .script in the second argument" echo " lisps include sbcl, clisp, allegro and allegromodern" echo "OPTIONS:" echo " -d -- debug mode" echo " -u -h -- show this message." }
do_tests() { command=$1 eval=$2 fasl_ext=$3 rm -f *.$fasl_ext ~/.cache/common-lisp/"`pwd`"/*.$fasl_ext || true ( cd .. && $command $eval '(load "test/compile-asdf.lisp")' ) if [ $? -eq 0 ] ; then echo "Compiled OK" test_count=0 test_pass=0 test_fail=0 failed_list="" for i in $scripts ; do echo "Testing: $i" >&2 test_count=`expr "$test_count" + 1` rm -f *.$fasl_ext ~/.cache/common-lisp/"`pwd`"/*.$fasl_ext || true if $command $eval "(load "$i")" ; then echo "Using $command, $i passed" >&2 test_pass=`expr "$test_pass" + 1` else echo "Using $command, $i failed" >&2 test_fail=`expr "$test_fail" + 1` failed_list="$failed_list $i" sok=0 fi done echo >&2 echo "-#---------------------------------------" >&2 echo "Using $command" >&2 echo "Ran $test_count tests: " >&2 echo " $test_pass passing and $test_fail failing" >&2 if [ $test_fail -eq 0 ] ; then echo "all tests apparently successful" >&2 else echo "failing test(s): $failed_list" >&2 fi echo "-#---------------------------------------" >&2 echo >&2 fi }
# terminate on error set -e
lisp=$1 if [ -z $1 ] ; then lisp="sbcl" fi
case "$lisp" in sbcl) if type sbcl ; then fasl_ext="fasl" command="sbcl --noinform --userinit /dev/null --sysinit /dev/null" nodebug="--disable-debugger" eval="--eval" fi ;; clisp) if type clisp ; then fasl_ext="fas" command=`which clisp` command="$command -norc -ansi -I " nodebug="-on-error exit" eval="-x" fi ;; allegro) if type alisp ; then fasl_ext="fasl" command="alisp -q " nodebug="-batch" eval="-e" fi ;; allegromodern) if type mlisp ; then fasl_ext="fasl" command="mlisp -q" nodebug="-batch" eval="-e" fi ;; ccl) if type ccl ; then case `uname -s` in Linux) fasl_os=lx ;; Darwin) fasl_os=dx ;; esac case `uname -m` in x86_64|ppc64) fasl_bits=64 ;; i?86|ppc) fasl_bits=32 ;; esac fasl_ext="${fasl_os}${fasl_bits}fsl" command="ccl --no-init --quiet" nodebug="--batch" eval="--eval" fi ;; cmucl) if type lisp ; then fasl_ext="x86f" command="lisp -noinit" nodebug="-batch" eval="-eval" fi ;; ecl) if type ecl ; then fasl_ext="fas" command=`which ecl` command="$command -norc" eval="-eval" fi ;; lispworks) if type lispworks ; then fasl_ext="64xfasl" command=`which lwm64` command="$command -siteinit - -init -" eval="-eval" fi ;; esac
if [ -z "${DEBUG_ASDF_TEST}" ] ; then command="$command $nodebug" fi
create_config () { mkdir -p ../tmp/test-source-registry-conf.d ../tmp/test-asdf-output-translations-conf.d }
clean_up () { rm -rf ../tmp/test-source-registry-conf.d ../tmp/test-asdf-output-translations-conf.d }
if [ -z "$command" ] ; then echo "Error: cannot find or do not know how to run Lisp named $lisp" else create_config mkdir -p results echo $command thedate=`date "+%Y-%m-%d"` do_tests "$command" "$eval" "$fasl_ext" 2>&1 | \ tee "results/${lisp}.text" "results/${lisp}-${thedate}.save" clean_up fi
On Feb 27, 2010, at 18:53 PM, Faré wrote:
Of course the if type lispworks looks for lispworks in your path, then fails silently. If you want the lispworks binary to be called lwm64 instead of lispworks, you have to change that, too...
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] If a vegetarian eats vegetables, what does a humanitarian eat? — Mark Twain
On 27 February 2010 19:21, David McClain dbm@refined-audiometrics.com wrote:
And yes, I modified that portion of the script that you mentioned:
lispworks) if type lispworks ; then fasl_ext="64xfasl" command=`which lwm64` command="$command -siteinit - -init -" eval="-eval" fi ;;
On Feb 27, 2010, at 17:13 PM, Faré wrote:
What is your first argument to run-tests.sh? Did you modify run-tests.sh to support it? See the case "$lisp" statement.
Please pull the latest git, it has some additional sanity checking.
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] The problem with most conspiracy theories is that they seem to believe that for a group of people to behave in a way detrimental to the common good requires intent.
The problem with most statist theories is that they seem to believe that for a group of people to behave in a way beneficial to the common good requires intent.
On 27 February 2010 19:02, David McClain dbm@refined-audiometrics.com wrote:
Ahhh... yes, in doing my manual test, I discovered that the submitted -eval
argument needs to be a string.
Furthermore, when I modify your script with 'echo' so that I can examine
what is being performed, here are the results:
;; Script as modified in the 4th line..
do_tests() {
command=$1 eval=$2 fasl_ext=$3
rm -f *.$fasl_ext ~/.cache/common-lisp/"`pwd`"/*.$fasl_ext || true
( cd .. && echo $command $eval "(load "test/compile-asdf.lisp")" )
if [ $? -eq 0 ] ; then
echo "Compiled OK" test_count=0
bash-3.2$ test/run-tests.sh lwm64
(load "test/compile-asdf.lisp") <<---- AHA! Wrong!
Compiled OK
Testing: *.script
test/run-tests.sh: line 69: (load "*.script"): command not found
Using , *.script failed
-#---------------------------------------
Using
Ran 1 tests:
0 passing and 1 failing
failing test(s): *.script
-#---------------------------------------
bash-3.2$
So $command, $eval, and $fasl_ext must not be getting set properly
On Feb 27, 2010, at 16:54 PM, David McClain wrote:
Hi Guys,
I don't have a problem dealing with LW. But I want to have them work on
things that are within their purview.
The script problem is being reported by Bash, not LWM. The environment is
Mac OS X 10.6.2 (Snow Leopard).
I can invoke LWM from a command line just fine, including passing an initial
SExpr for eval. Here is a direct example, performed in Emacs in Shell mode:
bash-3.2$ lwm64 -siteinit - -init - -eval "(print :hello)"
LispWorks(R): The Common Lisp Programming Environment
Copyright (C) 1987-2009 LispWorks Ltd. All rights reserved.
Version 6.0.0
Saved by dbmcclain as lwm64, at 27 Feb 2010 6:37
User dbmcclain on RoadKill.local
:HELLO
CL-USER 1 >
So the problem is one of the script in getting Bash to properly interpret
the synthesized command.
Dr. David McClain
dbm@refined-audiometrics.com
asdf-devel mailing list
asdf-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
Dr. David McClain
dbm@refined-audiometrics.com
asdf-devel mailing list
asdf-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
Dr. David McClain dbm@refined-audiometrics.com
Dr. David McClain dbm@refined-audiometrics.com