test-perror: rewrite to use init script
authorEric Blake <eblake@redhat.com>
Fri, 20 May 2011 14:57:54 +0000 (08:57 -0600)
committerEric Blake <eblake@redhat.com>
Fri, 20 May 2011 15:00:22 +0000 (09:00 -0600)
Make the test simpler, and also check for correct exit status.

* modules/perror-tests (Files): Add init.sh.
* tests/test-perror.sh: Use temporary directory.

Signed-off-by: Eric Blake <eblake@redhat.com>
ChangeLog
modules/perror-tests
tests/test-perror.sh

index f42002cbf6a6edcd7e17dd2bf865be3128b046c6..30bccca375aa517fa696c2e6dadc6eb9bfd6596d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-20  Eric Blake  <eblake@redhat.com>
+
+       test-perror: rewrite to use init script
+       * modules/perror-tests (Files): Add init.sh.
+       * tests/test-perror.sh: Use temporary directory.
+
 2011-05-20  Jim Meyering  <meyering@redhat.com>
 
        maint: replace misused "a" with "an"
index 867f920260adde495e8e4d437776bf9b082f50d2..bad23fd9c6a61b4ea42577f38a0023d4d392d26d 100644 (file)
@@ -1,4 +1,5 @@
 Files:
+tests/init.sh
 tests/signature.h
 tests/test-perror.c
 tests/test-perror.sh
index f2c8fdc3367b382adb15e0957a09198abe3253fe..28027ea58eaa4950477ba101053eb771811e2bb5 100755 (executable)
@@ -1,27 +1,24 @@
 #!/bin/sh
-
-tmpfiles=""
-trap 'rm -fr $tmpfiles' 1 2 3 15
+: ${srcdir=.}
+. "$srcdir/init.sh"; path_prepend_ .
 
 # Test NULL prefix. Result should not contain a number.
-tmpfiles="$tmpfiles t-perror.tmp"
-./test-perror${EXEEXT} 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror.tmp
-if grep '[0-9]' t-perror.tmp > /dev/null; then
-  rm -fr $tmpfiles; exit 1
-fi
+test-perror 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror.tmp
+grep '[0-9]' t-perror.tmp > /dev/null \
+  && fail_ "result should not contain a number"
 
 # Test empty prefix. Result should be the same.
-tmpfiles="$tmpfiles t-perror1.tmp"
-./test-perror${EXEEXT} '' 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror1.tmp
-diff t-perror.tmp t-perror1.tmp
-test $? = 0 || { rm -fr $tmpfiles; exit 1; }
+test-perror '' 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror1.tmp
+diff t-perror.tmp t-perror1.tmp \
+  || fail_ "empty prefix should behave like NULL argument"
 
 # Test non-empty prefix.
-tmpfiles="$tmpfiles t-perror2.tmp t-perror3.tmp"
-./test-perror${EXEEXT} 'foo' 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror3.tmp
+test-perror foo 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror3.tmp
 sed -e 's/^/foo: /' < t-perror.tmp > t-perror2.tmp
-diff t-perror2.tmp t-perror3.tmp
-test $? = 0 || { rm -fr $tmpfiles; exit 1; }
+diff t-perror2.tmp t-perror3.tmp || fail_ "prefix applied incorrectly"
+
+# Test exit status.
+test-perror >out 2>/dev/null || fail_ "unexpected exit status"
+test -s out && fail_ "unexpected output"
 
-rm -fr $tmpfiles
 exit 0