Branch Coverage

inc/Test/Builder.pm
Criterion Covered Total %
branch 111 282 39.3


line true false branch
16 0 20 if ($] >= 5.008001 and $Test::Builder::Config{'useithreads'} and $INC{'threads.pm'}) { }
26 0 0 if ($type eq 'HASH') { }
0 0 elsif ($type eq 'ARRAY') { }
0 0 elsif ($type eq 'SCALAR') { }
41 0 0 if ($type eq 'HASH') { }
0 0 elsif ($type eq 'ARRAY') { }
0 0 elsif ($type eq 'SCALAR') { }
214 9 14 unless $cmd
219 0 14 if $self->{'Have_Plan'}
221 0 14 if ($cmd eq 'no_plan') { }
1 13 elsif ($cmd eq 'skip_all') { }
13 0 elsif ($cmd eq 'tests') { }
222 0 0 if $arg
229 13 0 if ($arg) { }
0 0 elsif (not defined $arg) { }
262 19 0 if (@_)
263 0 19 unless $max =~ /^\+?\d+$/
269 19 0 unless $self->no_header
302 0 0 if $self->{'Expected_Tests'}
303 0 0 if $self->{'No_Plan'}
320 1 0 if $reason
325 1 0 unless $self->no_header
345 20 0 if (defined $pack)
377 193 17 $test ? :
387 0 210 if defined $name and $name =~ /^[\d\s]+$/
396 0 210 if $in_todo
403 193 17 if ($test) { }
405 0 17 $self->in_todo ? :
412 210 0 if $self->use_numbers
414 188 22 if (defined $name) { }
423 0 210 if ($self->in_todo) { }
438 17 193 unless ($test)
439 0 17 $self->in_todo ? :
440 17 0 if $ENV{'HARNESS_ACTIVE'}
443 13 4 if (defined $name) { }
452 193 17 $test ? :
462 0 688 if ($self->_is_object($$thing))
463 0 0 if (my $string_meth = overload::Method($$thing, $type))
475 0 688 if ref $thing
0 688 $self->_try(sub { $thing->isa('UNIVERSAL') if ref $thing; } ) ? :
490 0 0 unless $self->_is_dualvar($$val)
502 0 0 if ref $val
506 0 0 $numval ne $val ? :
0 0 if return $numval != 0
531 0 117 unless (defined $got and defined $expect)
536 0 0 unless $test
549 0 0 unless (defined $got and defined $expect)
554 0 0 unless $test
564 34 0 if (defined $$val) { }
565 34 0 if ($type eq 'eq' or $type eq 'ne') { }
626 0 0 unless (defined $got and defined $dont_expect)
631 0 0 unless $test
642 0 0 unless (defined $got and defined $dont_expect)
647 0 0 unless $test
723 0 117 $numeric_cmps{$type} ? :
727 0 117 if $error
734 17 100 unless ($ok)
737 17 0 if ($type =~ /^(eq|==)$/) { }
0 0 elsif ($type =~ /^(ne|!=)$/) { }
753 0 0 defined $got ? :
754 0 0 defined $expect ? :
770 37 0 if defined $file and defined $line
841 0 0 if $self->use_numbers
843 0 0 if length $why
883 0 0 if $self->use_numbers
946 0 37 unless defined $regex
951 37 0 if (_is_qr($regex)) { }
0 0 elsif (($re, $opts) = $regex =~ m[^ /(.*)/ (\w*) $ ]sx or (undef, $re, $opts) = $regex =~ /^ m([^\w\s]) (.+) \1 (\w*) $/sx) { }
959 0 0 length $opts ? :
970 37 0 if defined &re::is_regexp
979 0 37 unless (defined $usable_regex)
1000 0 37 if $cmp eq '!~'
1006 0 37 unless ($ok)
1007 0 0 defined $this ? :
1008 0 0 $cmp eq '=~' ? :
1055 0 0 if $error and $opts{'die_on_fail'}
1057 16 1242 wantarray ? :
1074 0 60 unless defined $maybe_fh
1076 60 0 if ref $maybe_fh eq 'GLOB'
1077 0 0 if ref \$maybe_fh eq 'GLOB'
1118 0 904 if (defined $level)
1150 0 210 if (defined $use_nums)
1186 0 92 if (defined $no)
1258 0 69 $self->in_todo ? :
1264 0 52 if $self->no_diag
1265 0 52 unless @msgs
1268 0 52 if $^C
1272 52 0 defined $_ ? :
1303 0 0 ref $_ ? :
1308 0 0 if $dumper->can('Sortkeys')
1337 0 299 if $^C
1348 0 299 unless $msg =~ /\n\z/
1385 20 230 if (defined $fh)
1394 20 69 if (defined $fh)
1403 20 0 if (defined $fh)
1414 60 0 if ($self->is_fh($file_or_fh)) { }
1418 0 0 unless open $fh, '>', $file_or_fh
1459 0 20 if $Opened_Testhandles
1463 0 20 unless open $Testout, '>&STDOUT'
1464 0 20 unless open $Testerr, '>&STDERR'
1482 0 0 if @src_layers
1544 0 210 unless ($self->{'Have_Plan'})
1577 0 0 if (defined $num)
1579 0 0 unless $self->{'Have_Plan'}
1585 0 0 if ($num > @$test_results) { }
0 0 elsif ($num < @$test_results) { }
1586 0 0 @$test_results ? :
1705 0 210 if defined $self->{'Todo'}
1709 0 210 if defined $todo
1728 0 733 unless $pack
1746 0 523 defined $self->{'Todo'} || $self->find_TODO ? :
1794 0 0 @_ ? :
1797 0 0 if ($self->in_todo)
1817 0 0 unless ($self->{'Start_Todo'})
1823 0 0 if ($self->{'Start_Todo'} and @{$self->{'Todo_Stack'};}) { }
1857 171 733 wantarray ? :
1903 0 60 if ($check)
1945 0 20 if ($self->{'Original_Pid'} != $$)
1951 1 19 unless ($self->{'Have_Plan'})
1956 0 19 if ($self->{'Bailed_Out'})
1962 18 1 if (@$test_results) { }
0 1 elsif ($self->{'Skip_All'}) { }
1 0 elsif ($real_exit_code) { }
1964 0 18 if ($self->{'No_Plan'})
1965 0 0 unless $self->no_header
1974 26 210 unless defined $test_results->[$idx]
1982 1 17 if ($num_extra != 0)
1983 0 1 $self->{'Expected_Tests'} == 1 ? :
1989 3 15 if ($num_failed)
1991 1 2 $num_failed == 1 ? :
1993 2 1 $num_extra == 0 ? :
2000 0 18 if ($real_exit_code)
2005 0 0 if _my_exit($real_exit_code)
2009 3 15 if ($num_failed) { }
0 15 elsif ($num_extra != 0) { }
2010 3 0 $num_failed <= 254 ? :
2019 18 0 if _my_exit($exit_code)
2022 0 0 if _my_exit(0)
2028 1 0 if _my_exit($real_exit_code)
2032 0 0 if _my_exit(255)
2039 20 0 if defined $Test and not $Test->no_ending