Hi,
I have had a problems with output when running tests, this happends, IE, when
perl output a warning.
warning_like
{
something() ;
} qr'Use of uninitialized value in substitution iterator' ;
I get the warning on the terminal which is boring when one works with a module
but worse when zealots (that would be Gabor) report it. Since I didn't
remember that the warnings were normal, I had to dig a bit to find that out.
While playing around I noticed that the above test could be written like this:
{
# grab the warning so it's not displayed on the terminal
# warning_like still works !!
local $SIG{'__WARN__'} = sub {} ;
warning_like
{
something() ;
} qr'Use of uninitialized value in substitution iterator';
}
I first thought that it would fail the test but it didn't. I added some
warnings and the warning_like did it's job properly.
BTW: Test::Warn suck a bit because it doesn't check the warning you emit but
the _first_ line of the warning you emit (hmm, time for a patch maybe).
Cheers, Nadim