7 use VPIT::TestHelpers 'capture';
9 use Test::More tests => 3;
11 use Test::Valgrind::FakeValgrind;
14 my ($stat, $out, $err) = capture_perl 'BEGIN { delete $ENV{PATH} } use Test::Valgrind; 1';
15 skip CAPTURE_PERL_FAILED($out) => 1 unless defined $stat;
16 like $out, qr/^1..0 # SKIP Empty valgrind candidates list/,
17 'correctly skip when no valgrind is available';
21 skip 'Only on linux or darwin' => 1 unless $^O eq 'linux' or $^O eq 'darwin';
23 my $old_vg = Test::Valgrind::FakeValgrind->new(
24 exe_name => 'valgrind',
27 skip $old_vg => 1 unless ref $old_vg;
28 my $tmp_dir = $old_vg->dir;
30 my ($stat, $out, $err) = capture_perl "BEGIN { \$ENV{PATH} = q[$tmp_dir] } use Test::Valgrind; 1";
31 skip CAPTURE_PERL_FAILED($out) => 1 unless defined $stat;
32 like $out, qr/^1..0 # SKIP No appropriate valgrind executable could be found/,
33 'correctly skip when no good valgrind was found';
37 skip 'Only on linux or darwin' => 1 unless $^O eq 'linux' or $^O eq 'darwin';
39 my $new_vg = Test::Valgrind::FakeValgrind->new(
40 exe_name => 'valgrind',
43 skip $new_vg => 1 unless ref $new_vg;
44 my $tmp_dir = $new_vg->dir;
46 my ($stat, $out, $err) = capture_perl "BEGIN { \$ENV{PATH} = q[$tmp_dir] } use Test::Valgrind no_def_supp => 1, extra_supps => [ q[t/supp/no_perl] ]; 1";
47 skip CAPTURE_PERL_FAILED($out) => 1 unless defined $stat;
48 like $out, qr/^1..0 # SKIP No compatible suppressions available/,
49 'correctly skip when no compatible suppressions were available';