Branch Coverage

inc/Test/Builder.pm
Criterion Covered Total %
branch 66 298 22.1


line true false branch
11 0 2 if ($] < 5.008)
22 0 2 if ($] >= 5.008001 and $Test::Builder::Config{'useithreads'} and $INC{'threads.pm'}) { }
32 0 0 if ($type eq 'HASH') { }
0 0 elsif ($type eq 'ARRAY') { }
0 0 elsif ($type eq 'SCALAR') { }
47 0 0 if ($type eq 'HASH') { }
0 0 elsif ($type eq 'ARRAY') { }
0 0 elsif ($type eq 'SCALAR') { }
229 0 2 unless $cmd
233 0 2 if $$self{'Have_Plan'}
235 2 0 if (my $method = $plan_cmds{$cmd}) { }
251 2 0 if ($arg) { }
0 0 elsif (not defined $arg) { }
280 2 0 if (@_)
281 0 2 unless $max =~ /^\+?\d+$/
287 2 0 unless $self->no_header
303 0 0 if $arg
337 0 2 if $$self{'Have_Output_Plan'}
340 0 2 if defined $directive
341 0 2 if defined $reason
389 0 0 if (defined $num_tests) { }
396 0 0 if ($$self{'Done_Testing'})
404 0 0 if ($self->expected_tests and $num_tests != $self->expected_tests) { }
412 0 0 unless $$self{'Have_Output_Plan'}
433 0 0 if $$self{'Expected_Tests'}
434 0 0 if $$self{'No_Plan'}
452 0 0 unless $self->no_header
472 2 0 if (defined $pack)
504 3 0 $test ? :
512 0 3 if defined $name and $name =~ /^[\d\s]+$/
521 0 3 if $in_todo
528 0 3 if (not $test) { }
530 0 0 $self->in_todo ? :
537 3 0 if $self->use_numbers
539 3 0 if (defined $name) { }
548 0 3 if ($self->in_todo) { }
563 0 3 unless ($test)
564 0 0 $self->in_todo ? :
565 0 0 if $ENV{'HARNESS_ACTIVE'}
568 0 0 if (defined $name) { }
577 3 0 $test ? :
587 0 10 if ($self->_is_object($$thing))
588 0 0 if (my $string_meth = overload::Method($$thing, $type))
600 0 10 if ref $thing
0 10 $self->_try(sub { $thing->isa('UNIVERSAL') if ref $thing; } ) ? :
615 0 0 unless $self->_is_dualvar($$val)
627 0 0 if ref $val
631 0 0 $numval ne $val ? :
0 0 if return $numval != 0
656 0 2 unless (defined $got and defined $expect)
661 0 0 unless $test
674 0 0 unless (defined $got and defined $expect)
679 0 0 unless $test
689 0 0 if (defined $$val) { }
690 0 0 if ($type eq 'eq' or $type eq 'ne') { }
751 0 0 unless (defined $got and defined $dont_expect)
756 0 0 unless $test
767 0 0 unless (defined $got and defined $dont_expect)
772 0 0 unless $test
847 0 2 $numeric_cmps{$type} ? :
852 0 2 if $error
859 0 2 unless ($ok)
862 0 0 if ($type =~ /^(eq|==)$/) { }
0 0 elsif ($type =~ /^(ne|!=)$/) { }
878 0 0 defined $got ? :
879 0 0 defined $expect ? :
895 0 0 if defined $file and defined $line
964 0 0 if $self->use_numbers
966 0 0 if length $why
1004 0 0 if $self->use_numbers
1067 0 0 unless defined $regex
1072 0 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) { }
1080 0 0 length $opts ? :
1091 0 0 if defined &re::is_regexp
1100 0 0 unless (defined $usable_regex)
1121 0 0 if $cmp eq '!~'
1127 0 0 unless ($ok)
1128 0 0 defined $this ? :
1129 0 0 $cmp eq '=~' ? :
1176 0 18 if $error and $opts{'die_on_fail'}
1178 0 18 wantarray ? :
1195 0 6 unless defined $maybe_fh
1197 6 0 if ref $maybe_fh eq 'GLOB'
1198 0 0 if ref \$maybe_fh eq 'GLOB'
1239 0 11 if (defined $level)
1271 0 3 if (defined $use_nums)
1307 0 4 if (defined $no)
1379 0 0 $self->in_todo ? :
1385 0 0 if $self->no_diag
1386 0 0 unless @msgs
1389 0 0 if $^C
1393 0 0 defined $_ ? :
1424 0 0 ref $_ ? :
1429 0 0 if $dumper->can('Sortkeys')
1458 0 5 if $^C
1469 0 5 unless $msg =~ /\n\z/
1510 2 5 if (defined $fh)
1519 2 0 if (defined $fh)
1528 2 0 if (defined $fh)
1539 6 0 if ($self->is_fh($file_or_fh)) { }
0 0 elsif (ref $file_or_fh eq 'SCALAR') { }
1544 0 0 if ($] >= 5.008) { }
1545 0 0 unless open $fh, '>>', $file_or_fh
1550 0 0 unless $fh = 'Test::Builder::IO::Scalar'->new($file_or_fh)
1555 0 0 unless open $fh, '>', $file_or_fh
1594 0 2 if $$self{'Opened_Testhandles'}
1598 0 2 unless open $Testout, '>&STDOUT'
1599 0 2 unless open $Testerr, '>&STDERR'
1617 0 0 if @src_layers
1702 0 0 if (defined $num)
1707 0 0 if ($num > @$test_results) { }
0 0 elsif ($num < @$test_results) { }
1708 0 0 @$test_results ? :
1827 0 3 if defined $$self{'Todo'}
1831 0 3 if defined $todo
1850 0 9 unless $pack
1868 0 6 defined $$self{'Todo'} || $self->find_TODO ? :
1916 0 0 @_ ? :
1919 0 0 if ($self->in_todo)
1939 0 0 unless ($$self{'Start_Todo'})
1945 0 0 if ($$self{'Start_Todo'} and @{$$self{'Todo_Stack'};}) { }
1979 2 9 wantarray ? :
2023 0 0 if ($check)
2064 0 2 if ($$self{'Original_Pid'} != $$)
2069 0 2 if (not $$self{'Have_Plan'} and $$self{'Curr_Test'})
2075 0 2 unless ($$self{'Have_Plan'})
2080 0 2 if ($$self{'Bailed_Out'})
2086 2 0 if (@$test_results) { }
0 0 elsif ($$self{'Skip_All'}) { }
0 0 elsif ($real_exit_code) { }
2088 0 2 if ($$self{'No_Plan'})
2089 0 0 unless $self->no_header
2098 0 3 unless defined $$test_results[$idx]
2106 0 2 if ($num_extra != 0)
2107 0 0 $$self{'Expected_Tests'} == 1 ? :
2113 0 2 if ($num_failed)
2115 0 0 $num_failed == 1 ? :
2117 0 0 $num_extra == 0 ? :
2124 0 2 if ($real_exit_code)
2129 0 0 if _my_exit($real_exit_code)
2133 0 2 if ($num_failed) { }
0 2 elsif ($num_extra != 0) { }
2134 0 0 $num_failed <= 254 ? :
2143 2 0 if _my_exit($exit_code)
2146 0 0 if _my_exit(0)
2152 0 0 if _my_exit($real_exit_code)
2156 0 0 if _my_exit(255)
2163 2 0 if defined $Test and not $Test->no_ending