Fergal Daly wrote:
>> #!perl
>>
>> use Test::More tests=>1;
>> use Test::Builder::Tester;
>>
>> test_out('not ok 1 - use Fcntl;');
>> test_fail(+1);
>> use_ok 'Fcntl', 'Pie';
>> test_test( "Fails for bad export");
>> __END__
>>
>
> alternatively
>
> use Test::Tester;
> use Test::More tests => 1;
>
> check_test(sub { use_ok('Fcntl', 'Pie') },
> {ok => 0,
> name => "use Fcntl;"},
> "Fails for bad export")
>
> which is approximately as verbose but doesn't require you to track
> test numbers or worry about line numbers (all handled automatically)
> and allows you run blocks of code containing multiple tests,
The important thing is not just testing use_ok(), but testing use_ok() when
the -c Perl flag is set (think B::Deparse or perlcc) and HARNESS_ACTIVE is
true to test that bug. Normally this would require a system() call, but you
can cheat.
{
local $ENV{HARNESS_ACTIVE} = 1;
local $^C = 1;
require Test::More;
Test::More->import(tests => 1);
use_ok("Fcntl", "Pie")
}
--
If at first you don't succeed--you fail.
-- "Portal" demo