uni-perl
view release on metacpan or search on metacpan
t/04-warns.t view on Meta::CPAN
101112131415161718192021222324252627282930313233343536373839404142434445464748495051
reserved parenthesis taint closure semicolon);
no
warnings
qw(exec newline)
;
=cut
sub DIAG () { 0 }
my $unopened = 10;
open my $closed, '>', \(my $o = "");close $closed;
open my $raw, '>:raw', \(my $x = "");
sub test_warn_die(&;@) {
my $code = shift;
my $name = shift;
my $warn = 0;
my $die = 0;
local $SIG{__WARN__} = sub {
$warn = 1;
DIAG and diag "$name should not: @_"
};
local $SIG{__DIE__} = sub { $die = 1; };
my $rc = eval {
$code->();
1};
my $e = $@;
ok !$warn, "$name - no warn";
ok $die, "$name - died";
ok !$rc, "$name - eval failed";
ok $e, "$name - have error" and DIAG and diag $e;
}
sub test_no_warn(&;@) {
my $code = shift;
my $name = shift;
my $warn = 0;
local $SIG{__WARN__} = sub {
$warn = 1;
diag "$name: @_";
};
$code->();
ok !$warn, "$name - no warn";
}
( run in 0.451 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )