]> git.vpit.fr Git - perl/modules/Test-Valgrind.git/blob - t/30-skip.t
f693a29822c705fc1f3cd86bc7674c226e33a165
[perl/modules/Test-Valgrind.git] / t / 30-skip.t
1 #!perl
2
3 use strict;
4 use warnings;
5
6 use lib 't/lib';
7 use VPIT::TestHelpers 'capture';
8
9 use Test::More tests => 3;
10
11 use Test::Valgrind::FakeValgrind;
12
13 SKIP: {
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';
18 }
19
20 SKIP: {
21  skip 'Only on linux or darwin' => 1 unless $^O eq 'linux' or $^O eq 'darwin';
22
23  my $old_vg = Test::Valgrind::FakeValgrind->new(
24   exe_name => 'valgrind',
25   version  => '3.0.0',
26  );
27  skip $old_vg => 1 unless ref $old_vg;
28  my $tmp_dir = $old_vg->dir;
29
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';
34 }
35
36 SKIP: {
37  skip 'Only on linux or darwin' => 1 unless $^O eq 'linux' or $^O eq 'darwin';
38
39  my $new_vg = Test::Valgrind::FakeValgrind->new(
40   exe_name => 'valgrind',
41   version  => '3.4.0',
42  );
43  skip $new_vg => 1 unless ref $new_vg;
44  my $tmp_dir = $new_vg->dir;
45
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';
50 }
51