summary refs log tree commit diff
path: root/bin/1sh/tests/builtins/fc1.0
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bin/1sh/tests/builtins/fc1.027
1 files changed, 27 insertions, 0 deletions
diff --git a/bin/1sh/tests/builtins/fc1.0 b/bin/1sh/tests/builtins/fc1.0
new file mode 100644
index 00000000..86b6afe8
--- /dev/null
+++ b/bin/1sh/tests/builtins/fc1.0
@@ -0,0 +1,27 @@
+# $FreeBSD: releng/12.1/bin/sh/tests/builtins/fc1.0 213738 2010-10-12 18:20:38Z obrien $
+set -e
+trap 'echo Broken pipe -- test failed' PIPE
+
+P=${TMPDIR:-/tmp}
+cd $P
+T=$(mktemp -d sh-test.XXXXXX)
+cd $T
+
+mkfifo input output error
+HISTFILE=/dev/null ${SH} +m -i <input >output 2>error &
+{
+	# Syntax error
+	echo ')' >&3
+	# Read error message, shell will read new input now
+	read dummy <&5
+	# Execute bad command again
+	echo 'fc -e true' >&3
+	# Verify that the shell is still running
+	echo 'echo continued' >&3 || rc=3
+	echo 'exit' >&3 || rc=3
+	read line <&4 && [ "$line" = continued ] && : ${rc:=0}
+} 3>input 4<output 5<error
+
+rm input output error
+rmdir ${P}/${T}
+exit ${rc:-3}