]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
testsuite: one more use of TAP in our own tests
authorStefano Lattarini <stefano.lattarini@gmail.com>
Wed, 3 Aug 2011 12:29:52 +0000 (14:29 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Wed, 3 Aug 2011 12:34:35 +0000 (14:34 +0200)
* tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
into ...
* tests/tap-bad-prog.tap: ... this TAP-generating test.
* tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
and plan-bad-prog2.test.
(XFAIL_TESTS): Remove plan-bad-prog2.test.
(plan-bad-prog2.log): Remove.

ChangeLog
tests/Makefile.am
tests/Makefile.in
tests/tap-bad-prog.tap [moved from tests/tap-bad-prog.test with 58% similarity]
tests/tap-bad-prog2.test [deleted file]

index b9d97c6c1f8ae0a7d76bbcabc10dfe70d00d0c07..5d2757311fa441280dc6b65efac0dec9e8cfbce6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       testsuite: one more use of TAP in our own tests
+       * tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
+       into ...
+       * tests/tap-bad-prog.tap: ... this TAP-generating test.
+       * tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
+       and plan-bad-prog2.test.
+       (XFAIL_TESTS): Remove plan-bad-prog2.test.
+       (plan-bad-prog2.log): Remove.
+
 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
 
        testsuite: scaffolding to allow use of TAP in our own tests
index 3e9267b92883514425ac8df1a1aeee2cb39e92e7..43ada56a12438d0824cf42e17efd40a636e47ba7 100644 (file)
@@ -31,7 +31,6 @@ gcj6.test \
 override-conditional-2.test \
 pr8365-remake-timing.test \
 yacc-dist-nobuild-subdir.test \
-tap-bad-prog2.test \
 tap-plan-corner2.test \
 tap-message-0.test \
 tap-signal.test \
@@ -1185,8 +1184,7 @@ EXTRA_DIST += tap-setup.sh
 # Other tests on TAP support.
 tap_other_tests = \
 tap-common-setup.test \
-tap-bad-prog.test \
-tap-bad-prog2.test \
+tap-bad-prog.tap \
 tap-basic.test \
 tap-doc.test \
 tap-doc2.test \
@@ -1197,8 +1195,6 @@ tap-recheck.test \
 tap-summary.test \
 tap-summary-color.test
 
-tap-bad-prog2.log: tap-bad-prog.log
-
 tap-summary.log tap-summary-color.log: tap-summary-aux.sh
 EXTRA_DIST += tap-summary-aux.sh
 
index 8f7809d9ece8f358b000dce547395130a998a0d7..9052c93cb866f7c5334833ec3d8946a71522219d 100644 (file)
@@ -285,9 +285,9 @@ EXTRA_DIST = ChangeLog-old gen-parallel-tests instspc-tests.sh \
        extract-testsuite-summary tap-setup.sh tap-summary-aux.sh
 XFAIL_TESTS = all.test auxdir2.test cond17.test gcj6.test \
        override-conditional-2.test pr8365-remake-timing.test \
-       yacc-dist-nobuild-subdir.test tap-bad-prog2.test \
-       tap-plan-corner2.test tap-message-0.test tap-signal.test \
-       txinfo5.test $(instspc_xfail_tests)
+       yacc-dist-nobuild-subdir.test tap-plan-corner2.test \
+       tap-message-0.test tap-signal.test txinfo5.test \
+       $(instspc_xfail_tests)
 parallel_tests = backcompat5-p.test check-exported-srcdir-p.test \
        check-fd-redirect-p.test check-tests-in-builddir-p.test \
        check-p.test check11-p.test check12-p.test check2-p.test \
@@ -1417,8 +1417,7 @@ tap_with_common_setup_logs = $(tap_with_common_setup_tests:.test=.log)
 # Other tests on TAP support.
 tap_other_tests = \
 tap-common-setup.test \
-tap-bad-prog.test \
-tap-bad-prog2.test \
+tap-bad-prog.tap \
 tap-basic.test \
 tap-doc.test \
 tap-doc2.test \
@@ -1893,8 +1892,6 @@ testsuite-summary-count-many.log: extract-testsuite-summary
 # Their dependencies.
 $(tap_with_common_setup_logs): tap-common-setup.log tap-setup.sh
 
-tap-bad-prog2.log: tap-bad-prog.log
-
 tap-summary.log tap-summary-color.log: tap-summary-aux.sh
 
 # Dependencies valid for each test case.
similarity index 58%
rename from tests/tap-bad-prog.test
rename to tests/tap-bad-prog.tap
index 4c070cea3f2d23b8bcf3ed999df3393a81286f0b..2dee975a7e21d53b26b1f51a3e8eb88eba52ba35 100755 (executable)
@@ -18,9 +18,6 @@
 #  - missing, unreadable, or not-executable test scripts cause proper
 #    error reports
 
-# The files created by this test will be required also by the sister
-# test `tap-bad-prog2.test', so we can't remove the test directory.
-keep_testdirs=yes
 parallel_tests=yes
 . ./defs || Exit 1
 
@@ -44,25 +41,46 @@ echo 1..1
 ok 1
 END
 
-./noexec.test && skip_ "can't have non-executable files"
-
 cp noexec.test noread.test
 chmod a-r noread.test
 
-test -r noread.test && skip_ "you can still read unreadable files"
-
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
 
 ./configure
 
-$MAKE check >stdout && { cat stdout; Exit 1; }
+if $MAKE check >stdout; then r='not ok'; else r='ok'; fi
 cat stdout
+result_ "$r" '"make check" returns non-zero exit status'
+
+# FIXME: maybe grep for stricter error messages in the next checks?
+
+command_ok_ "non-existent test is reported" \
+            grep '^ERROR: none\.test' stdout
+
+desc="non-executable test is reported"
+if ./noexec.test; then
+  skip_ -r "any file is executable" "$desc"
+else
+  command_ok_ "$desc" -- grep '^ERROR: noexec\.test' stdout
+fi
+
+desc="non-readable test is reported"
+if test -r noread.test; then
+  skip_ -r "any file is readable" "$desc"
+else
+  command_ok_ "$desc" -- grep '^ERROR: noread\.test' stdout
+fi
 
-# FIXME: maybe better error messages?
-grep '^ERROR: none\.test' stdout
-grep '^ERROR: noexec\.test' stdout
-grep '^ERROR: noread\.test' stdout
+# Check that no spurious test results is reported.  This is lower-priority
+# (and in fact the check currently fails.
+if count_test_results total=3 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=3
+then
+  r='ok'
+else
+  r='not ok'
+fi
+result_ "$r" 'no spurious results # TODO still get "missing plan"'
 
 :
diff --git a/tests/tap-bad-prog2.test b/tests/tap-bad-prog2.test
deleted file mode 100755 (executable)
index 5d4a47e..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# TAP support:
-#  - missing, unreadable, or not-executable test scripts cause the
-#    proper amount of "ERROR" results
-
-. ./defs || Exit 1
-
-# For this test, we completely rely on the data obtained by sister test
-# `tap-bad-prog.test'.
-cp ../tap-bad-prog.dir/stdout . \
-  || fatal_ "can't get data from sister test 'test-bad-prog'"
-cat stdout
-count_test_results total=3 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=3
-
-: