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