|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
10
 | 
 0  | 
 162  | 
 if ($] < 5.008)  | 
 
| 
21
 | 
 2  | 
 160  | 
 if Test2::API::test2_init_done() or Test2::API::test2_load_done()  | 
 
| 
59
 | 
 4416  | 
 0  | 
 $e->{'trace'} ? :  | 
 
| 
64
 | 
 4416  | 
 0  | 
 if $cpkg  | 
 
| 
65
 | 
 2961  | 
 1455  | 
 if $epkg and not $todo  | 
 
| 
67
 | 
 4092  | 
 324  | 
 unless defined $todo  | 
 
| 
68
 | 
 2  | 
 322  | 
 unless length $todo  | 
 
| 
71
 | 
 114  | 
 208  | 
 if ref $e eq 'Test2::Event::Diag'  | 
 
| 
73
 | 
 133  | 
 75  | 
 if $e->can('set_todo')  | 
 
| 
77
 | 
 133  | 
 75  | 
 if ($e->isa('Test2::Event::Ok'))  | 
 
| 
80
 | 
 131  | 
 2  | 
 if (my $result = $e->get_meta('Test::Builder'))  | 
 
| 
106
 | 
 23  | 
 0  | 
 if $cpkg  | 
 
| 
107
 | 
 13  | 
 10  | 
 if $epkg  | 
 
| 
109
 | 
 23  | 
 0  | 
 if $cpkg  | 
 
| 
110
 | 
 13  | 
 10  | 
 if $epkg  | 
 
| 
134
 | 
 150  | 
 1  | 
 unless Test2::API::test2_in_preload()  | 
 
| 
140
 | 
 157  | 
 1993  | 
 unless ($Test)  | 
 
| 
145
 | 
 157  | 
 0  | 
 if not $Test::Builder::Test->{'Original_Pid'} or $Test::Builder::Test->{'Original_Pid'} == 0  | 
 
| 
158
 | 
 0  | 
 157  | 
 if Test2::API::test2_has_ipc()  | 
 
| 
168
 | 
 162  | 
 47  | 
 if ($params{'singleton'}) { }  | 
 
| 
207
 | 
 1  | 
 147  | 
 unless $parent  | 
 
| 
225
 | 
 0  | 
 151  | 
 if $pmeta->{'child'}  | 
 
| 
242
 | 
 36  | 
 78  | 
 if ref $e eq 'Test2::Event::Diag'  | 
 
| 
245
 | 
 25  | 
 126  | 
 if $orig_TODO  | 
 
| 
260
 | 
 145  | 
 6  | 
 $parent->format ? :  | 
 
| 
271
 | 
 137  | 
 10  | 
 if @_  | 
 
| 
277
 | 
 0  | 
 147  | 
 if ($meta->{'child'})  | 
 
| 
292
 | 
 87  | 
 4  | 
 if $ok and $chub->count and not $chub->no_ending and not $chub->ended  | 
 
| 
303
 | 
 14  | 
 133  | 
 $plan =~ /\D/ ? :  | 
 
| 
304
 | 
 12  | 
 135  | 
 if ($count and $num_extra != 0)  | 
 
| 
305
 | 
 0  | 
 12  | 
 $plan == 1 ? :  | 
 
| 
311
 | 
 61  | 
 86  | 
 if ($failed)  | 
 
| 
312
 | 
 49  | 
 12  | 
 $failed == 1 ? :  | 
 
| 
314
 | 
 49  | 
 12  | 
 $num_extra == 0 ? :  | 
 
| 
321
 | 
 0  | 
 13  | 
 if (not $passed || $failed and $count and not $num_extra)  | 
 
| 
329
 | 
 147  | 
 0  | 
 unless ($chub->bailed_out)  | 
 
| 
331
 | 
 2  | 
 145  | 
 if ($plan and $plan eq 'SKIP') { }  | 
 
| 
 | 
 54  | 
 91  | 
 elsif (not $chub->count) { }  | 
 
| 
354
 | 
 2  | 
 140  | 
 unless $code and &reftype($code) eq 'CODE'  | 
 
| 
378
 | 
 0  | 
 135  | 
 if (not $ok and $err =~ /Label not found for "last T2_SUBTEST_WRAPPER"/ or &blessed($err) and &blessed($err) eq 'Test::Builder::Exception') { }  | 
 
| 
387
 | 
 0  | 
 139  | 
 if ($start_pid != $$ and not $INC{'Test2/IPC.pm'})  | 
 
| 
388
 | 
 0  | 
 0  | 
 $ok ? :  | 
 
| 
394
 | 
 4  | 
 135  | 
 unless ($finished)  | 
 
| 
395
 | 
 2  | 
 2  | 
 if (my $bailed = $st_ctx->hub->bailed_out)  | 
 
| 
402
 | 
 0  | 
 2  | 
 if $code  | 
 
| 
409
 | 
 50  | 
 2  | 
 if (not $count and !defined($plan) || "$plan" ne 'SKIP')  | 
 
| 
410
 | 
 13  | 
 37  | 
 unless defined $plan  | 
 
| 
418
 | 
 1  | 
 136  | 
 unless $ok  | 
 
| 
420
 | 
 134  | 
 2  | 
 if defined $child_error  | 
 
| 
441
 | 
 0  | 
 55  | 
 $ENV{'TEST_NO_LOG_RESULTS'} ? :  | 
 
| 
 | 
 55  | 
 162  | 
 unless $params{'singleton'}  | 
 
| 
443
 | 
 0  | 
 217  | 
 Test2::API::test2_in_preload() ? :  | 
 
| 
448
 | 
 55  | 
 162  | 
 unless ($params{'singleton'})  | 
 
| 
465
 | 
 55  | 
 162  | 
 unless $params{'singleton'}  | 
 
| 
470
 | 
 208  | 
 1  | 
 if ($format and $format->isa('Test2::Formatter::TAP'))  | 
 
| 
473
 | 
 208  | 
 1  | 
 $out ? :  | 
 
| 
477
 | 
 55  | 
 162  | 
 unless $params{'singleton'}  | 
 
| 
478
 | 
 55  | 
 162  | 
 unless $params{'singleton'}  | 
 
| 
496
 | 
 73  | 
 208  | 
 unless $cmd  | 
 
| 
501
 | 
 2  | 
 206  | 
 if $hub->plan  | 
 
| 
505
 | 
 203  | 
 3  | 
 if (my $method = $plan_cmds{$cmd}) { }  | 
 
| 
523
 | 
 163  | 
 3  | 
 if ($arg) { }  | 
 
| 
 | 
 1  | 
 2  | 
 elsif (not defined $arg) { }  | 
 
| 
544
 | 
 163  | 
 89  | 
 if (@_)  | 
 
| 
545
 | 
 4  | 
 159  | 
 unless $max =~ /^\+?\d+$/  | 
 
| 
556
 | 
 46  | 
 202  | 
 unless $plan  | 
 
| 
557
 | 
 1  | 
 201  | 
 if $plan =~ /\D/  | 
 
| 
567
 | 
 1  | 
 26  | 
 if (defined $ctx->hub->plan)  | 
 
| 
573
 | 
 1  | 
 25  | 
 if $arg  | 
 
| 
588
 | 
 2  | 
 66  | 
 if ($meta->{'Done_Testing'})  | 
 
| 
601
 | 
 19  | 
 47  | 
 if (defined $num_tests) { }  | 
 
| 
 | 
 0  | 
 47  | 
 elsif ($count and defined $num_tests and $count != $num_tests) { }  | 
 
| 
602
 | 
 17  | 
 2  | 
 if not $plan or $plan eq 'NO PLAN'  | 
 
| 
611
 | 
 2  | 
 64  | 
 if ($self->expected_tests and $num_tests != $self->expected_tests)  | 
 
| 
616
 | 
 1  | 
 65  | 
 if $ctx->hub->plan and $ctx->hub->plan eq 'NO PLAN'  | 
 
| 
631
 | 
 4  | 
 7  | 
 if $plan and not $plan =~ /\D/  | 
 
| 
632
 | 
 5  | 
 2  | 
 if $plan and $plan eq 'NO PLAN'  | 
 
| 
645
 | 
 0  | 
 12  | 
 if ($] < 5.02)  | 
 
| 
649
 | 
 0  | 
 0  | 
 unless @call and $call[0]  | 
 
| 
650
 | 
 0  | 
 0  | 
 unless $call[3] =~ /::BEGIN$/  | 
 
| 
655
 | 
 0  | 
 0  | 
 if $begin and $ctx->hub->meta('Test::Builder', {})->{'parent'}  | 
 
| 
665
 | 
 140  | 
 110  | 
 if (defined $pack)  | 
 
| 
679
 | 
 1640  | 
 476  | 
 $test ? :  | 
 
| 
683
 | 
 1747  | 
 369  | 
 if defined $name  | 
 
| 
687
 | 
 1  | 
 2115  | 
 if 0 + $name and $name =~ /^[\d\s]+$/  | 
 
| 
696
 | 
 1747  | 
 369  | 
 defined $name ? :  | 
 
| 
704
 | 
 2110  | 
 6  | 
 unless $self->{'no_log_results'}  | 
 
| 
714
 | 
 88  | 
 2028  | 
 if ($subevents)  | 
 
| 
729
 | 
 476  | 
 1640  | 
 unless $test  | 
 
| 
741
 | 
 250  | 
 226  | 
 $is_todo ? :  | 
 
| 
744
 | 
 447  | 
 29  | 
 if (defined $orig_name) { }  | 
 
| 
755
 | 
 0  | 
 0  | 
 $self->in_todo ? :  | 
 
| 
761
 | 
 160  | 
 502  | 
 unless ref $$thing  | 
 
| 
762
 | 
 457  | 
 0  | 
 unless &blessed($$thing) or scalar $self->_try(sub {
	$$thing->isa('UNIVERSAL');
}
)  | 
 
| 
783
 | 
 22  | 
 1  | 
 unless $self->_is_dualvar($$val)  | 
 
| 
793
 | 
 0  | 
 23  | 
 if ref $val  | 
 
| 
808
 | 
 13  | 
 493  | 
 unless (defined $got and defined $expect)  | 
 
| 
813
 | 
 4  | 
 9  | 
 unless $test  | 
 
| 
827
 | 
 1  | 
 64  | 
 unless (defined $got and defined $expect)  | 
 
| 
832
 | 
 0  | 
 1  | 
 unless $test  | 
 
| 
844
 | 
 46  | 
 5  | 
 if (defined $$val) { }  | 
 
| 
845
 | 
 35  | 
 11  | 
 if ($type eq 'eq' or $type eq 'ne') { }  | 
 
| 
893
 | 
 4  | 
 7  | 
 unless (defined $got and defined $dont_expect)  | 
 
| 
898
 | 
 1  | 
 3  | 
 unless $test  | 
 
| 
911
 | 
 1  | 
 1  | 
 unless (defined $got and defined $dont_expect)  | 
 
| 
916
 | 
 0  | 
 1  | 
 unless $test  | 
 
| 
953
 | 
 2  | 
 599  | 
 if ($cmp_ok_bl{$type})  | 
 
| 
982
 | 
 80  | 
 519  | 
 $numeric_cmps{$type} ? :  | 
 
| 
986
 | 
 3  | 
 596  | 
 unless $succ  | 
 
| 
993
 | 
 28  | 
 571  | 
 unless ($ok)  | 
 
| 
996
 | 
 19  | 
 9  | 
 if ($type =~ /^(eq|==)$/) { }  | 
 
| 
 | 
 6  | 
 3  | 
 elsif ($type =~ /^(ne|!=)$/) { }  | 
 
| 
1008
 | 
 2  | 
 4  | 
 if ($eq) { }  | 
 
| 
1025
 | 
 3  | 
 2  | 
 defined $got ? :  | 
 
| 
1026
 | 
 5  | 
 0  | 
 defined $expect ? :  | 
 
| 
1042
 | 
 319  | 
 0  | 
 if defined $file and defined $line  | 
 
| 
1067
 | 
 29  | 
 2  | 
 unless defined $name  | 
 
| 
1078
 | 
 31  | 
 0  | 
 unless $self->{'no_log_results'}  | 
 
| 
1103
 | 
 6  | 
 0  | 
 unless $self->{'no_log_results'}  | 
 
| 
1117
 | 
 1  | 
 326  | 
 unless defined $regex  | 
 
| 
1122
 | 
 302  | 
 24  | 
 if (_is_qr($regex)) { }  | 
 
| 
 | 
 22  | 
 2  | 
 elsif (($re, $opts) = $regex =~ m[^ /(.*)/ (\w*) $ ]sx or (undef, $re, $opts) = $regex =~ /^ m([^\w\s]) (.+) \1 (\w*) $/sx) { }  | 
 
| 
1130
 | 
 3  | 
 19  | 
 length $opts ? :  | 
 
| 
1141
 | 
 326  | 
 0  | 
 if defined &re::is_regexp  | 
 
| 
1150
 | 
 1  | 
 319  | 
 unless (defined $usable_regex)  | 
 
| 
1172
 | 
 5  | 
 314  | 
 if $cmp eq '!~'  | 
 
| 
1178
 | 
 5  | 
 314  | 
 unless ($ok)  | 
 
| 
1179
 | 
 5  | 
 0  | 
 defined $thing ? :  | 
 
| 
1180
 | 
 4  | 
 1  | 
 $cmp eq '=~' ? :  | 
 
| 
1197
 | 
 1  | 
 1166  | 
 unless defined $maybe_fh  | 
 
| 
1199
 | 
 984  | 
 182  | 
 if ref $maybe_fh eq 'GLOB'  | 
 
| 
1200
 | 
 2  | 
 180  | 
 if ref \$maybe_fh eq 'GLOB'  | 
 
| 
1210
 | 
 18  | 
 2  | 
 if (defined $level)  | 
 
| 
1222
 | 
 0  | 
 218  | 
 unless ($format and $format->can('no_numbers') and $format->can('set_no_numbers'))  | 
 
| 
1223
 | 
 0  | 
 3  | 
 if $format  | 
 
| 
1227
 | 
 217  | 
 1  | 
 if defined $use_nums  | 
 
| 
1229
 | 
 2  | 
 216  | 
 $format->no_numbers ? :  | 
 
| 
1240
 | 
 1  | 
 60  | 
 unless ($format and $format->can($set))  | 
 
| 
1241
 | 
 0  | 
 1  | 
 if $format  | 
 
| 
1246
 | 
 58  | 
 2  | 
 if defined $no  | 
 
| 
1248
 | 
 5  | 
 55  | 
 $format->$method ? :  | 
 
| 
1261
 | 
 197  | 
 1  | 
 if defined $no  | 
 
| 
1268
 | 
 8  | 
 608  | 
 unless @_  | 
 
| 
1270
 | 
 612  | 
 1  | 
 defined $_ ? :  | 
 
| 
1272
 | 
 1  | 
 607  | 
 if (Test2::API::test2_in_preload())  | 
 
| 
1288
 | 
 0  | 
 13  | 
 unless @_  | 
 
| 
1290
 | 
 14  | 
 0  | 
 defined $_ ? :  | 
 
| 
1292
 | 
 1  | 
 12  | 
 if (Test2::API::test2_in_preload())  | 
 
| 
1314
 | 
 4  | 
 5  | 
 ref $_ ? :  | 
 
| 
1317
 | 
 4  | 
 0  | 
 if $dumper->can('Sortkeys')  | 
 
| 
1331
 | 
 0  | 
 491  | 
 unless $format and $format->isa('Test2::Formatter::TAP')  | 
 
| 
1333
 | 
 339  | 
 152  | 
 if defined $fh  | 
 
| 
1345
 | 
 0  | 
 484  | 
 unless $format and $format->isa('Test2::Formatter::TAP')  | 
 
| 
1347
 | 
 332  | 
 152  | 
 if defined $fh  | 
 
| 
1359
 | 
 0  | 
 482  | 
 unless $format and $format->isa('Test::Builder::Formatter')  | 
 
| 
1361
 | 
 330  | 
 152  | 
 if defined $fh  | 
 
| 
1372
 | 
 986  | 
 171  | 
 if ($self->is_fh($file_or_fh)) { }  | 
 
| 
 | 
 170  | 
 1  | 
 elsif (ref $file_or_fh eq 'SCALAR') { }  | 
 
| 
1377
 | 
 170  | 
 0  | 
 if ($] >= 5.008) { }  | 
 
| 
1378
 | 
 0  | 
 170  | 
 unless open $fh, '>>', $file_or_fh  | 
 
| 
1383
 | 
 0  | 
 0  | 
 unless $fh = 'Test::Builder::IO::Scalar'->new($file_or_fh)  | 
 
| 
1388
 | 
 0  | 
 1  | 
 unless open $fh, '>', $file_or_fh  | 
 
| 
1412
 | 
 2  | 
 219  | 
 unless $format and $format->isa('Test2::Formatter::TAP')  | 
 
| 
1413
 | 
 219  | 
 0  | 
 if $self->{'Orig_Handles'}  | 
 
| 
1440
 | 
 307  | 
 199  | 
 if (defined $num)  | 
 
| 
1443
 | 
 307  | 
 0  | 
 unless ($self->{'no_log_results'})  | 
 
| 
1446
 | 
 136  | 
 171  | 
 if ($num > @$test_results) { }  | 
 
| 
 | 
 147  | 
 24  | 
 elsif ($num < @$test_results) { }  | 
 
| 
1447
 | 
 130  | 
 6  | 
 @$test_results ? :  | 
 
| 
1474
 | 
 264  | 
 147  | 
 if (@_)  | 
 
| 
1476
 | 
 255  | 
 9  | 
 if $bool  | 
 
| 
1487
 | 
 0  | 
 6  | 
 if $self->{'no_log_results'}  | 
 
| 
1492
 | 
 14  | 
 0  | 
 $_ ? :  | 
 
| 
1499
 | 
 2  | 
 3  | 
 if $self->{'no_log_results'}  | 
 
| 
1516
 | 
 0  | 
 298  | 
 unless $pack  | 
 
| 
1521
 | 
 298  | 
 0  | 
 if $set  | 
 
| 
1533
 | 
 5  | 
 24  | 
 if $meta and @$meta  | 
 
| 
1537
 | 
 0  | 
 24  | 
 unless $pack  | 
 
| 
1552
 | 
 164  | 
 314  | 
 if $meta and @$meta  | 
 
| 
1560
 | 
 225  | 
 89  | 
 unless defined $todo  | 
 
| 
1561
 | 
 2  | 
 87  | 
 if "$todo" eq ''  | 
 
| 
1567
 | 
 88  | 
 2  | 
 @_ ? :  | 
 
| 
1576
 | 
 294  | 
 435  | 
 if ref $e eq 'Test2::Event::Diag'  | 
 
| 
1579
 | 
 176  | 
 259  | 
 if ($hub == $active_hub and $e->isa('Test2::Event::Ok'))  | 
 
| 
1583
 | 
 176  | 
 0  | 
 if (my $result = $e->get_meta('Test::Builder'))  | 
 
| 
1607
 | 
 1  | 
 90  | 
 unless $set  | 
 
| 
1624
 | 
 340  | 
 0  | 
 wantarray ? :  | 
 
| 
1641
 | 
 1  | 
 468  | 
 if $error and $opts{'die_on_fail'}  | 
 
| 
1643
 | 
 44  | 
 501  | 
 wantarray ? :  | 
 
| 
1650
 | 
 9  | 
 140  | 
 unless ($ctx)  | 
 
| 
1656
 | 
 0  | 
 149  | 
 if $ctx->hub->no_ending  | 
 
| 
1657
 | 
 0  | 
 149  | 
 if $ctx->hub->meta('Test::Builder', {})->{'Ending'}++  | 
 
| 
1661
 | 
 0  | 
 149  | 
 unless $self->{'Original_Pid'} == $$  | 
 
| 
1664
 | 
 0  | 
 149  | 
 if $hub->bailed_out  | 
 
| 
1670
 | 
 3  | 
 1  | 
 unless $plan or $count or $failed  | 
 
| 
1673
 | 
 1  | 
 145  | 
 if (not $hub->plan and $hub->count)  | 
 
| 
1676
 | 
 0  | 
 1  | 
 if ($real_exit_code)  | 
 
| 
1685
 | 
 0  | 
 1  | 
 if ($failed > 0)  | 
 
| 
1686
 | 
 0  | 
 0  | 
 $failed <= 254 ? :  | 
 
| 
1695
 | 
 1  | 
 144  | 
 if ($real_exit_code and not $count)  | 
 
| 
1701
 | 
 8  | 
 136  | 
 if $plan and "$plan" eq 'SKIP'  | 
 
| 
1703
 | 
 1  | 
 135  | 
 unless ($count)  | 
 
| 
1709
 | 
 0  | 
 135  | 
 if ($real_exit_code)  | 
 
| 
1717
 | 
 3  | 
 132  | 
 if ($plan eq 'NO PLAN')  | 
 
| 
1725
 | 
 4  | 
 131  | 
 if ($num_extra != 0)  | 
 
| 
1726
 | 
 2  | 
 2  | 
 $plan == 1 ? :  | 
 
| 
1732
 | 
 7  | 
 128  | 
 if ($failed)  | 
 
| 
1733
 | 
 3  | 
 4  | 
 $failed == 1 ? :  | 
 
| 
1735
 | 
 4  | 
 3  | 
 $num_extra == 0 ? :  | 
 
| 
1742
 | 
 0  | 
 1  | 
 if (not $passed || $failed and $count and not $num_extra)  | 
 
| 
1749
 | 
 7  | 
 128  | 
 if ($failed) { }  | 
 
| 
 | 
 1  | 
 127  | 
 elsif ($num_extra != 0) { }  | 
 
| 
 | 
 0  | 
 127  | 
 elsif (not $passed) { }  | 
 
| 
1750
 | 
 7  | 
 0  | 
 $failed <= 254 ? :  | 
 
| 
1768
 | 
 0  | 
 0  | 
 if $self->no_diag  | 
 
| 
1769
 | 
 0  | 
 0  | 
 unless @msgs  | 
 
| 
1772
 | 
 0  | 
 0  | 
 if $^C  | 
 
| 
1776
 | 
 0  | 
 0  | 
 defined $_ ? :  |