| 1 | #! /bin/sh |
| 2 | # Usage: check-guile [-i GUILE-INTERPRETER] [GUILE-TEST-ARGS] |
| 3 | # If `-i GUILE-INTERPRETER' is omitted, use libguile/guile. |
| 4 | # See test-suite/guile-test for documentation on GUILE-TEST-ARGS. |
| 5 | # |
| 6 | # Example invocations: |
| 7 | # ./check-guile |
| 8 | # ./check-guile numbers.test |
| 9 | # ./check-guile -i /usr/local/bin/guile |
| 10 | # ./check-guile -i /usr/local/bin/guile numbers.test |
| 11 | |
| 12 | # this script runs in the top-level build-dir. |
| 13 | srcdir=@srcdir@ |
| 14 | TEST_SUITE_DIR=$srcdir/test-suite |
| 15 | |
| 16 | if [ x"$1" = x-i ] ; then |
| 17 | guile=$2 |
| 18 | shift |
| 19 | shift |
| 20 | GUILE_LOAD_PATH=$TEST_SUITE_DIR |
| 21 | else |
| 22 | guile=libguile/guile |
| 23 | GUILE_LOAD_PATH=$srcdir:$TEST_SUITE_DIR |
| 24 | fi |
| 25 | export GUILE_LOAD_PATH |
| 26 | |
| 27 | if [ -f "$guile" -a -x "$guile" ] ; then |
| 28 | echo Testing $guile ... "$@" |
| 29 | echo with GUILE_LOAD_PATH=$GUILE_LOAD_PATH |
| 30 | else |
| 31 | echo ERROR: Cannot execute $guile |
| 32 | exit 1 |
| 33 | fi |
| 34 | |
| 35 | # documentation searching ignores GUILE_LOAD_PATH. |
| 36 | if [ ! -f guile-procedures.txt ] ; then |
| 37 | ln -s libguile/guile-procedures.txt . |
| 38 | fi |
| 39 | |
| 40 | exec "$guile" -e main -s "$TEST_SUITE_DIR/guile-test" --test-suite "$TEST_SUITE_DIR/tests" --log-file check-guile.log "$@" |
| 41 | |
| 42 | # check-guile ends here |