* tests/tap-missing-plan-and-bad-exit.test: New test. * tests/Makefile.am (tap_with_common_setup_tests): Update. --- ChangeLog | 6 ++++ tests/Makefile.am | 1 + tests/tap-missing-plan-and-bad-exit.test | 43 ++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 0 deletions(-) create mode 100755 tests/tap-missing-plan-and-bad-exit.test
diff --git a/ChangeLog b/ChangeLog index bf629e1..2cb53d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-08-14 Stefano Lattarini <[email protected]> + + coverage: missing tap plan and non-zero exit status + * tests/tap-missing-plan-and-bad-exit.test: New test. + * tests/Makefile.am (tap_with_common_setup_tests): Update. + 2011-08-12 Stefano Lattarini <[email protected]> testsuite: fix an unportable use of sed diff --git a/tests/Makefile.am b/tests/Makefile.am index 7af1eb6..59a6d14 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1177,6 +1177,7 @@ tap-plan.test \ tap-plan-corner.test \ tap-plan-errors.test \ tap-plan-middle.test \ +tap-missing-plan-and-bad-exit.test \ tap-planskip.test \ tap-planskip-late.test \ tap-planskip-and-logging.test \ diff --git a/tests/tap-missing-plan-and-bad-exit.test b/tests/tap-missing-plan-and-bad-exit.test new file mode 100755 index 0000000..48c6fcc --- /dev/null +++ b/tests/tap-missing-plan-and-bad-exit.test @@ -0,0 +1,43 @@ +#! /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: +# - if a test script exits with non-zero status before printing the TAP +# plan, then the driver reports both "missing plan" and "exited with +# non-zero status" errors. + +parallel_tests=yes +. ./defs || Exit 1 + +cat > foo.test <<END +#!/bin/sh +exit 123 +END + +echo TESTS = foo.test > Makefile.am + +chmod a+x foo.test + +. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh" + +$MAKE check >stdout && { cat stdout; Exit 1; } +cat stdout +count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=2 + +grep '^ERROR: foo\.test - exited with status 123$' stdout +grep '^ERROR: foo\.test - missing test plan$' stdout + +: -- 1.7.2.3
