6 BEGIN { delete $ENV{PATH} }
8 use Test::Valgrind::Session;
10 use Test::More tests => 7;
13 use Test::Valgrind::FakeValgrind;
15 my $sess = eval { Test::Valgrind::Session->new(
18 like $@, qr/^Empty valgrind candidates list/, 'no search_dirs';
20 $sess = eval { Test::Valgrind::Session->new(
23 like $@, qr/^No appropriate valgrind executable/, 'nonexistant valgrind';
26 skip 'Only on linux or darwin' => 5 unless $^O eq 'linux' or $^O eq 'darwin';
28 my $old_vg = Test::Valgrind::FakeValgrind->new(
31 skip $old_vg => 5 unless ref $old_vg;
33 my $sess = eval { Test::Valgrind::Session->new(
34 valgrind => $old_vg->path,
35 min_version => '3.1.0',
37 like $@, qr/^No appropriate valgrind executable/, 'old valgrind';
39 my $new_vg = Test::Valgrind::FakeValgrind->new(
42 skip $new_vg => 4 unless ref $new_vg;
44 $sess = eval { Test::Valgrind::Session->new(
45 valgrind => $new_vg->path,
46 min_version => '3.1.0',
48 is $@, '', 'new valgrind';
49 isa_ok $sess, 'Test::Valgrind::Session', 'new valgrind isa Test::Valgrind::Session';
51 $sess = eval { Test::Valgrind::Session->new(
53 valgrind => [ $old_vg->path, $new_vg->path ],
54 min_version => '3.1.0',
56 is $@, '', 'old and new valgrind';
57 isa_ok $sess, 'Test::Valgrind::Session', 'old and new valgrind isa Test::Valgrind::Session';