Geoffrey Young wrote:
However, most perl tests don't care about TAP, they use Test::More and
Test::Harness and happen to exchange data via TAP.  If Test::More and
Test::Harness decied to use "YAP" (YAML Anything Protocol? :), then most
applications would probably never notice.

most _perl_ applications would never notice.

IMHO however this overhaul ends up playing out, TAPs current marvel is
that it's wonderfully simple and very forgiving - if the new version
isn't completely back compatible y'all should call it something else,
lest you risk alienating all the non-perl folks who embraced the
protocol because of it's simplicity.

in other words, call it TAP but break current non-perl TAP
implementations and I think you'll wipe out the userbase that some of us
spent a lot of effort trying to win over (and succeeding :)

Indeed, I think we were pretty much clear that under no circumstances whatsoever would we break full back-compatibility.

The idea of the extra mime-like things was to be able to provide some relatively simple and cross-language enhancements, so that, for example, if running tests with a higher verbosity, there could be some feedback to, say, an editor or a tool about the location of the errors.

This is part of why I dislike YAML for this. Regardless of what the marketing says, it isn't cross-language for anything more than trivial use cases, for example objects or !!perl-specific things.

As others have mentioned, the beauty of TAP is it's simplicity and accessibility. It Just Works across languages with almost no effort at all, can be done in pure-$your_language easily, and is generally quite forgiving.

In introducing some form of semi-standard enhancements (such as the failure diagnostics) I really don't want to lose this.

In using YAML, we're already adding a lot of extra weight, adding dependencies on C libraries, and tempting people into using the more ehnanced, non-platform-neutral features.

Lets at least let the YAML spec stop morphing and the language implementations become stable before we start thinking of making TAP inherit any baggage from other protocols by adding them as dependencies.

Fair enough a "Layer 1" TAP parser might not care, but why not make it as equally easy to implement a "Layer 2" parser as well.

Adam K

Reply via email to