xref: /freebsd/bin/sh/tests/builtins/fc1.0 (revision d30a1689f5b37e78ea189232a8b94a7011dc0dc8)
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
11ENV= HISTFILE=/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