On Tuesday 15 January 2008 00:15:04 Ovid wrote:

> If alternate TAP producers don't want to implent die/bail on fail, so
> what?  As long as they aren't producing incompatible TAP, it's OK TO
> HAVE DIFFERENT FEATURES.

People who add an environment variable specific to the Perl 5 version of this 
new T::B workalike to their command line will not be pleasantly surprised 
when tests written in different languages or with different backends fail to 
produce the desired behavior.

Do you want to be in the business of explaining why this option works only 
sometimes for people who are merely running the tests, not writing the tests?

To forestall the rebuttal of "Well people shouldn't know these details!", 
consider how easy it is to hide features from people when you ship the source 
code and talk about the features in public on archived mailing lists 
searchable the world over.

Now consider how much less you have to explain if you stick this feature where 
it belongs, in a harness program.  Suddenly it works for all TAP producers no 
matter how they produce TAP and you don't have to explain the internals of 
how they produce TAP to explain why this feature mysteriously fails 
sometimes, because it doesn't mysteriously fail sometimes.

What do you get out of die/bail on fail that justifies breaking the 
encapsulation of the feature so badly?

-- c

Reply via email to