line |
true |
false |
branch |
111
|
9 |
7 |
if (defined $vg and not ref $vg) { } |
114
|
1 |
6 |
if $vg and ref $vg eq 'ARRAY' |
116
|
5 |
2 |
unless $dirs |
117
|
7 |
0 |
if ref $dirs eq 'ARRAY' |
120
|
1 |
15 |
unless @paths |
127
|
36 |
10 |
unless -x $_ |
129
|
10 |
0 |
if ($ver =~ /^valgrind-(\d+(\.\d+)*)/) |
130
|
4 |
6 |
if ($min_version) { } |
132
|
2 |
2 |
if $version < $min_version |
140
|
7 |
8 |
unless defined $valgrind |
144
|
8 |
0 |
unless $extra_supps and ref $extra_supps eq 'ARRAY' |
145
|
0 |
0 |
if defined $_ and -f $_ |
175
|
6 |
2 |
unless ref $version |
217
|
0 |
6 |
unless $_[0]{'extra_supps'} |
239
|
0 |
18 |
unless &Scalar::Util::blessed($value) and $value->isa($base) |
245
|
0 |
6 |
if ($cmd->isa('Test::Valgrind::Command::Aggregate')) |
260
|
0 |
6 |
if ($self->do_suppressions) { } |
263
|
0 |
6 |
unless ($self->no_def_supp) |
266
|
0 |
0 |
if ($self->regen_def_supp and -e $def_supp) |
270
|
0 |
0 |
if (defined $def_supp and not -e $def_supp) |
271
|
0 |
0 |
$forced ? : |
280
|
0 |
0 |
unless -e $def_supp |
287
|
0 |
0 |
if -e $_ |
289
|
0 |
6 |
if (@supp_files > 1) { } |
|
0 |
6 |
elsif (@supp_files) { } |
|
4 |
2 |
elsif ($self->allow_no_supp) { } |
311
|
0 |
4 |
unless pipe my $vrdr, my $vwtr |
318
|
0 |
4 |
unless pipe my $erdr, my $ewtr |
326
|
0 |
4 |
unless defined $pid |
328
|
2 |
2 |
if ($pid == 0) |
334
|
0 |
2 |
unless close $erdr |
338
|
0 |
2 |
unless close $vrdr |
340
|
0 |
2 |
unless fcntl $vwtr, 2, 0 |
370
|
0 |
2 |
unless close $vwtr |
371
|
0 |
2 |
unless close $ewtr |
378
|
1 |
3 |
if @ready == 1 and fileno $ready[0] == fileno $vrdr |
382
|
0 |
3 |
if (not defined $bytes_read) { } |
|
1 |
2 |
elsif ($bytes_read) { } |
385
|
1 |
0 |
unless $child_err |
389
|
1 |
1 |
if $child_err |
396
|
0 |
1 |
if ($aborted) |
402
|
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
}
}) |
404
|
1 |
0 |
if kill 0, $pid |
412
|
1 |
0 |
waitpid($pid, 0) == $pid ? : |
414
|
0 |
1 |
unless close $erdr |
415
|
0 |
1 |
unless close $vrdr |
420
|
1 |
0 |
if $error |
451
|
32 |
8 |
@_ <= 1 ? : |
|
24 |
8 |
@_ <= 1 ? : |
|
5 |
6 |
@_ <= 1 ? : |
|
32 |
8 |
@_ <= 1 ? : |
452
|
0 |
32 |
if $@ |
493
|
0 |
0 |
unless defined $tool_tag |
496
|
0 |
0 |
unless defined $cmd_tag |
523
|
0 |
6 |
unless ($self->no_def_supp) |
525
|
0 |
0 |
if defined $def_supp |
578
|
0 |
10 |
unless defined $report |
582
|
0 |
20 |
unless defined $report |
607
|
0 |
2 |
defined $status ? : |