use strict; use lib '.'; use Test::More tests => 2; local $^W = 0; # Module::Build enables global warnings -- we need them off #--------------------------------------------------------------------------# # Harness to capture warnings #--------------------------------------------------------------------------# my $warning = ''; # store warnings local $SIG{__WARN__} = sub { $warning = shift; }; # return and clear sub check_warning { my $val = $warning; $warning = ''; return $val; } #--------------------------------------------------------------------------# # Test warning propogation #--------------------------------------------------------------------------# # Catch warning require t::Sample::HasWarnings; like( check_warning(), qr/^Argument "" isn't numeric in addition/, "Warnings propogate when set_warnings(1)" ); # Ignore warning require t::Sample::IgnoreWarnings; is( check_warning(), q{}, "Warnings don't propogate when set_warnings(0)" );