prefer compilers earlier in list
[bpt/guile.git] / check-guile.in
index 89410ea..214deec 100644 (file)
@@ -1,43 +1,51 @@
 #! /bin/sh
 # Usage: check-guile [-i GUILE-INTERPRETER] [GUILE-TEST-ARGS]
-# If `-i GUILE-INTERPRETER' is omitted, use libguile/guile.
-# See test-suite/guile-test for documentation on GUILE-TEST-ARGS.
+# If `-i GUILE-INTERPRETER' is omitted, use ${top_builddir}/meta/guile.
+# See ${top_srcdir}/test-suite/guile-test for documentation on GUILE-TEST-ARGS.
 #
 # Example invocations:
 # ./check-guile
 # ./check-guile numbers.test
 # ./check-guile -i /usr/local/bin/guile
 # ./check-guile -i /usr/local/bin/guile numbers.test
-#
-# Dependencies: dirname sed
 
-TEST_SUITE_DIR=@test_suite_dir@
-parent=`dirname $TEST_SUITE_DIR`
+set -e
+
+top_builddir=@top_builddir_absolute@
+top_srcdir=@top_srcdir_absolute@
+
+TEST_SUITE_DIR=${top_srcdir}/test-suite
+export TEST_SUITE_DIR
 
 if [ x"$1" = x-i ] ; then
     guile=$2
     shift
     shift
 else
-    guile=$parent/libguile/guile
-    glp=$parent
+    guile=${top_builddir}/meta/guile
 fi
 
+GUILE_LOAD_PATH=$TEST_SUITE_DIR
+export GUILE_LOAD_PATH
+
 if [ -f "$guile" -a -x "$guile" ] ; then
     echo Testing $guile ... "$@"
-    if [ x"$glp" = x ] ; then
-        glp=`$guile -c "(for-each write-line %load-path)"`
-        glp=`echo $glp | sed 's/ /:/g'`:$parent
-    fi
-    GUILE_LOAD_PATH=$glp
-    export GUILE_LOAD_PATH
-    echo with GUILE_LOAD_PATH: $GUILE_LOAD_PATH
+    echo with GUILE_LOAD_PATH=$GUILE_LOAD_PATH
 else
     echo ERROR: Cannot execute $guile
     exit 1
 fi
 
-cd $TEST_SUITE_DIR
-exec $guile -e main -s guile-test --test-suite $TEST_SUITE_DIR/tests "$@"
+# documentation searching ignores GUILE_LOAD_PATH.
+if [ ! -f guile-procedures.txt ] ; then
+   @LN_S@ libguile/guile-procedures.txt .
+fi
+
+exec $guile \
+    --debug \
+    -L "$TEST_SUITE_DIR" \
+    --no-auto-compile -e main -s "$TEST_SUITE_DIR/guile-test" \
+    --test-suite "$TEST_SUITE_DIR/tests" \
+    --log-file check-guile.log "$@"
 
 # check-guile ends here