in reply to Re^2: What is the proper way to suppress a warning in a test file?
in thread What is the proper way to suppress a warning in a test file?

How do you check for the "specific warning that definitely should not happen?"

I have a simple little function that I include in my test libraries, for example:

sub warns (&) { my $sub = shift; my @warns; { local $SIG{__WARN__} = sub { push @warns, shift }; $sub->() } return wantarray ? @warns : scalar @warns; }

Then I'll use it like this:

sub some_module_code { my $arg = shift; warn "Some custom warning about $arg"; } my @w = warns { some_module_code("foo"); }; is grep({/\bSome custom warning\b/i} @w), 1; is grep({/\bUse of uninitialized value\b/i} @w), 0;