mirror of
https://github.com/dimitri/el-get.git
synced 2024-09-30 05:29:52 +08:00
141b2e594e
Among other things, it ensures that the full backtrace of any error is printed in batch mode.
43 lines
997 B
Bash
Executable File
43 lines
997 B
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: $0 testfile1 [testfile2 ...]"
|
|
exit 0
|
|
fi
|
|
|
|
set_default () {
|
|
eval "
|
|
if [ -z \$$1 ]; then
|
|
$1=$2
|
|
fi
|
|
"
|
|
}
|
|
|
|
set_default EL_GET_LIB_DIR "$(dirname "$(dirname "$(readlink -f "$0")")")"
|
|
set_default TMPDIR "$(dirname "$(mktemp --dry-run)")"
|
|
set_default TEST_HOME "$TMPDIR/el-get-test-home"
|
|
set_default EMACS "$(which emacs)"
|
|
set_default TEST_DIR "$(dirname $0)"
|
|
|
|
run_test () {
|
|
for x in "$1" "$TEST_DIR/$1" "$TEST_DIR/$1.el" "$TEST_DIR/el-get-issue-$1.el"; do
|
|
if [ -f "$x" ]; then
|
|
testfile="$x"
|
|
fi
|
|
done
|
|
if [ -z "$testfile" ]; then
|
|
echo "*** ERROR $1: Could not find test file ***"
|
|
else
|
|
echo "*** Running el-get test $testfile interactively ***"
|
|
mkdir -p "$TEST_HOME"/.emacs.d
|
|
rm -rf "$TEST_HOME"/.emacs.d/el-get/
|
|
HOME="$TEST_HOME" "$EMACS" -Q -L "$EL_GET_LIB_DIR" \
|
|
-l "$EL_GET_LIB_DIR/el-get.el" -l "$EL_GET_LIB_DIR/test/test-setup.el" \
|
|
-l "$testfile"
|
|
fi
|
|
}
|
|
|
|
for t in "$@"; do
|
|
run_test "$t"
|
|
done
|