in reply to Re: 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?

Interesting. I guess the biggest reason I keep it around is the "uninitialized value" warning as well as other warnings that signal my code is sloppy. How do you check for the "specific warning that definitely should not happen?"

$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate Priest Vicar";
$nysus = $PM . ' ' . $MCF;
Click here if you love Perl Monks

  • Comment on Re^2: What is the proper way to suppress a warning in a test file?

Replies are listed 'Best First'.
Re^3: What is the proper way to suppress a warning in a test file?
by haukex (Archbishop) on Nov 08, 2018 at 19:05 UTC
    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;