David E. Wheeler wrote:
> On Feb 5, 2009, at 12:34 PM, Michael G Schwern wrote:
> 
>> Though we don't have incremental TAP plans, Test::Builder can check that
>> you've run all the tests you said you'd run before you add more.  Thus...
>>
>>  use Test::More;
>>
>>  plan add => 2;
>>  pass;
>>
>>  plan add => 1;
>>  pass;           # failure
>>  pass;
>>
>> Thoughts?
> 
> All makes pretty good sense to me.

How should that plan violation be expressed?  Making a passing test fail is
wrong, because the test didn't fail, it's a plan violation.  I can make the
plan addition itself a test, but only if it fails.

So this...

  use Test::More;

  plan add => 2;
  pass("First test");

  plan add => 1;
  pass("Second test");
  pass("Third test");

Might produce:

  # Planning 2 more tests at foo.t line 3.
  ok 1 - First test
  not ok 2 - 2 tests were planned but only 1 was run
  # Failed test "2 tests were planned but only 1 was run"
  # at foo.t line 6.
  # Planning 1 more test at foo.t line 6.
  ok 3 - Second test
  ok 4 - Third test
  1..3

Or would that be 1..4?  Having an overall plan violation on top of the plan
addition failure seems a bit much, because the number of tests run was correct
(until we added one of our own).


-- 
170. Not allowed to "defect" to OPFOR during training missions.
    -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army
           http://skippyslist.com/list/

Reply via email to