automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FYI] {test-protocols} coverage: TAP errors after a "Bail out!" directiv


From: Stefano Lattarini
Subject: [FYI] {test-protocols} coverage: TAP errors after a "Bail out!" directive aren't reported
Date: Fri, 12 Aug 2011 13:48:44 +0200

This is compatible with the behaviour of the `prove' utility.

* tests/tap-bailout-suppress-later-errors.test: New test.
* tests/tap-bailout-badexit.test: Renamed ...
* tests/tap-bailout-suppress-badexit.test: ... to this, for
consistency.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
---
 ChangeLog                                          |   10 +++
 tests/Makefile.am                                  |    3 +-
 tests/Makefile.in                                  |    3 +-
 ...exit.test => tap-bailout-suppress-badexit.test} |    0
 tests/tap-bailout-suppress-later-errors.test       |   74 ++++++++++++++++++++
 5 files changed, 88 insertions(+), 2 deletions(-)
 rename tests/{tap-bailout-badexit.test => tap-bailout-suppress-badexit.test} 
(100%)
 create mode 100755 tests/tap-bailout-suppress-later-errors.test

diff --git a/ChangeLog b/ChangeLog
index c596fe5..42b23f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2011-08-12  Stefano Lattarini  <address@hidden>
 
+       coverage: TAP errors after a "Bail out!" directive aren't reported
+       This is compatible with the behaviour of the `prove' utility.
+       * tests/tap-bailout-suppress-later-errors.test: New test.
+       * tests/tap-bailout-badexit.test: Renamed ...
+       * tests/tap-bailout-suppress-badexit.test: ... to this, for
+       consistency.
+       * tests/Makefile.am (tap_with_common_setup_tests): Update.
+
+2011-08-12  Stefano Lattarini  <address@hidden>
+
        testsuite: reorganize tests on TAP plans
        * tests/tap-skip-whole.test: Rename ...
        * tests/tap-planskip.test: ... to this
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b44b0d5..376802f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1144,7 +1144,8 @@ testsuite-summary-count-many.log: 
extract-testsuite-summary
 tap_with_common_setup_tests = \
 tap-autonumber.test \
 tap-bailout.test \
-tap-bailout-badexit.test \
+tap-bailout-suppress-badexit.test \
+tap-bailout-suppress-later-errors.test \
 tap-color.test \
 tap-deps.test \
 tap-diagnostic.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index d136675..b205f56 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1384,7 +1384,8 @@ $(parallel_tests)
 tap_with_common_setup_tests = \
 tap-autonumber.test \
 tap-bailout.test \
-tap-bailout-badexit.test \
+tap-bailout-suppress-badexit.test \
+tap-bailout-suppress-later-errors.test \
 tap-color.test \
 tap-deps.test \
 tap-diagnostic.test \
diff --git a/tests/tap-bailout-badexit.test 
b/tests/tap-bailout-suppress-badexit.test
similarity index 100%
rename from tests/tap-bailout-badexit.test
rename to tests/tap-bailout-suppress-badexit.test
diff --git a/tests/tap-bailout-suppress-later-errors.test 
b/tests/tap-bailout-suppress-later-errors.test
new file mode 100755
index 0000000..19aa9e2
--- /dev/null
+++ b/tests/tap-bailout-suppress-later-errors.test
@@ -0,0 +1,74 @@
+#! /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:
+#  - A "Bail out!" directive causes the driver to ignore any TAP
+#    result or error in the rest of the following TAP stream.
+
+parallel_tests=yes
+. ./defs || Exit 1
+
+. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+# Various errors that can all be squashed into a single test script.
+cat > foo.test << 'END'
+1..5
+Bail out!
+# All possible test results.
+# Test out-of-order.
+ok 4
+# Extra TAP plan.
+1..2
+# Another bailout directive.
+Bail out! Not seen.
+# Stop now, with too few tests run.
+END
+
+# Tests run after a "SKIP" plan.
+cat > bar.test << 'END'
+1..0 # SKIP
+Bail out!
+ok 1
+END
+
+# Too many tests run.
+cat > baz.test << 'END'
+1..1
+ok 1
+Bail out!
+ok 2
+ok 3
+END
+
+TESTS='foo.test bar.test baz.test' $MAKE -e check >stdout \
+  && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=5 pass=1 fail=0 xpass=0 xfail=0 skip=1 error=3
+
+grep '^ERROR: foo\.test - Bail out!$' stdout
+grep '^ERROR: bar\.test - Bail out!$' stdout
+grep '^SKIP: bar\.test'               stdout
+grep '^ERROR: baz\.test - Bail out!$' stdout
+grep '^PASS: baz\.test 1$'            stdout
+
+$FGREP 'Not seen' stdout && Exit 1
+
+test `$FGREP -c ': foo.test' stdout` -eq 1
+test `$FGREP -c ': bar.test' stdout` -eq 2
+test `$FGREP -c ': baz.test' stdout` -eq 2
+
+:
-- 
1.7.2.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]