run-tests
47 lines
| 722 B
| text/plain
|
TextLexer
/ tests / run-tests
mpm@selenic.com
|
r331 | #!/bin/bash | ||
set -e | ||||
tests=0 | ||||
failed=0 | ||||
H=$PWD | ||||
for f in `ls test-* | grep -Ev "\.|~"` ; do | ||||
echo -n "." | ||||
D=`mktemp -d` | ||||
if [ "$D" == "" ] ; then | ||||
echo mktemp failed! | ||||
fi | ||||
cd $D | ||||
fail=0 | ||||
if ! $H/$f > .out 2>&1 ; then | ||||
echo $f failed with error code $? | ||||
fail=1 | ||||
fi | ||||
if [ -s .out -a ! -r $H/$f.out ] ; then | ||||
echo $f generated unexpected output: | ||||
cat .out | ||||
cp .out $H/$f.err | ||||
fail=1 | ||||
elif ! diff -u $H/$f.out .out > /dev/null ; then | ||||
echo $f output changed: | ||||
diff -u $H/$f.out .out && true | ||||
cp .out $H/$f.err | ||||
mpm@selenic.com
|
r341 | fail=1 | ||
mpm@selenic.com
|
r331 | fi | ||
cd $H | ||||
rm -r $D | ||||
failed=$[$failed + $fail] | ||||
tests=$[$tests + 1] | ||||
done | ||||
echo | ||||
echo Ran $tests tests, $failed failed | ||||
if [ $failed -gt 0 ] ; then | ||||
exit 1 | ||||
fi | ||||