#! /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=@srcdir@/test-suite
-parent=@srcdir@
-build_dir=`pwd`
+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
- glp=
else
- guile=$build_dir/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 --log-file $build_dir/check-guile.log "$@"
+# 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