summary refs log tree commit diff
path: root/bin/cash/tests/execution/redir7.0
blob: 0f6671cd53bf8811e3f5df7c7a3965b0825060f9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# $FreeBSD: releng/12.0/bin/sh/tests/execution/redir7.0 220978 2011-04-23 22:28:56Z jilles $

failures=0

check() {
	if [ "$2" != "$3" ]; then
		echo "Failure at $1" >&2
		failures=$((failures + 1))
	fi
}

check $LINENO "$(trap "echo bye" EXIT; f() { :; }; f >/dev/null)" bye
check $LINENO "$(trap "echo bye" EXIT; f() { :; }; { f; } >/dev/null)" bye
check $LINENO "$(trap "echo bye" EXIT; f() { :; }; (f) >/dev/null)" bye
check $LINENO "$(trap "echo bye" EXIT; f() { :; }; (f >/dev/null))" bye
check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; f >/dev/null')" bye
check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; { f; } >/dev/null')" bye
check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; (f) >/dev/null')" bye
check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; (f >/dev/null)')" bye

exit $((failures > 0))