| line |
true |
false |
branch |
|
113
|
9 |
7 |
if (defined $vg and not ref $vg) { } |
|
116
|
1 |
6 |
if defined $vg and ref $vg eq 'ARRAY' |
|
118
|
5 |
2 |
unless defined $dirs |
|
120
|
7 |
0 |
if defined $Config::Config{'exe_ext'} |
|
121
|
7 |
0 |
if ref $dirs eq 'ARRAY' |
|
124
|
1 |
15 |
unless @paths |
|
127
|
8 |
7 |
if (defined $min_version) |
|
133
|
36 |
10 |
unless defined $path and 'MM'->maybe_command($path) |
|
139
|
10 |
0 |
if (defined $ver) |
|
140
|
2 |
8 |
if defined $min_version and $ver < $min_version |
|
146
|
7 |
8 |
unless defined $valgrind |
|
150
|
8 |
0 |
unless $extra_supps and ref $extra_supps eq 'ARRAY' |
|
151
|
0 |
0 |
if defined $_ and -f $_ |
|
213
|
0 |
6 |
unless $_[0]{'extra_supps'} |
|
235
|
0 |
18 |
unless &Scalar::Util::blessed($value) and $value->isa($base) |
|
241
|
0 |
6 |
if ($cmd->isa('Test::Valgrind::Command::Aggregate')) |
|
256
|
0 |
6 |
if ($self->do_suppressions) { } |
|
259
|
0 |
6 |
unless ($self->no_def_supp) |
|
262
|
0 |
0 |
if ($self->regen_def_supp and -e $def_supp) |
|
266
|
0 |
0 |
if (defined $def_supp and not -e $def_supp) |
|
267
|
0 |
0 |
$forced ? : |
|
276
|
0 |
0 |
unless -e $def_supp |
|
283
|
0 |
0 |
if -e $_ |
|
285
|
0 |
6 |
if (@supp_files > 1) { } |
|
|
0 |
6 |
elsif (@supp_files) { } |
|
|
4 |
2 |
elsif ($self->allow_no_supp) { } |
|
307
|
0 |
4 |
unless pipe my $vrdr, my $vwtr |
|
314
|
0 |
4 |
unless pipe my $erdr, my $ewtr |
|
322
|
0 |
4 |
unless defined $pid |
|
324
|
2 |
2 |
if ($pid == 0) |
|
330
|
0 |
2 |
unless close $erdr |
|
334
|
0 |
2 |
unless close $vrdr |
|
336
|
0 |
2 |
unless fcntl $vwtr, 2, 0 |
|
366
|
0 |
2 |
unless close $vwtr |
|
367
|
0 |
2 |
unless close $ewtr |
|
374
|
1 |
3 |
if @ready == 1 and fileno $ready[0] == fileno $vrdr |
|
378
|
0 |
3 |
if (not defined $bytes_read) { } |
|
|
1 |
2 |
elsif ($bytes_read) { } |
|
381
|
1 |
0 |
unless $child_err |
|
385
|
1 |
1 |
if $child_err |
|
392
|
0 |
1 |
if ($aborted) |
|
398
|
1 |
1 |
unless (eval {
do {
local $SIG{'INT'} = sub {
die 'valgrind analysis was interrupted';
}
;
$self->_croak("close(\$vwtr): $!") unless close $vwtr;
$self->_croak("close(\$ewtr): $!") unless close $ewtr;
SEL: {
my $sel = 'IO::Select'->new($vrdr, $erdr);
my $child_err;
while (my(@ready) = $sel->can_read) {
do {
last SEL if @ready == 1 and fileno $ready[0] == fileno $vrdr;
my $buf;
my $bytes_read = sysread($erdr, $buf, 4096);
if (not defined $bytes_read) {
$self->_croak("sysread(\$erdr): $!");
}
elsif ($bytes_read) {
$sel->remove($vrdr) unless $child_err;
$child_err .= $buf;
}
else {
$sel->remove($erdr);
die $child_err if $child_err;
}
};
};
};
my $aborted = $self->parser->parse($self, $vrdr);
if ($aborted) {
$self->report($self->report_class->new_diag('valgrind has aborted'));
return 0;
};
1
}
}) |
|
400
|
1 |
0 |
if kill 0, $pid |
|
408
|
1 |
0 |
waitpid($pid, 0) == $pid ? : |
|
410
|
0 |
1 |
unless close $erdr |
|
411
|
0 |
1 |
unless close $vrdr |
|
416
|
1 |
0 |
if $error |
|
447
|
32 |
8 |
@_ <= 1 ? : |
|
|
24 |
8 |
@_ <= 1 ? : |
|
|
5 |
6 |
@_ <= 1 ? : |
|
|
32 |
8 |
@_ <= 1 ? : |
|
448
|
0 |
32 |
if $@ |
|
489
|
0 |
0 |
unless defined $tool_tag |
|
492
|
0 |
0 |
unless defined $cmd_tag |
|
519
|
0 |
6 |
unless ($self->no_def_supp) |
|
521
|
0 |
0 |
if defined $def_supp |
|
574
|
0 |
10 |
unless defined $report |
|
578
|
0 |
20 |
unless defined $report |
|
603
|
0 |
2 |
defined $status ? : |