xref: /freebsd/bin/sh/tests/builtins/fc1.0 (revision b0d29bc47dba79f6f38e67eabadfb4b32ffd9390)
1# $FreeBSD$
2set -e
3trap 'echo Broken pipe -- test failed' PIPE
4
5P=${TMPDIR:-/tmp}
6cd $P
7T=$(mktemp -d sh-test.XXXXXX)
8cd $T
9
10mkfifo input output error
11HISTFILE=/dev/null ${SH} +m -i <input >output 2>error &
12{
13	# Syntax error
14	echo ')' >&3
15	# Read error message, shell will read new input now
16	read dummy <&5
17	# Execute bad command again
18	echo 'fc -e true' >&3
19	# Verify that the shell is still running
20	echo 'echo continued' >&3 || rc=3
21	echo 'exit' >&3 || rc=3
22	read line <&4 && [ "$line" = continued ] && : ${rc:=0}
23} 3>input 4<output 5<error
24
25rm input output error
26rmdir ${P}/${T}
27exit ${rc:-3}
28