1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
use strict;
use warnings;
# Tests dieing on Can't use string ... as a subroutine ref while "strict refs" in use
# that used to core dump (RT#86638)
# https://rt.cpan.org/Ticket/Display.html?id=86638
use Test::More;
use lib qw(t/lib);
use NYTProfTest;
use Devel::NYTProf::Run qw(profile_this);
my $src_code = join("", <DATA>);
run_test_group( {
extra_options => {
start => 'begin',
compress => 1,
calls => 0,
savesrc => 0,
stmts => 0,
slowops => 0,
},
extra_test_count => 2,
extra_test_code => sub {
my ($profile, $env) = @_;
$profile = profile_this(
src_code => $src_code,
out_file => $env->{file},
skip_sitecustomize => 1,
);
isa_ok $profile, 'Devel::NYTProf::Data';
# check if data was truncated
ok $profile->{attribute}{complete};
},
});
__DATA__
#!perl
use strict;
# Can't use string ("") as a subroutine ref while "strict refs" in use at - line 4.
eval { $x::z->() };
die $@ if $@ !~ /^Can't use .* as a subroutine ref/;
|