From 10ea2923a9fe5afef85fcfda5e0a208019f26e6e Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Fri, 3 Sep 2010 21:17:33 +0000 Subject: [PATCH] sh: Add a test that 'read' leaves the file pointer at the correct place. Naive buffering would break the common while read x... construct, which did not appear to be tested yet. --- tools/regression/bin/sh/builtins/read2.0 | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tools/regression/bin/sh/builtins/read2.0 diff --git a/tools/regression/bin/sh/builtins/read2.0 b/tools/regression/bin/sh/builtins/read2.0 new file mode 100644 index 000000000000..fc7451191586 --- /dev/null +++ b/tools/regression/bin/sh/builtins/read2.0 @@ -0,0 +1,31 @@ +# $FreeBSD$ + +set -e +{ + echo 1 + echo two + echo three +} | { + read x + [ "$x" = 1 ] + (read x + [ "$x" = two ]) + read x + [ "$x" = three ] +} + +T=`mktemp sh-test.XXXXXX` +trap 'rm -f "$T"' 0 +{ + echo 1 + echo two + echo three +} >$T +{ + read x + [ "$x" = 1 ] + (read x + [ "$x" = two ]) + read x + [ "$x" = three ] +} <$T