| 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') { } | 
 
| 172 | 0 | 0 | if ($$self{'Child_Name'}) | 
 
| 206 | 0 | 0 | if ('CODE' ne ref $subtests) | 
 
| 217 | 0 | 0 | unless (eval {
	do {
	&$subtests();
1
}
}) | 
 
| 226 | 0 | 0 | if $error and not eval {
	do {
	$error->isa('Test::Builder::Exception')
}
} | 
 
| 254 | 0 | 0 | unless $self->parent | 
 
| 255 | 0 | 0 | if ($$self{'Child_Name'}) | 
 
| 265 | 0 | 0 | if ($$self{'Skip_All'}) { } | 
 
|  | 0 | 0 | elsif (not @{$$self{'Test_Results'};}) { } | 
 
| 283 | 0 | 3 | if (@_) | 
 
| 317 | 0 | 0 | if ($self->parent) | 
 
| 424 | 1 | 2 | unless $cmd | 
 
| 428 | 0 | 2 | if $$self{'Have_Plan'} | 
 
| 430 | 2 | 0 | if (my $method = $plan_cmds{$cmd}) { } | 
 
| 446 | 1 | 0 | if ($arg) { } | 
 
|  | 0 | 0 | elsif (not defined $arg) { } | 
 
| 475 | 1 | 0 | if (@_) | 
 
| 476 | 0 | 1 | unless $max =~ /^\+?\d+$/ | 
 
| 482 | 1 | 0 | unless $self->no_header | 
 
| 498 | 0 | 0 | if $arg | 
 
| 532 | 0 | 2 | if $$self{'Have_Output_Plan'} | 
 
| 535 | 1 | 1 | if defined $directive | 
 
| 536 | 1 | 1 | if defined $reason | 
 
| 584 | 0 | 0 | if (defined $num_tests) { } | 
 
| 591 | 0 | 0 | if ($$self{'Done_Testing'}) | 
 
| 599 | 0 | 0 | if ($self->expected_tests and $num_tests != $self->expected_tests) { } | 
 
| 607 | 0 | 0 | unless $$self{'Have_Output_Plan'} | 
 
| 612 | 0 | 0 | if $$self{'Expected_Tests'} != $$self{'Curr_Test'} | 
 
| 615 | 0 | 0 | if $$self{'Curr_Test'} == 0 | 
 
| 634 | 1 | 0 | if $$self{'Expected_Tests'} | 
 
| 635 | 0 | 0 | if $$self{'No_Plan'} | 
 
| 651 | 0 | 1 | $self->parent ? : | 
 
| 653 | 1 | 0 | unless $self->no_header | 
 
| 654 | 0 | 1 | if ($self->parent) | 
 
| 676 | 2 | 0 | if (defined $pack) | 
 
| 706 | 0 | 1 | if ($$self{'Child_Name'} and not $$self{'In_Destroy'}) | 
 
| 707 | 0 | 0 | unless defined $name | 
 
| 713 | 1 | 0 | $test ? : | 
 
| 721 | 0 | 1 | if defined $name and $name =~ /^[\d\s]+$/ | 
 
| 730 | 0 | 1 | if $in_todo | 
 
| 737 | 0 | 1 | if (not $test) { } | 
 
| 739 | 0 | 0 | $self->in_todo ? : | 
 
| 746 | 1 | 0 | if $self->use_numbers | 
 
| 748 | 1 | 0 | if (defined $name) { } | 
 
| 757 | 0 | 1 | if ($self->in_todo) { } | 
 
| 772 | 0 | 1 | unless ($test) | 
 
| 773 | 0 | 0 | $self->in_todo ? : | 
 
| 774 | 0 | 0 | if $ENV{'HARNESS_ACTIVE'} | 
 
| 777 | 0 | 0 | if (defined $name) { } | 
 
| 786 | 0 | 1 | unless $test or $self->in_todo | 
 
| 791 | 1 | 0 | $test ? : | 
 
| 801 | 0 | 1 | unless defined $plan | 
 
| 802 | 0 | 1 | if $plan =~ /\D/ | 
 
| 803 | 0 | 1 | if $plan < $$self{'Curr_Test'} | 
 
| 814 | 0 | 2 | if ($self->_is_object($$thing)) | 
 
| 815 | 0 | 0 | if (my $string_meth = overload::Method($$thing, $type)) | 
 
| 827 | 0 | 2 | if ref $thing | 
 
|  | 0 | 2 | $self->_try(sub {
	$thing->isa('UNIVERSAL') if ref $thing;
}
) ? : | 
 
| 842 | 0 | 0 | unless $self->_is_dualvar($$val) | 
 
| 854 | 0 | 0 | if ref $val | 
 
| 858 | 0 | 0 | $numval ne $val ? : | 
 
|  | 0 | 0 | if return $numval != 0 | 
 
| 883 | 0 | 0 | unless (defined $got and defined $expect) | 
 
| 888 | 0 | 0 | unless $test | 
 
| 901 | 0 | 0 | unless (defined $got and defined $expect) | 
 
| 906 | 0 | 0 | unless $test | 
 
| 916 | 0 | 0 | if (defined $$val) { } | 
 
| 917 | 0 | 0 | if ($type eq 'eq' or $type eq 'ne') { } | 
 
| 978 | 0 | 0 | unless (defined $got and defined $dont_expect) | 
 
| 983 | 0 | 0 | unless $test | 
 
| 994 | 0 | 0 | unless (defined $got and defined $dont_expect) | 
 
| 999 | 0 | 0 | unless $test | 
 
| 1072 | 0 | 0 | $numeric_cmps{$type} ? : | 
 
| 1077 | 0 | 0 | if $error | 
 
| 1084 | 0 | 0 | unless ($ok) | 
 
| 1087 | 0 | 0 | if ($type =~ /^(eq|==)$/) { } | 
 
|  | 0 | 0 | elsif ($type =~ /^(ne|!=)$/) { } | 
 
| 1103 | 0 | 0 | defined $got ? : | 
 
| 1104 | 0 | 0 | defined $expect ? : | 
 
| 1120 | 0 | 0 | if defined $file and defined $line | 
 
| 1192 | 0 | 0 | if $self->use_numbers | 
 
| 1194 | 0 | 0 | if length $why | 
 
| 1232 | 0 | 0 | if $self->use_numbers | 
 
| 1298 | 0 | 0 | unless defined $regex | 
 
| 1303 | 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) { } | 
 
| 1311 | 0 | 0 | length $opts ? : | 
 
| 1322 | 0 | 0 | if defined &re::is_regexp | 
 
| 1331 | 0 | 0 | unless (defined $usable_regex) | 
 
| 1348 | 0 | 0 | if $cmp eq '!~' | 
 
| 1354 | 0 | 0 | unless ($ok) | 
 
| 1355 | 0 | 0 | defined $this ? : | 
 
| 1356 | 0 | 0 | $cmp eq '=~' ? : | 
 
| 1403 | 0 | 4 | if $error and $opts{'die_on_fail'} | 
 
| 1405 | 0 | 4 | wantarray ? : | 
 
| 1422 | 0 | 6 | unless defined $maybe_fh | 
 
| 1424 | 6 | 0 | if ref $maybe_fh eq 'GLOB' | 
 
| 1425 | 0 | 0 | if ref \$maybe_fh eq 'GLOB' | 
 
| 1465 | 0 | 3 | if (defined $level) | 
 
| 1497 | 0 | 1 | if (defined $use_nums) | 
 
| 1533 | 0 | 4 | if (defined $no) | 
 
| 1605 | 0 | 0 | $self->in_todo ? : | 
 
| 1611 | 0 | 0 | if $self->no_diag | 
 
| 1612 | 0 | 0 | unless @msgs | 
 
| 1615 | 0 | 0 | if $^C | 
 
| 1619 | 0 | 0 | defined $_ ? : | 
 
| 1650 | 0 | 0 | ref $_ ? : | 
 
| 1655 | 0 | 0 | if $dumper->can('Sortkeys') | 
 
| 1684 | 0 | 3 | if $^C | 
 
| 1695 | 0 | 3 | unless $msg =~ /\n\z/ | 
 
| 1736 | 2 | 3 | if (defined $fh) | 
 
| 1745 | 2 | 0 | if (defined $fh) | 
 
| 1754 | 2 | 0 | if (defined $fh) | 
 
| 1765 | 6 | 0 | if ($self->is_fh($file_or_fh)) { } | 
 
|  | 0 | 0 | elsif (ref $file_or_fh eq 'SCALAR') { } | 
 
| 1770 | 0 | 0 | if ($] >= 5.008) { } | 
 
| 1771 | 0 | 0 | unless open $fh, '>>', $file_or_fh | 
 
| 1776 | 0 | 0 | unless $fh = 'Test::Builder::IO::Scalar'->new($file_or_fh) | 
 
| 1781 | 0 | 0 | unless open $fh, '>', $file_or_fh | 
 
| 1820 | 0 | 2 | if $$self{'Opened_Testhandles'} | 
 
| 1824 | 0 | 2 | unless open $Testout, '>&STDOUT' | 
 
| 1825 | 0 | 2 | unless open $Testerr, '>&STDERR' | 
 
| 1843 | 0 | 0 | if @src_layers | 
 
| 1928 | 0 | 0 | if (defined $num) | 
 
| 1933 | 0 | 0 | if ($num > @$test_results) { } | 
 
|  | 0 | 0 | elsif ($num < @$test_results) { } | 
 
| 1934 | 0 | 0 | @$test_results ? : | 
 
| 1975 | 2 | 0 | if (@_) | 
 
| 2081 | 0 | 1 | if defined $$self{'Todo'} | 
 
| 2085 | 0 | 1 | if defined $todo | 
 
| 2104 | 0 | 3 | unless $pack | 
 
| 2122 | 0 | 2 | defined $$self{'Todo'} || $self->find_TODO ? : | 
 
| 2170 | 0 | 0 | @_ ? : | 
 
| 2173 | 0 | 0 | if ($self->in_todo) | 
 
| 2193 | 0 | 0 | unless ($$self{'Start_Todo'}) | 
 
| 2199 | 0 | 0 | if ($$self{'Start_Todo'} and @{$$self{'Todo_Stack'};}) { } | 
 
| 2233 | 0 | 3 | wantarray ? : | 
 
| 2277 | 0 | 0 | if ($check) | 
 
| 2313 | 0 | 2 | if $self->no_ending | 
 
| 2314 | 0 | 2 | if $$self{'Ending'}++ | 
 
| 2320 | 0 | 2 | if ($$self{'Original_Pid'} != $$) | 
 
| 2325 | 0 | 2 | if (not $$self{'Have_Plan'} and $$self{'Curr_Test'}) | 
 
| 2332 | 1 | 1 | unless ($$self{'Have_Plan'}) | 
 
| 2337 | 0 | 1 | if ($$self{'Bailed_Out'}) | 
 
| 2343 | 1 | 0 | if (@$test_results) { } | 
 
|  | 0 | 0 | elsif ($$self{'Skip_All'}) { } | 
 
|  | 0 | 0 | elsif ($real_exit_code) { } | 
 
| 2345 | 0 | 1 | if ($$self{'No_Plan'}) | 
 
| 2346 | 0 | 0 | unless $self->no_header | 
 
| 2355 | 0 | 1 | unless defined $$test_results[$idx] | 
 
| 2363 | 0 | 1 | if ($num_extra != 0) | 
 
| 2364 | 0 | 0 | $$self{'Expected_Tests'} == 1 ? : | 
 
| 2371 | 0 | 1 | if ($num_failed) | 
 
| 2373 | 0 | 0 | $num_failed == 1 ? : | 
 
| 2375 | 0 | 0 | $num_extra == 0 ? : | 
 
| 2383 | 0 | 1 | if ($real_exit_code) | 
 
| 2388 | 0 | 0 | if _my_exit($real_exit_code) | 
 
| 2392 | 0 | 1 | if ($num_failed) { } | 
 
|  | 0 | 1 | elsif ($num_extra != 0) { } | 
 
| 2393 | 0 | 0 | $num_failed <= 254 ? : | 
 
| 2402 | 1 | 0 | if _my_exit($exit_code) | 
 
| 2405 | 0 | 0 | if _my_exit(0) | 
 
| 2412 | 0 | 0 | if _my_exit($real_exit_code) | 
 
| 2417 | 0 | 0 | if _my_exit(255) | 
 
| 2425 | 2 | 0 | if defined $Test |