summary refs log tree commit diff
path: root/bin/1sh/tests/execution/redir1.0
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-03-09 04:00:31 -0400
committerJune McEnroe <june@causal.agency>2020-03-09 04:00:31 -0400
commitbb6d30656efa59e16d9abc20146accb24de17090 (patch)
treee6e0a2f16e0900f29260d4198b5e530be87372f5 /bin/1sh/tests/execution/redir1.0
parentRemove 1sh sources (diff)
downloadsrc-bb6d30656efa59e16d9abc20146accb24de17090.tar.gz
src-bb6d30656efa59e16d9abc20146accb24de17090.zip
Import /usr/src/bin/sh from FreeBSD 12.1-RELEASE
Diffstat (limited to 'bin/1sh/tests/execution/redir1.0')
-rw-r--r--bin/1sh/tests/execution/redir1.027
1 files changed, 27 insertions, 0 deletions
diff --git a/bin/1sh/tests/execution/redir1.0 b/bin/1sh/tests/execution/redir1.0
new file mode 100644
index 00000000..797e42b2
--- /dev/null
+++ b/bin/1sh/tests/execution/redir1.0
@@ -0,0 +1,27 @@
+# $FreeBSD: releng/12.1/bin/sh/tests/execution/redir1.0 211408 2010-08-16 22:23:19Z jilles $
+trap ': $((brokenpipe+=1))' PIPE
+
+P=${TMPDIR:-/tmp}
+cd $P
+T=$(mktemp -d sh-test.XXXXXX)
+cd $T
+
+brokenpipe=0
+mkfifo fifo1 fifo2
+read dummy >fifo2 <fifo1 &
+{
+	exec 4>fifo2
+} 3<fifo2 # Formerly, sh would keep fd 3 and a duplicate of it open.
+echo dummy >fifo1
+if [ $brokenpipe -ne 0 ]; then
+	rc=3
+fi
+wait
+echo dummy >&4 2>/dev/null
+if [ $brokenpipe -eq 1 ]; then
+	: ${rc:=0}
+fi
+
+rm fifo1 fifo2
+rmdir ${P}/${T}
+exit ${rc:-3}