2018-10-31 06:30:14 +00:00
|
|
|
set -e
|
|
|
|
if [ -n "$V" ]; then
|
2018-07-03 20:49:55 +01:00
|
|
|
set -x
|
|
|
|
fi
|
2018-10-31 06:30:14 +00:00
|
|
|
DIFF=${DIFF-diff}
|
|
|
|
SHELL=${SHELL-bin/gash}
|
|
|
|
|
|
|
|
t=$1
|
|
|
|
b=test/$(basename $t .sh)
|
|
|
|
set +e
|
2018-10-31 19:22:13 +00:00
|
|
|
timeout 1 $SHELL -e $b.sh > $b.1 2> $b.2
|
2018-10-31 06:30:14 +00:00
|
|
|
r=$?
|
|
|
|
set -e
|
|
|
|
if [ -f $b.exit ]; then
|
|
|
|
e=$(cat $b.exit)
|
|
|
|
else
|
|
|
|
e=0
|
|
|
|
fi
|
|
|
|
[ $r = $e ] || exit 1
|
|
|
|
if [ -f $b.stdout ]; then
|
|
|
|
$DIFF -u $b.stdout $b.1
|
|
|
|
fi
|
|
|
|
if [ -f $b.stderr ]; then
|
|
|
|
$DIFF -u $b.stderr $b.2
|
|
|
|
fi
|