David Cantrell wrote:
> On Thu, Feb 15, 2007 at 11:48:57AM +0000, Adrian Howard wrote:
>> Probably being stupid... but if you can point me towards the  
>> difference between
>>   http://www.nntp.perl.org/group/perl.cpan.testers/2007/02/msg415380.html
>> and
>>   http://www.nntp.perl.org/group/perl.cpan.testers/2007/02/msg415375.html
>> I'd appreciate it. Looks like the output of different T::B versions,  
>> but they seem to be running on identical ones. Me confused.
> 
> It's this:
>   PERL5LIB =
> vs this
>   PERL5LIB = /blah/blah/Test-Simple-0.67/blah
> 
> The version of Test::Simple distributed with perl 5.6.2, which is
> presumably being used by one of your dependencies, is 0.47, so one
> result was testing with the earlier version, the other with the current
> version.  There was an API change in 0.48.

This is not the result of the 0.48 API change which had to do with threading.

This comes from the OMGYOUBROKECPAN! diagnostics formatting change in 0.60_01.

Let me make this very clear once again, just so everyone knows:
*-->THERE WAS NO API CHANGE BECAUSE THERE IS NO API TO CHANGE<--*

This is not to be pedantic but a very real warning not to rely on the 
formatting of Test::More's diagnostic output.  It changes.  The only safe way 
to do it is through Test::Builder::Tester.  This sucks but I'm not going to 
freeze my formatting and its a lame way to scrape extra information out of the 
tests anyway.  If you want to do something about it help with this:
http://perl-qa.yi.org/index.php/TAP_diagnostic_syntax

The change in 0.60_01 broke TBT which then caused a cascade failure through all 
the rest of the testing modules.  TBT is now shipped with Test-Simple to avoid 
their falling out of sync.  Looks like they managed it anyway.

Here's how the diagnostics have changed over time.

0 windhund ~/releases/Test-Simple-0.60$ perl -Ilib -wle 'use Test::More tests 
=> 1;  fail'
1..1
not ok 1
#     Failed test (-e at line 1)
# Looks like you failed 1 test of 1.

0 windhund ~/releases/Test-Simple-0.62$ perl -Ilib -wle 'use Test::More tests 
=> 1;  fail'
1..1
not ok 1
#   Failed test in -e at line 1.
# Looks like you failed 1 test of 1.

And then again in 0.64_01.

$ perl -wle 'use Test::More tests => 1; fail' 
1..1
not ok 1
#   Failed test at -e line 1.
# Looks like you failed 1 test of 1.

The purpose of that last one was so it reports the file/line like Perl does.

$ perl -wle 'die'
Died at -e line 1.


> While everyone seems to just upgrade Test::Simple and to hell with the 
> consequences, 
> I can't help but feel some concern about this practice.

You'll note the sky remained firmly overhead during that last formatting change.

Reply via email to