uni-perl

 view release on metacpan or  search on metacpan

t/04-warns.t  view on Meta::CPAN

                    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 1.456 second using v1.01-cache-2.11-cpan-49f99fa48dc )