1
2failures=
3failure() {
4 echo "Error at line $1" >&2
5 failures=x$failures
6}
7
8T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) || exit
9trap 'rm -rf $T' 0
10cd $T || exit 3
11echo 'return 42; exit 4' >testscript
12. ./testscript
13[ "$?" = 42 ] || failure $LINENO
14
15test -z "$failures"
16