This is because skip_all exists immediately but Test::NoWarnings has
installed an END block that will run a test anyway. I suppose I should
change T::NW to detect "skip_all" and not run its test but at the
moment there is no T::B API for detecting "skip_all".

MScwern, do you want to add one? What about BAIL_OUT?

F


2008/5/15 Gabor Szabo <[EMAIL PROTECTED]>:
> Yesterday I was happy to notice that you can use Test::Warn together with
> Test::NoWarnings.
> So you can test for a watning in a specific test while testing that
> nothing else gives a warning.\
> Good.     :-)
>
> Today I found out that if you skip_all tests while you have
> Test::NoWarnings your test
> will fail.
> Bad.    :-(
>
>
> Gabor
>
>
> The following code:
>
> ===============
>
> use Test::More;
> use Test::NoWarnings;
>
> plan skip_all => 'Why not?';
> plan tests => 2;
>
> ok(1)
>
> ===============
>
> gives this output:
>
> 1..0 # Skip Why not?
> You tried to run a test without a plan at
> /root/perl5lib/lib/Test/NoWarnings.pm line 45.
> END failed--call queue aborted.
>
> ===============
>
> and prove gives this:
>
> ===============
>
> t/w......You tried to run a test without a plan at
> /root/perl5lib/lib/Test/NoWarnings.pm line 45.
> END failed--call queue aborted.
> t/w......skipped: Why not?
>
> Test Summary Report
> -------------------
> t/w.t (Wstat: 65280 Tests: 0 Failed: 0)
>  Non-zero exit status: 255
> Files=1, Tests=0,  0 wallclock secs ( 0.01 usr  0.01 sys +  0.04 cusr
> 0.00 csys =  0.06 CPU)
> Result: FAIL
>
>
> ===============
>

Reply via email to