summary refs log tree commit diff
path: root/bin/cash/tests/execution/redir7.0
diff options
context:
space:
mode:
Diffstat (limited to 'bin/cash/tests/execution/redir7.0')
-rw-r--r--bin/cash/tests/execution/redir7.021
1 files changed, 21 insertions, 0 deletions
diff --git a/bin/cash/tests/execution/redir7.0 b/bin/cash/tests/execution/redir7.0
new file mode 100644
index 00000000..0f6671cd
--- /dev/null
+++ b/bin/cash/tests/execution/redir7.0
@@ -0,0 +1,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))