Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Ovid (2709)

Ovid
  (email not shown publicly)
http://publius-ovidius.livejournal.com/
AOL IM: ovidperl (Add Buddy, Send Message)

Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.

Journal of Ovid (2709)

Tuesday April 15, 2008
04:39 AM

Fighting a Losing Battle

[ #36155 ]

I've been fighting like mad on the TAP development list to keep future versions of TAP backwards-compatible. Though there's a bit of sympathy for my position, it appears that I'm being unanimously overruled. This has a strong potential for being the next version of TAP, along with a nested TAP document:

TAP version 13
ok 1 - foo
  begin 2 - nested
  1..2
  ok 1 - bar
  ok 2 - fribble
  end 2 - nested
ok 3 - fook

That is almost backwards compatible because older TAP parsers would ignore anything they don't recognize and thus see this:

TAP version 13
ok 1 - foo
ok 3 - fook

Since that jumps from ok 1 to ok 3, it's not valid TAP and your current Test::Harness will report it as a parse error. Thus, all tests pass, but you get a failure report. To make it valid TAP, you need to parse the nested section and embed a summary line:

TAP version 13
ok 1 - foo
  begin 2 - nested
  1..2
  ok 1 - bar
  ok 2 - fribble
  end 2 - nested
ok 2 - nested
ok 3 - fook

However, the objections to this were strong and many. If we move forward this, the next version of TAP will not be properly parseable unless you upgrade your test harness. Hopefully this will not occur too often.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • When this whole thing started, the whole point of nesting the tap was to have something like.

        ok 1 - Foo
            begin 1.1
            1..2
            ok 1 - foo
            ok 2 - bar
            end 1.1
        ok 2 - Bar

    What changed so suddenly that we can't work with dot-nested any more?
    • Anyone who really cares strongly about this should subscribe to the TAP development list [testanything.org]. It would be terribly unfair of me to try and summarize all of the arguments against backwards compatibility for two reasons:

      1. I'm biased and that might make me unconsciously misrepresent the arguments.
      2. Since I've not been convinced, I could be misunderstanding the arguments.

      There are also archives [testanything.org], but they're currently unavailable. I've dropped an email about the problem.

    • The archives are now available. You can read some of the reasons in the nested TAP thread [testanything.org].