xref: /freebsd/bin/sh/tests/execution/redir7.0 (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1# $FreeBSD$
2
3failures=0
4
5check() {
6	if [ "$2" != "$3" ]; then
7		echo "Failure at $1" >&2
8		failures=$((failures + 1))
9	fi
10}
11
12check $LINENO "$(trap "echo bye" EXIT; f() { :; }; f >/dev/null)" bye
13check $LINENO "$(trap "echo bye" EXIT; f() { :; }; { f; } >/dev/null)" bye
14check $LINENO "$(trap "echo bye" EXIT; f() { :; }; (f) >/dev/null)" bye
15check $LINENO "$(trap "echo bye" EXIT; f() { :; }; (f >/dev/null))" bye
16check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; f >/dev/null')" bye
17check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; { f; } >/dev/null')" bye
18check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; (f) >/dev/null')" bye
19check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; (f >/dev/null)')" bye
20
21exit $((failures > 0))
22