diff options
author | Eric Blake <eblake@redhat.com> | 2011-05-24 16:54:17 -0600 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2011-05-24 17:22:37 -0600 |
commit | 6ff1e78673e4161168b8c657eed78e86c9cc29c7 (patch) | |
tree | 70a10a5d77b1a7ddba4bb4633a7c8f328d315a1c | |
parent | fc9b0f6cfa9e0e148a79e51150c8171d617474f2 (diff) | |
download | gnulib-6ff1e78673e4161168b8c657eed78e86c9cc29c7.tar.gz |
yesno-tests: convert to init.sh
* modules/yesno-tests (Files): Add init.sh.
* tests/test-yesno.sh: Use it.
Signed-off-by: Eric Blake <eblake@redhat.com>
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | modules/yesno-tests | 1 | ||||
-rwxr-xr-x | tests/test-yesno.sh | 56 |
3 files changed, 29 insertions, 32 deletions
@@ -1,5 +1,9 @@ 2011-05-24 Eric Blake <eblake@redhat.com> + yesno-tests: convert to init.sh + * modules/yesno-tests (Files): Add init.sh. + * tests/test-yesno.sh: Use it. + atexit-tests: ensure reliable exit status * tests/test-atexit.sh: Prefer 'Exit' over 'exit'. Reported by Bruno Haible. diff --git a/modules/yesno-tests b/modules/yesno-tests index 01ba8e1de6..3e1e0a2de1 100644 --- a/modules/yesno-tests +++ b/modules/yesno-tests @@ -1,4 +1,5 @@ Files: +tests/init.sh tests/test-yesno.c tests/test-yesno.sh diff --git a/tests/test-yesno.sh b/tests/test-yesno.sh index b1a5b65b85..5e5ed407f5 100755 --- a/tests/test-yesno.sh +++ b/tests/test-yesno.sh @@ -1,10 +1,6 @@ #!/bin/sh - -tmpfiles= -trap 'rm -fr $tmpfiles' 1 2 3 15 - -p=t-yesno- -tmpfiles="${p}in.tmp ${p}xout.tmp ${p}out1.tmp ${p}out.tmp ${p}err.tmp" +: ${srcdir=.} +. "$srcdir/init.sh"; path_prepend_ . # For now, only test with C locale LC_ALL=C @@ -19,7 +15,7 @@ else fi # Test with seekable stdin; the followon process must see remaining data. -tr @ '\177' <<EOF > ${p}in.tmp +tr @ '\177' <<EOF > in.tmp nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn - entire line consumed y@n - backspace does not change result y @@ -27,7 +23,7 @@ does not match either yesexpr or noexpr n EOF -cat <<EOF > ${p}xout.tmp +cat <<EOF > xout.tmp N Y Y @@ -35,40 +31,36 @@ N n EOF -(./test-yesno${EXEEXT}; ./test-yesno${EXEEXT} 3; cat) \ - < ${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 +fail=0 +(test-yesno; test-yesno 3; cat) < in.tmp > out1.tmp || fail=1 +LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1 +cmp xout.tmp out.tmp || fail=1 -(./test-yesno${EXEEXT} 3; ./test-yesno${EXEEXT}; cat) \ - < ${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 3; test-yesno; cat) < in.tmp > out1.tmp || fail=1 +LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1 +cmp xout.tmp out.tmp || fail=1 # Test for behavior on pipe -cat <<EOF > ${p}xout.tmp +cat <<EOF > xout.tmp Y N EOF -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 +echo yes | test-yesno 2 > out1.tmp || fail=1 +LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1 +cmp xout.tmp out.tmp || fail=1 # Test for behavior on EOF -cat <<EOF > ${p}xout.tmp +cat <<EOF > xout.tmp N EOF -./test-yesno${EXEEXT} </dev/null > ${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 </dev/null > out1.tmp || fail=1 +LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1 +cmp xout.tmp out.tmp || fail=1 # Test for behavior when stdin is closed -./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 - -# Cleanup -rm -fr $tmpfiles +test-yesno 0 <&- > out1.tmp 2> err.tmp && fail=1 +LC_ALL=C tr -d "$cr" < out1.tmp > out.tmp || fail=1 +cmp xout.tmp out.tmp || fail=1 +test -s err.tmp || fail=1 -exit 0 +Exit $fail |