| 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'}) | 
 
| 188 | 0 | 0 | if ($parent_in_todo) | 
 
| 216 | 0 | 0 | if ('CODE' ne ref $subtests) | 
 
| 234 | 0 | 0 | unless $self->_plan_handled | 
 
| 238 | 0 | 0 | unless (eval {
	do {
	&$run_the_subtests()
}
}) | 
 
| 251 | 0 | 0 | if $error and not eval {
	do {
	$error->isa('Test::Builder::Exception')
}
} | 
 
| 310 | 0 | 0 | unless $self->parent | 
 
| 311 | 0 | 0 | if ($$self{'Child_Name'}) | 
 
| 322 | 0 | 0 | if ($$self{'Skip_All'}) { } | 
 
|  | 0 | 0 | elsif (not @{$$self{'Test_Results'};}) { } | 
 
| 340 | 0 | 8 | if (@_) | 
 
| 374 | 0 | 0 | if ($self->parent and $$ == $$self{'Original_Pid'}) | 
 
| 482 | 1 | 1 | unless $cmd | 
 
| 486 | 0 | 1 | if $$self{'Have_Plan'} | 
 
| 488 | 1 | 0 | if (my $method = $plan_cmds{$cmd}) { } | 
 
| 504 | 1 | 0 | if ($arg) { } | 
 
|  | 0 | 0 | elsif (not defined $arg) { } | 
 
| 532 | 1 | 0 | if (@_) | 
 
| 533 | 0 | 1 | unless $max =~ /^\+?\d+$/ | 
 
| 539 | 1 | 0 | unless $self->no_header | 
 
| 555 | 0 | 0 | if $arg | 
 
| 588 | 0 | 2 | if $$self{'Have_Output_Plan'} | 
 
| 591 | 1 | 1 | if defined $directive | 
 
| 592 | 1 | 1 | if defined $reason | 
 
| 641 | 0 | 0 | if (defined $num_tests) { } | 
 
| 648 | 0 | 0 | if ($$self{'Done_Testing'}) | 
 
| 656 | 0 | 0 | if ($self->expected_tests and $num_tests != $self->expected_tests) { } | 
 
| 664 | 0 | 0 | unless $$self{'Have_Output_Plan'} | 
 
| 669 | 0 | 0 | if $$self{'Expected_Tests'} != $$self{'Curr_Test'} | 
 
| 672 | 0 | 0 | if $$self{'Curr_Test'} == 0 | 
 
| 691 | 1 | 1 | if $$self{'Expected_Tests'} | 
 
| 692 | 0 | 1 | if $$self{'No_Plan'} | 
 
| 708 | 0 | 1 | $self->parent ? : | 
 
| 710 | 1 | 0 | unless $self->no_header | 
 
| 711 | 0 | 1 | if ($self->parent) | 
 
| 733 | 2 | 0 | if (defined $pack) | 
 
| 763 | 0 | 1 | if ($$self{'Child_Name'} and not $$self{'In_Destroy'}) | 
 
| 764 | 0 | 0 | unless defined $name | 
 
| 770 | 0 | 1 | $test ? : | 
 
| 778 | 0 | 1 | if defined $name and $name =~ /^[\d\s]+$/ | 
 
| 787 | 0 | 1 | if $in_todo | 
 
| 794 | 1 | 0 | if (not $test) { } | 
 
| 796 | 0 | 1 | $self->in_todo ? : | 
 
| 803 | 1 | 0 | if $self->use_numbers | 
 
| 805 | 1 | 0 | if (defined $name) { } | 
 
| 814 | 0 | 1 | if ($self->in_todo) { } | 
 
| 829 | 1 | 0 | unless ($test) | 
 
| 830 | 0 | 1 | $self->in_todo ? : | 
 
| 831 | 1 | 0 | if $ENV{'HARNESS_ACTIVE'} | 
 
| 834 | 1 | 0 | if (defined $name) { } | 
 
| 843 | 1 | 0 | unless $test or $self->in_todo | 
 
| 848 | 0 | 1 | $test ? : | 
 
| 858 | 0 | 1 | unless defined $plan | 
 
| 859 | 0 | 1 | if $plan =~ /\D/ | 
 
| 860 | 0 | 1 | if $plan < $$self{'Curr_Test'} | 
 
| 871 | 0 | 2 | if ($self->_is_object($$thing)) | 
 
| 872 | 0 | 0 | if (my $string_meth = overload::Method($$thing, $type)) | 
 
| 884 | 0 | 2 | if ref $thing | 
 
|  | 0 | 2 | $self->_try(sub {
	$thing->isa('UNIVERSAL') if ref $thing;
}
) ? : | 
 
| 899 | 0 | 0 | unless $self->_is_dualvar($$val) | 
 
| 911 | 0 | 0 | if ref $val | 
 
| 915 | 0 | 0 | $numval ne $val ? : | 
 
|  | 0 | 0 | if return $numval != 0 | 
 
| 938 | 0 | 0 | unless (defined $got and defined $expect) | 
 
| 943 | 0 | 0 | unless $test | 
 
| 954 | 0 | 0 | unless (defined $got and defined $expect) | 
 
| 959 | 0 | 0 | unless $test | 
 
| 969 | 0 | 0 | if (defined $$val) { } | 
 
| 970 | 0 | 0 | if ($type eq 'eq' or $type eq 'ne') { } | 
 
| 1031 | 0 | 0 | unless (defined $got and defined $dont_expect) | 
 
| 1036 | 0 | 0 | unless $test | 
 
| 1047 | 0 | 0 | unless (defined $got and defined $dont_expect) | 
 
| 1052 | 0 | 0 | unless $test | 
 
| 1126 | 0 | 0 | $numeric_cmps{$type} ? : | 
 
| 1131 | 0 | 0 | if $error | 
 
| 1138 | 0 | 0 | unless ($ok) | 
 
| 1141 | 0 | 0 | if ($type =~ /^(eq|==)$/) { } | 
 
|  | 0 | 0 | elsif ($type =~ /^(ne|!=)$/) { } | 
 
| 1157 | 0 | 0 | defined $got ? : | 
 
| 1158 | 0 | 0 | defined $expect ? : | 
 
| 1174 | 0 | 0 | if defined $file and defined $line | 
 
| 1246 | 0 | 0 | if $self->use_numbers | 
 
| 1248 | 0 | 0 | if length $why | 
 
| 1286 | 0 | 0 | if $self->use_numbers | 
 
| 1352 | 0 | 0 | unless defined $regex | 
 
| 1357 | 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) { } | 
 
| 1365 | 0 | 0 | length $opts ? : | 
 
| 1376 | 0 | 0 | if defined &re::is_regexp | 
 
| 1385 | 0 | 0 | unless (defined $usable_regex) | 
 
| 1402 | 0 | 0 | if $cmp eq '!~' | 
 
| 1408 | 0 | 0 | unless ($ok) | 
 
| 1409 | 0 | 0 | defined $this ? : | 
 
| 1410 | 0 | 0 | $cmp eq '=~' ? : | 
 
| 1457 | 0 | 4 | if $error and $opts{'die_on_fail'} | 
 
| 1459 | 0 | 4 | wantarray ? : | 
 
| 1476 | 0 | 6 | unless defined $maybe_fh | 
 
| 1478 | 6 | 0 | if ref $maybe_fh eq 'GLOB' | 
 
| 1479 | 0 | 0 | if ref \$maybe_fh eq 'GLOB' | 
 
| 1519 | 0 | 12 | if (defined $level) | 
 
| 1551 | 0 | 1 | if (defined $use_nums) | 
 
| 1587 | 0 | 8 | if (defined $no) | 
 
| 1659 | 0 | 5 | $self->in_todo ? : | 
 
| 1665 | 0 | 4 | if $self->no_diag | 
 
| 1666 | 0 | 4 | unless @msgs | 
 
| 1669 | 0 | 4 | if $^C | 
 
| 1673 | 4 | 0 | defined $_ ? : | 
 
| 1704 | 0 | 0 | ref $_ ? : | 
 
| 1709 | 0 | 0 | if $dumper->can('Sortkeys') | 
 
| 1738 | 0 | 8 | if $^C | 
 
| 1750 | 0 | 8 | unless $msg =~ /\n\z/ | 
 
| 1791 | 2 | 3 | if (defined $fh) | 
 
| 1800 | 2 | 5 | if (defined $fh) | 
 
| 1809 | 2 | 0 | if (defined $fh) | 
 
| 1820 | 6 | 0 | if ($self->is_fh($file_or_fh)) { } | 
 
|  | 0 | 0 | elsif (ref $file_or_fh eq 'SCALAR') { } | 
 
| 1825 | 0 | 0 | if ($] >= 5.008) { } | 
 
| 1826 | 0 | 0 | unless open $fh, '>>', $file_or_fh | 
 
| 1831 | 0 | 0 | unless $fh = 'Test::Builder::IO::Scalar'->new($file_or_fh) | 
 
| 1836 | 0 | 0 | unless open $fh, '>', $file_or_fh | 
 
| 1875 | 0 | 2 | if $$self{'Opened_Testhandles'} | 
 
| 1879 | 0 | 2 | unless open $Testout, '>&STDOUT' | 
 
| 1880 | 0 | 2 | unless open $Testerr, '>&STDERR' | 
 
| 1898 | 0 | 0 | if @src_layers | 
 
| 1983 | 0 | 0 | if (defined $num) | 
 
| 1988 | 0 | 0 | if ($num > @$test_results) { } | 
 
|  | 0 | 0 | elsif ($num < @$test_results) { } | 
 
| 1989 | 0 | 0 | @$test_results ? : | 
 
| 2030 | 4 | 0 | if (@_) | 
 
| 2136 | 0 | 1 | if defined $$self{'Todo'} | 
 
| 2140 | 0 | 1 | if defined $todo | 
 
| 2164 | 0 | 11 | unless $pack | 
 
| 2168 | 0 | 11 | if $set | 
 
| 2184 | 0 | 10 | defined $$self{'Todo'} || $self->find_TODO ? : | 
 
| 2232 | 0 | 0 | @_ ? : | 
 
| 2235 | 0 | 0 | if ($self->in_todo) | 
 
| 2255 | 0 | 0 | unless ($$self{'Start_Todo'}) | 
 
| 2261 | 0 | 0 | if ($$self{'Start_Todo'} and @{$$self{'Todo_Stack'};}) { } | 
 
| 2295 | 1 | 11 | wantarray ? : | 
 
| 2339 | 0 | 0 | if ($check) | 
 
| 2375 | 0 | 2 | if $self->no_ending | 
 
| 2376 | 0 | 2 | if $$self{'Ending'}++ | 
 
| 2382 | 0 | 2 | if ($$self{'Original_Pid'} != $$) | 
 
| 2387 | 0 | 2 | if (not $$self{'Have_Plan'} and $$self{'Curr_Test'}) | 
 
| 2394 | 1 | 1 | unless ($$self{'Have_Plan'}) | 
 
| 2399 | 0 | 1 | if ($$self{'Bailed_Out'}) | 
 
| 2405 | 1 | 0 | if (@$test_results) { } | 
 
|  | 0 | 0 | elsif ($$self{'Skip_All'}) { } | 
 
|  | 0 | 0 | elsif ($real_exit_code) { } | 
 
| 2407 | 0 | 1 | if ($$self{'No_Plan'}) | 
 
| 2408 | 0 | 0 | unless $self->no_header | 
 
| 2417 | 0 | 1 | unless defined $$test_results[$idx] | 
 
| 2425 | 0 | 1 | if ($num_extra != 0) | 
 
| 2426 | 0 | 0 | $$self{'Expected_Tests'} == 1 ? : | 
 
| 2433 | 1 | 0 | if ($num_failed) | 
 
| 2435 | 1 | 0 | $num_failed == 1 ? : | 
 
| 2437 | 1 | 0 | $num_extra == 0 ? : | 
 
| 2445 | 0 | 1 | if ($real_exit_code) | 
 
| 2450 | 0 | 0 | if _my_exit($real_exit_code) | 
 
| 2454 | 1 | 0 | if ($num_failed) { } | 
 
|  | 0 | 0 | elsif ($num_extra != 0) { } | 
 
| 2455 | 1 | 0 | $num_failed <= 254 ? : | 
 
| 2464 | 1 | 0 | if _my_exit($exit_code) | 
 
| 2467 | 0 | 0 | if _my_exit(0) | 
 
| 2474 | 0 | 0 | if _my_exit($real_exit_code) | 
 
| 2479 | 0 | 0 | if _my_exit(255) | 
 
| 2487 | 2 | 0 | if defined $Test |