2012-02-12 17:18:20 +08:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
if [ -z "$1" ]; then
|
|
|
|
echo "Usage: $0 testfile1 [testfile2 ...]"
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
2012-11-25 08:56:49 +08:00
|
|
|
source "$(dirname $0)"/test-utils.sh
|
2012-02-12 17:18:20 +08:00
|
|
|
|
2012-02-27 15:44:57 +08:00
|
|
|
# 5 seconds in between tests to avoid accidental DoS from running too
|
|
|
|
# many tests in a short time
|
|
|
|
set_default DELAY_BETWEEN_TESTS 5
|
|
|
|
|
2012-09-13 06:58:04 +08:00
|
|
|
FAILED_TESTS=0
|
|
|
|
ALL_TESTS=0
|
|
|
|
|
2012-02-12 17:18:20 +08:00
|
|
|
run_test () {
|
2012-03-05 04:13:31 +08:00
|
|
|
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 ***"
|
2012-02-12 17:18:20 +08:00
|
|
|
else
|
2012-03-05 04:13:31 +08:00
|
|
|
echo "*** Running el-get test $testfile ***"
|
2012-05-29 09:41:39 +08:00
|
|
|
if [ -n "$DO_NOT_CLEAN" ]; then
|
|
|
|
echo "Running test without removing $TEST_HOME first";
|
|
|
|
else
|
2012-10-07 10:11:30 +08:00
|
|
|
add_on_exit "rm -rf $TEST_HOME"
|
|
|
|
rm -rf "$TEST_HOME"
|
2012-05-29 09:41:39 +08:00
|
|
|
fi
|
2012-08-12 19:33:02 +08:00
|
|
|
mkdir -p "$TEST_HOME"/.emacs.d/el-get/
|
2012-10-07 10:11:30 +08:00
|
|
|
TMPDIR="$TEST_HOME"
|
|
|
|
|
2012-05-29 09:41:39 +08:00
|
|
|
HOME="$TEST_HOME" "$EMACS" -Q -batch -L "$EL_GET_LIB_DIR" \
|
2012-03-16 01:01:13 +08:00
|
|
|
-l "$EL_GET_LIB_DIR/el-get.el" -l "$EL_GET_LIB_DIR/test/test-setup.el" \
|
|
|
|
-l "$testfile"
|
2012-03-05 04:13:31 +08:00
|
|
|
result="$?"
|
|
|
|
if [ "$result" = 0 ]; then
|
|
|
|
echo "*** SUCCESS $testfile ***"
|
|
|
|
else
|
|
|
|
echo "*** FAILED $testfile ***"
|
2012-09-13 06:58:04 +08:00
|
|
|
FAILED_TESTS="$(expr $FAILED_TESTS + 1)"
|
2012-03-05 04:13:31 +08:00
|
|
|
fi
|
2012-09-13 06:58:04 +08:00
|
|
|
ALL_TESTS="$(expr $ALL_TESTS + 1)"
|
2012-02-12 17:18:20 +08:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2012-09-13 07:07:05 +08:00
|
|
|
echo "*** Emacs version ***"
|
|
|
|
echo "EMACS =" $(which $EMACS)
|
|
|
|
$EMACS --version
|
|
|
|
echo
|
|
|
|
|
2012-03-13 00:20:41 +08:00
|
|
|
while [ -n "$1" ]; do
|
|
|
|
run_test "$1"
|
|
|
|
shift
|
|
|
|
if [ -n "$1" ]; then
|
|
|
|
sleep "$DELAY_BETWEEN_TESTS"
|
|
|
|
fi
|
2012-02-12 17:18:20 +08:00
|
|
|
done
|
2012-09-13 06:58:04 +08:00
|
|
|
|
|
|
|
echo "Ran $ALL_TESTS tests (FAILED: $FAILED_TESTS)."
|
|
|
|
if [ "$FAILED_TESTS" -gt 0 ]; then
|
|
|
|
exit 1
|
|
|
|
fi
|