Branch Coverage

blib/lib/Test/Inter.pm
Criterion Covered Total %
branch 261 480 54.3


line true false branch
33 10 0 if (@args % 2) { }
78 0 90 unless (exists $o{$opt})
84 0 90 if (exists $opts{'opt'} or exists $ENV{$OPT} or defined ${"main::$OPT";})
89 0 0 if (defined ${"main::$OPT";}) { }
0 0 elsif (exists $ENV{$OPT}) { }
101 0 10 if ($self->{'mode'} ne "test")
114 10 0 if (-f "$0") { }
0 0 elsif (-d './t') { }
0 0 elsif (-d '../t') { }
121 10 0 if (-d "$moddir/t")
124 10 0 if (-d "$moddir/lib")
139 0 10 if (defined $val)
144 10 0 if ($self->{'use_lib'} eq "on")
146 0 20 unless defined $dir
154 0 0 if ($req and $req eq 'mod') { }
0 0 elsif ($req and $req eq 'lib') { }
164 0 0 unless defined $val
165 0 0 unless $val =~ /^\d+$/
171 0 0 unless $val
172 0 0 unless $val =~ /^\d+$/
178 0 0 if (not defined $val) { }
182 0 0 unless $val =~ /^\d+$/
190 0 0 if ($self->{'plandone'})
195 0 0 unless defined $val
196 0 0 unless $val =~ /^\d+$/
199 0 0 if ($val != 0)
207 0 8 if ($self->{'plandone'})
212 8 0 unless $val
213 0 8 unless $val =~ /^\d+$/
216 0 8 if ($val != $main::TI_NUM)
223 0 0 unless $val
229 0 0 unless $val
235 0 0 unless $val
241 0 0 unless $val
248 0 2 if (@features)
251 0 0 unless (exists $self->{'features'}{$feature} and $self->{'features'}{$feature})
254 0 0 unless $reason
259 0 0 unless $skip
262 0 2 if ($self->{'plandone'} or $self->{'testsrun'}) { }
264 0 0 unless $reason
268 0 2 unless $reason
288 0 0 if $self->{'quiet'} == 2
294 0 0 if $self->{'quiet'}
306 2 4 unless $mode
307 4 2 unless $mode eq "feature"
315 2 4 if ($module =~ /^\d+(?:\.\d+)?$/) { }
323 0 4 unless $self->_is_module_name($module)
337 2 4 if $mode eq "forbid"
338 2 4 if $mode eq "feature"
348 3 3 if ($eval_result) { }
350 0 3 if ($mode eq 'forbid') { }
1 2 elsif ($mode eq 'feature') { }
354 0 0 unless $self->{'quiet'} == 2
358 1 0 unless ($self->{'quiet'})
368 2 1 if ($mode eq 'forbid') { }
1 0 elsif ($mode eq 'feature') { }
372 1 0 unless ($self->{'quiet'})
385 0 6 if $ok and $self->{'quiet'} or not $ok and $self->{'quiet'} == 2
396 7 5 if ($args[$#args] eq "forbid" or $args[$#args] eq "feature")
400 10 2 unless $mode eq "feature"
405 3 9 if (@args == 1 and $args[0] =~ /^\d+(?:\.\d+)?$/) { }
9 0 elsif (@args) { }
417 0 9 unless ($self->_is_module_name($module))
423 3 6 if (@args and $args[0] =~ /^\d+(?:\.\d+)?$/)
427 4 5 @args ? :
447 5 7 if $mode eq "forbid"
448 2 10 if $mode eq "feature"
459 6 6 if ($eval_result) { }
461 0 6 if ($mode eq 'forbid') { }
1 5 elsif ($mode eq 'feature') { }
465 0 0 unless $self->{'quiet'} == 2
469 1 0 unless ($self->{'quiet'})
479 5 1 if ($mode eq 'forbid') { }
1 0 elsif ($mode eq 'feature') { }
483 1 0 unless ($self->{'quiet'})
496 0 12 if $ok and $self->{'quiet'} or not $ok and $self->{'quiet'} == 2
511 13 0 $module =~ /^[a-zA-Z]\w*$/ ? :
525 0 18 if defined $sigdie
542 0 17 if ($op eq 'skip') { }
17 0 elsif ($op eq 'pass') { }
558 0 17 if $ok and $self->{'quiet'} or not $ok and $self->{'quiet'} == 2
571 0 20 if $skip
575 1 19 if (@args == 0)
586 6 13 if (@args == 1) { }
10 3 elsif (@args == 2) { }
0 3 elsif (@args > 2) { }
618 0 11 if ($op eq 'skip') { }
11 0 elsif ($op eq 'pass') { }
634 0 11 if $ok and $self->{'quiet'} or not $ok and $self->{'quiet'} == 2
647 0 24 if $skip
651 0 24 if (@args < 2)
658 0 24 if (@args == 1) { }
24 0 elsif (@args == 2) { }
679 21 22 if (ref $args->[0] eq 'CODE') { }
7 15 elsif (ref $args->[0] eq 'ARRAY') { }
682 17 4 if (ref $args->[0] eq "ARRAY")
707 19 24 if ($type eq 'ok') { }
708 13 6 if (ref $result eq 'ARRAY') { }
2 4 elsif (ref $result eq 'HASH') { }
710 18 0 if defined $ele
716 4 0 if defined $val
720 4 0 $result ? :
723 9 10 if (not defined $expected) { }
733 22 2 if ($type eq 'is') { }
740 7 36 if (not $identical and $type ne "isnt")
741 4 3 if ($func)
745 7 0 unless $type eq "ok" and not defined $result
749 43 0 $pass ? :
758 18 0 if ($width)
760 0 18 if $width < 10
761 0 18 if length $str > $width
769 0 38 if (not defined $s) { }
10 28 elsif (ref $s eq 'ARRAY') { }
2 26 elsif (ref $s eq 'HASH') { }
0 26 elsif (ref $s) { }
0 26 elsif ($s eq '') { }
797 0 26 if ($s =~ /\s/) { }
800 0 0 unless ($s =~ /$q/)
803 0 0 unless ($s =~ /$qq/)
817 0 0 unless defined $s1 or defined $s2
818 0 76 unless defined $s1 and defined $s2
819 4 72 if ref $s1 ne ref $s2
821 17 55 if (ref $s1 eq 'ARRAY') { }
4 51 elsif (ref $s1 eq 'HASH') { }
0 51 elsif (ref $s1) { }
822 0 17 if $#$s1 != $#$s2
824 2 33 unless $self->_cmp_structure($s1->[$i], $s2->[$i])
831 0 4 if $#k1 != $#k2
833 0 7 unless exists $s2->{$key}
834 2 5 unless $self->_cmp_structure($s1->{$key}, $s2->{$key})
851 0 44 if ($self->{'skipall'}) { }
0 88 elsif ($main::TI_NUM < $self->{'start'} or $self->{'end'} and $main::TI_NUM > $self->{'end'}) { }
866 0 2 unless $name
868 0 2 if (!ref($func) eq "CODE")
877 1 1 if ($input)
878 0 1 if (-r $input) { }
1 0 elsif (-r "$testdir/$input") { }
892 2 0 unless ($outputdir)
893 2 0 if (-d $testdir and -w $testdir) { }
900 2 0 if ($outputdir)
901 0 2 unless (-d $outputdir and -w $outputdir)
911 0 2 if (not $expected) { }
0 2 elsif (-r $expected) { }
2 0 elsif (-r "$testdir/$expected") { }
927 0 2 unless (-r "$output")
943 2 0 unless $ENV{'TI_NOCLEAN'}
954 7 0 $name ? :
972 0 4 if (exists $opts{'feature'})
976 0 0 unless exists $self->{'features'}{$feature} and $self->{'features'}{$feature}
979 0 4 if (exists $opts{'disable'} and not $skip)
983 0 0 if exists $self->{'features'}{$feature} and $self->{'features'}{$feature}
994 0 4 if (exists $opts{'name'})
998 0 4 if (exists $opts{'skip'})
1003 0 4 if (exists $opts{'todo'})
1014 0 4 unless (exists $opts{'tests'})
1021 0 4 if (ref $tests eq 'ARRAY') { }
1027 0 0 if (ref $result eq 'ARRAY') { }
1037 1 3 if $gotexpected
1041 2 2 if (exists $opts{'expected'})
1042 0 2 if ($gotexpected)
1047 1 1 if (ref $expected eq 'ARRAY') { }
1052 1 0 if (ref $exp eq 'ARRAY') { }
1062 0 1 if ($g)
1072 0 3 if ($gotexpected and ($nexp != 1 and $nexp != $ntest))
1079 3 1 if (exists $opts{'func'})
1081 0 3 if (ref $func ne "CODE")
1093 0 16 if ($skip)
1098 0 16 if ($tests{$t}{'err'})
1108 13 3 if ($gotexpected) { }
1112 13 0 if $func
1115 6 7 $nexp == 1 ? :
1124 0 3 if (@$result == 1)
1135 0 16 if ($op eq 'skip') { }
16 0 elsif ($op eq 'pass') { }
1151 0 16 if $ok and $self->{'quiet'} or not $ok and $self->{'quiet'} == 2
1170 8 2 unless $reason
1172 10 0 if ($self->{'mode'} eq 'test') { }
1176 2 8 unless ($n)
1177 0 2 unless $reason
1186 0 0 if (not $n) { }
1190 0 0 unless $self->{'quiet'}
1198 19 39 unless $name
1204 0 0 if $self->{'mode'} ne "test" and $self->{'quiet'}
1208 0 58 if ($name =~ /^\d/ and $self->{'quiet'} != 2)
1217 0 0 unless $name
1224 0 0 if ($self->{'abort'} == 2) { }
0 0 elsif ($self->{'abort'}) { }
1233 0 0 unless $name
1239 0 0 if $self->{'mode'} ne "test" and $self->{'quiet'}
1241 0 0 $name ? :
1307 0 17 unless @$test
1311 5 12 if ($gotboth == -1) { }
0 12 elsif ($gotboth != $both) { }
1320 7 10 if $gotboth
1335 1 33 unless @$list
1345 16 17 if ($line eq "")
1347 0 16 unless $started
1352 0 17 if ($line =~ /^#/)
1361 0 17 unless $started
1375 17 51 unless $self->_test_line($test)
1379 7 44 if ($self->_parse_begin_results($test))
1380 7 0 if ($curr eq 'args') { }
1391 0 44 if $err
1393 29 15 if ($curr eq 'args') { }
1400 7 10 $curr eq 'results' ? :
1417 112 17 if @$test
1428 7 44 if $test->[0] =~ s/^ $sp_opt $results $eot //x
1445 0 61 unless $self->_test_line($test)
1450 0 61 if $err
1451 2 59 if ($found)
1459 0 59 if $err
1460 7 52 if ($found)
1462 0 7 if (@val == 1 and $val[0] eq "")
1469 0 52 if $err
1470 2 50 if ($found)
1472 2 0 if (@val == 1 and $val[0] eq '') { }
1481 0 50 if $err
1482 2 48 if ($found)
1483 2 0 if (@val == 1 and $val[0] eq '') { }
0 0 elsif (@val % 2 == 0) { }
0 0 elsif (not defined $val[$#val] or $val[$#val] eq '') { }
1504 0 48 if $err
1509 0 61 if $err
1510 0 61 unless $found
1513 0 68 if $v eq "__blank__"
1514 0 68 if $v eq "__undef__"
1515 62 6 if $v
1517 61 0 if $found
1553 2 59 if ($test->[0] =~ s/^ $sp_opt $q ($min_str) $q $EOT//x or $test->[0] =~ s/^ $sp_opt $qq ($min_str) $qq $EOT//x) { }
0 59 elsif ($test->[0] =~ /^ $sp_opt $q/x or $test->[0] =~ /^ $sp_opt $qq/x) { }
1580 2 159 if ($test->[0] =~ s/^ $sp_opt $open ($delim) $sp_opt //x) { }
9 150 elsif ($test->[0] =~ s/^ $sp_opt $open $sp_opt //x) { }
1602 0 17 if $e
1610 0 17 if (not $m and $del)
1612 0 0 unless ($self->_test_line($test))
1616 0 0 if ($test->[0] =~ s/^ $sp_opt $newEOT //x) { }
1624 0 17 if ($m eq $close and not @v) { }
1630 11 6 if $m eq $close
1636 2 9 if ($test->[0] eq "")
1640 9 0 if ($test->[0] =~ s/^ $sp_opt $EOT //x) { }