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.
Re:WTF?
Ovid on 2008-04-15T11:48:03
Anyone who really cares strongly about this should subscribe to the TAP development list. It would be terribly unfair of me to try and summarize all of the arguments against backwards compatibility for two reasons:
- I'm biased and that might make me unconsciously misrepresent the arguments.
- Since I've not been convinced, I could be misunderstanding the arguments.
There are also archives, but they're currently unavailable. I've dropped an email about the problem.
Re:WTF?
Ovid on 2008-04-15T13:53:48
The archives are now available. You can read some of the reasons in the nested TAP thread.