diff options
Diffstat (limited to 'bin/cash/tests/builtins/fc1.0')
-rw-r--r-- | bin/cash/tests/builtins/fc1.0 | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/bin/cash/tests/builtins/fc1.0 b/bin/cash/tests/builtins/fc1.0 new file mode 100644 index 00000000..e52e5884 --- /dev/null +++ b/bin/cash/tests/builtins/fc1.0 @@ -0,0 +1,27 @@ +# $FreeBSD: releng/12.0/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} |