1220978Sjilles# $FreeBSD$
2220978Sjilles
3220978Sjillesfailures=0
4220978Sjilles
5220978Sjillescheck() {
6220978Sjilles	if [ "$2" != "$3" ]; then
7220978Sjilles		echo "Failure at $1" >&2
8220978Sjilles		failures=$((failures + 1))
9220978Sjilles	fi
10220978Sjilles}
11220978Sjilles
12220978Sjillescheck $LINENO "$(trap "echo bye" EXIT; : >/dev/null)" bye
13220978Sjillescheck $LINENO "$(trap "echo bye" EXIT; { :; } >/dev/null)" bye
14220978Sjillescheck $LINENO "$(trap "echo bye" EXIT; (:) >/dev/null)" bye
15220978Sjillescheck $LINENO "$(trap "echo bye" EXIT; (: >/dev/null))" bye
16220978Sjillescheck $LINENO "$(${SH} -c 'trap "echo bye" EXIT; : >/dev/null')" bye
17220978Sjillescheck $LINENO "$(${SH} -c 'trap "echo bye" EXIT; { :; } >/dev/null')" bye
18220978Sjillescheck $LINENO "$(${SH} -c 'trap "echo bye" EXIT; (:) >/dev/null')" bye
19220978Sjillescheck $LINENO "$(${SH} -c 'trap "echo bye" EXIT; (: >/dev/null)')" bye
20220978Sjilles
21220978Sjillesexit $((failures > 0))
22