With Test::Builder 0.80

$ perl -c ~/test/bang.t 
/home/netbanx/test/bang.t syntax OK
$ cat ~/test/bang.t 
#!perl

use Test::More tests=>1;

BEGIN {use_ok 'Fcntl', 'Pie'};

__END__
$ perl -c ~/test/bang.t 
/home/netbanx/test/bang.t syntax OK
$ HARNESS_ACTIVE=1 perl -c ~/test/bang.t 
Can't use an undefined value as a symbol reference at 
/usr/local/share/perl/5.8.8/Test/Builder.pm line 1275.
BEGIN failed--compilation aborted at /home/netbanx/test/bang.t line 5


I see that this is fixed in svn by r691:

http://code.google.com/p/test-more/source/diff?spec=svn691&r=691&format=side&path=/trunk/lib/Test/Builder.pm

    Added note() and explain().

    explain() does not print to allow you to choose if you want the results to
    be a note or a diag.

But it seems that this bug is only fixed as a side effect of that change, and
it's not actually tested for. What's the best way to write a test that fits
within the current frameworks to prevent any regression?
It's not obvious to me how to make use_ok() test for failure.

Nicholas Clark

Reply via email to