X-Git-Url: https://git.distorted.org.uk/~mdw/runlisp/blobdiff_plain/e29834b853038e8c90dcfe8377f02431cad42fc5..34e1c00f63526e212637f8219f9a2a3d97b0d22a:/tests.at diff --git a/tests.at b/tests.at index 3eee970..b022076 100644 --- a/tests.at +++ b/tests.at @@ -40,34 +40,33 @@ m4_define([LISP_SYSTEMS], cmucl, cmucl/noimage, abcl, abcl/noimage]) +m4_define([SETUP_RUNLISP_ENV], +[RUNLISP_SYSCONFIG=$abs_top_srcdir/runlisp-base.conf; export RUNLISP_SYSCONFIG +RUNLISP_SYSCONFIG_DIR=/notexist; export RUNLISP_SYSCONFIG_DIR +RUNLISP_IMAGEDIR=$abs_top_builddir; export RUNLISP_IMAGEDIR +RUNLISP_EVAL=$abs_top_srcdir/eval.lisp; export RUNLISP_EVAL +unset RUNLISP_USERCONFIG +]) + m4_define([PREPARE_LISP_TEST], -[lisp=$1 -LISP=$m4_translit(m4_bregexp([$1], [/.*$], []), [a-z], [A-Z]) +[SETUP_RUNLISP_ENV +lisp=$1 +LISP=$m4_translit(m4_bpatsubst([$1], [/.*$], []), [a-z], [A-Z]) AT_SKIP_IF([test "x$LISP" = x]) case $lisp in - */*) opt=${lisp#*/} lisp=${lisp%%/*} ;; + */*) opt=${lisp@%:@*/} lisp=${lisp%%/*} ;; *) opt="" ;; esac -case /$opt/ in - */noimage/*) RUNLISP_IMAGEDIR=./notexist ;; - *) RUNLISP_IMAGEDIR=$abs_top_builddir ;; -esac -export RUNLISP_IMAGEDIR]) +case /$opt/ in */noimage/*) RUNLISP_IMAGEDIR=./notexist ;; esac]) m4_define([WHICH_LISP], -[(or #+sbcl "sbcl" #+ccl "ccl" #+clisp "clisp" - #+ecl "ecl" #+cmu "cmucl" #+abcl "abcl" +[(or @%:@+sbcl "sbcl" @%:@+ccl "ccl" @%:@+clisp "clisp" + @%:@+ecl "ecl" @%:@+cmu "cmucl" @%:@+abcl "abcl" "unknown")]) m4_define([NL], [ ]) -m4_define([SETUP_RUNLISP_IMAGEDIR], -[RUNLISP_IMAGEDIR=$abs_top_builddir; export RUNLISP_IMAGEDIR]) - -m4_define([SETUP_RUNLISP_EVAL], -[RUNLISP_EVAL=$abs_top_srcdir/eval.lisp; export RUNLISP_EVAL]) - ###-------------------------------------------------------------------------- ### A basic smoke test. @@ -97,13 +96,13 @@ HOME=$(pwd)/HOME; export HOME ## Prepare the script. cat >test-script <test-script <test <script.lisp </dev/null; then good=t; else good=nil; fi case ${lisp0+t},${badlisp+t},$good in @@ -279,28 +283,27 @@ echo Secondary Lisp = $lisp1 echo Bad Lisp = $badlisp ## Check that our selection worked. -AT_CHECK_UNQUOTED([RUNLISP_PATH -L$lisp0 -p 'WHICH_LISP'],, ["$lisp0"NL]) -AT_CHECK_UNQUOTED([RUNLISP_PATH -L$lisp1 -p 'WHICH_LISP'],, ["$lisp1"NL]) -AT_CHECK([RUNLISP_PATH -L$badlisp -p 'WHICH_LISP'], [127],, -[runlisp: no supported Lisp systems found[]NL]) +AT_CHECK_UNQUOTED([RUNLISP_PATH -L$lisp0 -d 'WHICH_LISP'],, ["$lisp0"NL]) +AT_CHECK_UNQUOTED([RUNLISP_PATH -L$lisp1 -d 'WHICH_LISP'],, ["$lisp1"NL]) +AT_CHECK([RUNLISP_PATH -L$badlisp -d 'WHICH_LISP'], [127],, + [runlisp: no acceptable Lisp systems found[]NL]) ## Unset all of the user preference mechanisms. -unset RUNLISP_OPTIONS here=$(pwd) mkdir HOME config HOME=$here/HOME XDG_CONFIG_HOME=$here/config; export HOME XDG_CONFIG_HOME ## We generally take the first one listed that exists. -AT_CHECK_UNQUOTED([RUNLISP_PATH -L$lisp0,$lisp1 -p 'WHICH_LISP'],, ["$lisp0"NL]) -AT_CHECK_UNQUOTED([RUNLISP_PATH -L$lisp1,$lisp0 -p 'WHICH_LISP'],, ["$lisp1"NL]) -AT_CHECK_UNQUOTED([RUNLISP_PATH -L$badlisp,$lisp0,$lisp1 -p 'WHICH_LISP'],, +AT_CHECK_UNQUOTED([RUNLISP_PATH -L$lisp0,$lisp1 -d 'WHICH_LISP'],, ["$lisp0"NL]) +AT_CHECK_UNQUOTED([RUNLISP_PATH -L$lisp1,$lisp0 -d 'WHICH_LISP'],, ["$lisp1"NL]) +AT_CHECK_UNQUOTED([RUNLISP_PATH -L$badlisp,$lisp0,$lisp1 -d 'WHICH_LISP'],, ["$lisp0"NL]) ## Check parsing of embedded options. for i in 0 1; do j=$(( 1 - $i )); eval lisp=\$lisp$i olisp=\$lisp$j cat >script$i <$conf <