Subject: Re: bug#20715: tap-driver.sh 'missing test plan' message contradicts the TAP Standard

From: Nick Bowler <[email-masked]>
Date: Tue, 2 Jun 2015 09:40:40 -0400

On 2015-06-01 14:45 -0700, Arthur Schwarz wrote:
> http://testanything.org/
> 
> Explicitly specifies that a test plan is optional.
[...]
> The operand part of this paragraph is " The plan is optional ..." which
> directly contradicts "It must appear once ...". Your diagnostic message is
> either incorrect, or more likely, there should be a statement in the
> Automake Manual providing guidance.

The plan line has to be mandatory for this feature to work as
intended (i.e., for the TAP consumer to determine whether a
producer has run to completion or not).  An optional plan would
be useless.

Other TAP consumers behave similarly to Automake's in this regard.
Take prove for example, the de-facto reference implementation of a
TAP consumer, which outputs a similar error message:

  % prove -ve sh test.sh
  test.sh .. 
  ok 1
  All 1 subtests passed 

  Test Summary Report
  -------------------
  test.sh (Wstat: 0 Tests: 1 Failed: 0)
    Parse errors: No plan found in TAP output
  Files=1, Tests=1,  0 wallclock secs ( 0.03 usr +  0.00 sys =  0.03 CPU)
  Result: FAIL

The bug is in the TAP documentation.

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)