]> git.ipfire.org Git - thirdparty/automake.git/commit
tap: scripts with a SKIP plan but with exit status != 0 must error
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sat, 6 Aug 2011 18:21:18 +0000 (20:21 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Sat, 6 Aug 2011 18:21:18 +0000 (20:21 +0200)
commit265671e4e2cbd32efaf71595db19b37f97290b69
tree0f0d9b1a2db55e3b5b5e5a95539a97d31e11dd06
parent2a792eb24810033314f675b4e65efbdd9348b706
tap: scripts with a SKIP plan but with exit status != 0 must error

This change has been motivated by Automake's own testsuite.  Some
TAP tests there were erroring out (due to unexpected, unhandled
failures) before having encountered TAP result, so that the
simple-minded shell library implementing TAP generation ended up
printing a "1..0" trailing test plan; this caused the script to be
reported as a SKIP rather than an ERROR -- a nasty false negative.

* lib/tap-driver: Add prototypes for each subroutine, to free up
the order in which they can be defined and called.
(main): Move the code checking for a bad exit status of the TAP
producer ...
(finish): ... here, and flush the TAP stream to ensure that the
parser always obtains the producer's exit status.
* tests/tap-skip-whole-badexit.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Add it.
ChangeLog
lib/tap-driver
tests/Makefile.am
tests/Makefile.in
tests/tap-skip-whole-badexit.test [new file with mode: 0755]