|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
11
 | 
 0  | 
 11  | 
 if ($] < 5.008)  | 
 
| 
22
 | 
 0  | 
 11  | 
 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  | 
 24  | 
 if (@_)  | 
 
| 
317
 | 
 0  | 
 0  | 
 if ($self->parent)  | 
 
| 
424
 | 
 4  | 
 7  | 
 unless $cmd  | 
 
| 
428
 | 
 0  | 
 7  | 
 if $$self{'Have_Plan'}  | 
 
| 
430
 | 
 7  | 
 0  | 
 if (my $method = $plan_cmds{$cmd}) { }  | 
 
| 
446
 | 
 7  | 
 0  | 
 if ($arg) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (not defined $arg) { }  | 
 
| 
475
 | 
 7  | 
 0  | 
 if (@_)  | 
 
| 
476
 | 
 0  | 
 7  | 
 unless $max =~ /^\+?\d+$/  | 
 
| 
482
 | 
 7  | 
 0  | 
 unless $self->no_header  | 
 
| 
498
 | 
 0  | 
 0  | 
 if $arg  | 
 
| 
532
 | 
 0  | 
 7  | 
 if $$self{'Have_Output_Plan'}  | 
 
| 
535
 | 
 0  | 
 7  | 
 if defined $directive  | 
 
| 
536
 | 
 0  | 
 7  | 
 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
 | 
 2  | 
 0  | 
 if $$self{'Expected_Tests'}  | 
 
| 
635
 | 
 0  | 
 0  | 
 if $$self{'No_Plan'}  | 
 
| 
651
 | 
 0  | 
 0  | 
 $self->parent ? :  | 
 
| 
653
 | 
 0  | 
 0  | 
 unless $self->no_header  | 
 
| 
654
 | 
 0  | 
 0  | 
 if ($self->parent)  | 
 
| 
676
 | 
 11  | 
 0  | 
 if (defined $pack)  | 
 
| 
706
 | 
 0  | 
 2  | 
 if ($$self{'Child_Name'} and not $$self{'In_Destroy'})  | 
 
| 
707
 | 
 0  | 
 0  | 
 unless defined $name  | 
 
| 
713
 | 
 0  | 
 2  | 
 $test ? :  | 
 
| 
721
 | 
 0  | 
 2  | 
 if defined $name and $name =~ /^[\d\s]+$/  | 
 
| 
730
 | 
 0  | 
 2  | 
 if $in_todo  | 
 
| 
737
 | 
 2  | 
 0  | 
 if (not $test) { }  | 
 
| 
739
 | 
 0  | 
 2  | 
 $self->in_todo ? :  | 
 
| 
746
 | 
 2  | 
 0  | 
 if $self->use_numbers  | 
 
| 
748
 | 
 2  | 
 0  | 
 if (defined $name) { }  | 
 
| 
757
 | 
 0  | 
 2  | 
 if ($self->in_todo) { }  | 
 
| 
772
 | 
 2  | 
 0  | 
 unless ($test)  | 
 
| 
773
 | 
 0  | 
 2  | 
 $self->in_todo ? :  | 
 
| 
774
 | 
 2  | 
 0  | 
 if $ENV{'HARNESS_ACTIVE'}  | 
 
| 
777
 | 
 2  | 
 0  | 
 if (defined $name) { }  | 
 
| 
786
 | 
 2  | 
 0  | 
 unless $test or $self->in_todo  | 
 
| 
791
 | 
 0  | 
 2  | 
 $test ? :  | 
 
| 
801
 | 
 0  | 
 2  | 
 unless defined $plan  | 
 
| 
802
 | 
 0  | 
 2  | 
 if $plan =~ /\D/  | 
 
| 
803
 | 
 0  | 
 2  | 
 if $plan < $$self{'Curr_Test'}  | 
 
| 
814
 | 
 0  | 
 4  | 
 if ($self->_is_object($$thing))  | 
 
| 
815
 | 
 0  | 
 0  | 
 if (my $string_meth = overload::Method($$thing, $type))  | 
 
| 
827
 | 
 0  | 
 4  | 
 if ref $thing  | 
 
| 
 | 
 0  | 
 4  | 
 $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  | 
 8  | 
 if $error and $opts{'die_on_fail'}  | 
 
| 
1405
 | 
 0  | 
 8  | 
 wantarray ? :  | 
 
| 
1422
 | 
 0  | 
 33  | 
 unless defined $maybe_fh  | 
 
| 
1424
 | 
 33  | 
 0  | 
 if ref $maybe_fh eq 'GLOB'  | 
 
| 
1425
 | 
 0  | 
 0  | 
 if ref \$maybe_fh eq 'GLOB'  | 
 
| 
1465
 | 
 0  | 
 29  | 
 if (defined $level)  | 
 
| 
1497
 | 
 0  | 
 2  | 
 if (defined $use_nums)  | 
 
| 
1533
 | 
 0  | 
 31  | 
 if (defined $no)  | 
 
| 
1605
 | 
 0  | 
 15  | 
 $self->in_todo ? :  | 
 
| 
1611
 | 
 0  | 
 13  | 
 if $self->no_diag  | 
 
| 
1612
 | 
 0  | 
 13  | 
 unless @msgs  | 
 
| 
1615
 | 
 0  | 
 13  | 
 if $^C  | 
 
| 
1619
 | 
 13  | 
 0  | 
 defined $_ ? :  | 
 
| 
1650
 | 
 0  | 
 0  | 
 ref $_ ? :  | 
 
| 
1655
 | 
 0  | 
 0  | 
 if $dumper->can('Sortkeys')  | 
 
| 
1684
 | 
 0  | 
 24  | 
 if $^C  | 
 
| 
1695
 | 
 0  | 
 24  | 
 unless $msg =~ /\n\z/  | 
 
| 
1736
 | 
 11  | 
 9  | 
 if (defined $fh)  | 
 
| 
1745
 | 
 11  | 
 15  | 
 if (defined $fh)  | 
 
| 
1754
 | 
 11  | 
 0  | 
 if (defined $fh)  | 
 
| 
1765
 | 
 33  | 
 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  | 
 11  | 
 if $$self{'Opened_Testhandles'}  | 
 
| 
1824
 | 
 0  | 
 11  | 
 unless open $Testout, '>&STDOUT'  | 
 
| 
1825
 | 
 0  | 
 11  | 
 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
 | 
 20  | 
 0  | 
 if (@_)  | 
 
| 
2081
 | 
 0  | 
 2  | 
 if defined $$self{'Todo'}  | 
 
| 
2085
 | 
 0  | 
 2  | 
 if defined $todo  | 
 
| 
2104
 | 
 0  | 
 27  | 
 unless $pack  | 
 
| 
2122
 | 
 0  | 
 25  | 
 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
 | 
 2  | 
 27  | 
 wantarray ? :  | 
 
| 
2277
 | 
 0  | 
 0  | 
 if ($check)  | 
 
| 
2313
 | 
 0  | 
 11  | 
 if $self->no_ending  | 
 
| 
2314
 | 
 0  | 
 11  | 
 if $$self{'Ending'}++  | 
 
| 
2320
 | 
 0  | 
 11  | 
 if ($$self{'Original_Pid'} != $$)  | 
 
| 
2325
 | 
 0  | 
 11  | 
 if (not $$self{'Have_Plan'} and $$self{'Curr_Test'})  | 
 
| 
2332
 | 
 4  | 
 7  | 
 unless ($$self{'Have_Plan'})  | 
 
| 
2337
 | 
 0  | 
 7  | 
 if ($$self{'Bailed_Out'})  | 
 
| 
2343
 | 
 1  | 
 6  | 
 if (@$test_results) { }  | 
 
| 
 | 
 0  | 
 6  | 
 elsif ($$self{'Skip_All'}) { }  | 
 
| 
 | 
 6  | 
 0  | 
 elsif ($real_exit_code) { }  | 
 
| 
2345
 | 
 0  | 
 1  | 
 if ($$self{'No_Plan'})  | 
 
| 
2346
 | 
 0  | 
 0  | 
 unless $self->no_header  | 
 
| 
2355
 | 
 0  | 
 2  | 
 unless defined $$test_results[$idx]  | 
 
| 
2363
 | 
 0  | 
 1  | 
 if ($num_extra != 0)  | 
 
| 
2364
 | 
 0  | 
 0  | 
 $$self{'Expected_Tests'} == 1 ? :  | 
 
| 
2371
 | 
 1  | 
 0  | 
 if ($num_failed)  | 
 
| 
2373
 | 
 0  | 
 1  | 
 $num_failed == 1 ? :  | 
 
| 
2375
 | 
 1  | 
 0  | 
 $num_extra == 0 ? :  | 
 
| 
2383
 | 
 0  | 
 1  | 
 if ($real_exit_code)  | 
 
| 
2388
 | 
 0  | 
 0  | 
 if _my_exit($real_exit_code)  | 
 
| 
2392
 | 
 1  | 
 0  | 
 if ($num_failed) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($num_extra != 0) { }  | 
 
| 
2393
 | 
 1  | 
 0  | 
 $num_failed <= 254 ? :  | 
 
| 
2402
 | 
 1  | 
 0  | 
 if _my_exit($exit_code)  | 
 
| 
2405
 | 
 0  | 
 0  | 
 if _my_exit(0)  | 
 
| 
2412
 | 
 6  | 
 0  | 
 if _my_exit($real_exit_code)  | 
 
| 
2417
 | 
 0  | 
 0  | 
 if _my_exit(255)  | 
 
| 
2425
 | 
 11  | 
 0  | 
 if defined $Test  |