-----Original Message-----In a way, because...
> skip > ok > PASS: test2.tap 1 > not ok > FAIL: test2.tap 2 > 1..2 ... it is your program's output that does not follow the specification. There are two basic styles of skipping in TAP. You can skip a single test result: ok 1 # skip reason or you can use the plan line to indicate that the entire test program is to be skipped: 1..0 # skip reason Sorry to be such a pimple, but I just tried: ========== script ========== #!/bin/bash echo test2.tap "$# [ $@ ]" >> test2.log echo I am a tap script >> test2.log echo 1..3 echo ok echo not ok echo ok 3 # skip reason ========== which yielded ========== PASS: test2.tap 1 FAIL: test2.tap 2 PASS: test2.tap 3 ================================= Testsuite summary for test 0.5 ================================= # TOTAL: 3 # PASS: 2 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 ================================ See src/test-suite.log ================================ ========== and ========== I would have expected a 'skip' not a PASS! And the comment isn't output w/wo TAP_LOG_DRIVER_FLAGS=--comments. However, 1..0 works if there is no test output, as in the output only containing 1..0 and nothing else. More than one test yields errors (# UNPLANNED). If this is an error on my part (which it may well be) then I am confused about your comment above.