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/;
