X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-yesno.sh;h=b1a5b65b85d1bc68975c95224a374ae039511f3f;hb=cc7a4e12a15c81018321fdf653c081cb42cf05b3;hp=5de918c6f0055d8781befff872bf5d7dd2d62d30;hpb=356aef655f606d928d9a2eef681527182de47235;p=gnulib.git diff --git a/tests/test-yesno.sh b/tests/test-yesno.sh index 5de918c6f..b1a5b65b8 100755 --- a/tests/test-yesno.sh +++ b/tests/test-yesno.sh @@ -4,20 +4,29 @@ tmpfiles= trap 'rm -fr $tmpfiles' 1 2 3 15 p=t-yesno- -tmpfiles="${p}in.tmp ${p}xout.tmp ${p}out.tmp ${p}err.tmp" +tmpfiles="${p}in.tmp ${p}xout.tmp ${p}out1.tmp ${p}out.tmp ${p}err.tmp" # For now, only test with C locale LC_ALL=C export LC_ALL -# Test with seekable stdin; followon process must see remaining data -cat < ${p}in.tmp +# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr +# does not understand '\r'. +if echo solaris | tr -d '\r' | grep solais > /dev/null; then + cr='\015' +else + cr='\r' +fi + +# Test with seekable stdin; the followon process must see remaining data. +tr @ '\177' < ${p}in.tmp nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn - entire line consumed -yn - backspace does not change result +y@n - backspace does not change result y does not match either yesexpr or noexpr n EOF + cat < ${p}xout.tmp N Y @@ -25,12 +34,15 @@ Y N n EOF + (./test-yesno${EXEEXT}; ./test-yesno${EXEEXT} 3; cat) \ - < ${p}in.tmp > ${p}out.tmp || exit 1 + < ${p}in.tmp > ${p}out1.tmp || exit 1 +LC_ALL=C tr -d "$cr" < ${p}out1.tmp > ${p}out.tmp || exit 1 cmp ${p}xout.tmp ${p}out.tmp || exit 1 (./test-yesno${EXEEXT} 3; ./test-yesno${EXEEXT}; cat) \ - < ${p}in.tmp > ${p}out.tmp || exit 1 + < ${p}in.tmp > ${p}out1.tmp || exit 1 +LC_ALL=C tr -d "$cr" < ${p}out1.tmp > ${p}out.tmp || exit 1 cmp ${p}xout.tmp ${p}out.tmp || exit 1 # Test for behavior on pipe @@ -38,18 +50,21 @@ cat < ${p}xout.tmp Y N EOF -echo yes | ./test-yesno${EXEEXT} 2 > ${p}out.tmp || exit 1 +echo yes | ./test-yesno${EXEEXT} 2 > ${p}out1.tmp || exit 1 +LC_ALL=C tr -d "$cr" < ${p}out1.tmp > ${p}out.tmp || exit 1 cmp ${p}xout.tmp ${p}out.tmp || exit 1 # Test for behavior on EOF cat < ${p}xout.tmp N EOF -./test-yesno${EXEEXT} ${p}out.tmp || exit 1 +./test-yesno${EXEEXT} ${p}out1.tmp || exit 1 +LC_ALL=C tr -d "$cr" < ${p}out1.tmp > ${p}out.tmp || exit 1 cmp ${p}xout.tmp ${p}out.tmp || exit 1 # Test for behavior when stdin is closed -./test-yesno${EXEEXT} 0 <&- > ${p}out.tmp 2> ${p}err.tmp && exit 1 +./test-yesno${EXEEXT} 0 <&- > ${p}out1.tmp 2> ${p}err.tmp && exit 1 +LC_ALL=C tr -d "$cr" < ${p}out1.tmp > ${p}out.tmp || exit 1 cmp ${p}xout.tmp ${p}out.tmp || exit 1 test -s ${p}err.tmp || exit 1