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.
This commit is contained in:
Jilles Tjoelker 2010-09-03 21:17:33 +00:00
parent 443f331ec5
commit 10ea2923a9

View File

@ -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