Branch Coverage

blib/lib/Makefile/AST.pm
Criterion Covered Total %
branch 19 176 10.8


line true false branch
38 0 1 ref $_[0] ? :
87 1 4 wantarray ? :
94 2 0 if (my $var = $$pad{$name})
110 0 0 if (defined $name) { }
117 0 0 if (defined $name)
119 0 0 if ($list)
132 0 0 unless defined $count
134 0 0 if @$stack > 1
152 2 0 unless (ref $var->value)
191 1 0 unless (defined $self->default_goal)
195 1 0 if (not $target =~ m[^\./Makefile_\S+] and substr($target, 0, 1) ne '.' || $target =~ m[/])
199 1 0 if ($rule->colon eq ':') { }
225 2 0 if $target =~ /\%/
229 3 2 if $prereq =~ /\%/
247 3 4 unless @rules
250 4 0 if (first sub { not $_->match_anything; } , @rules)
273 1 3 if ($applied)
281 0 3 if $rule->is_terminal
286 0 3 if ($applied)
294 0 3 if ($applied)
304 0 0 if ($capture) { }
321 0 0 if ($s =~ /\G\s+/cg) { }
0 0 elsif ($s =~ /\G[^\$,]+/cg) { }
0 0 elsif ($s =~ /\G,/cg) { }
0 0 elsif (my $res = MDOM::Document::Gmake::extract_interp($s)) { }
0 0 elsif ($s =~ /\G\$./cg) { }
0 0 elsif ($s =~ /\G./cg) { }
328 0 0 if (@args < $n - 1) { }
346 0 0 if (@args <= $n - 1)
349 0 0 if @args >= $m and @args <= $n
361 0 0 if (my $var = $self->get_var($name)) { }
363 0 0 if ($var->flavor eq 'recursive') { }
393 0 0 if (not $n =~ /^\d+$/)
402 0 0 if ($n <= $value)
420 0 0 if ($name eq 'subst')
429 0 0 if ($name eq 'patsubst')
445 0 0 if ($name eq 'strip')
453 0 0 if ($name eq 'findstring')
457 0 0 if (index($in, $find) >= 0) { }
472 0 0 if ($name eq 'filter')
484 0 0 if ($name eq 'filter-out')
496 0 0 if ($name eq 'sort')
503 0 0 if ($name eq 'words')
510 0 0 if ($name eq 'word')
518 0 0 $n > @words ? :
520 0 0 if ($name eq 'wordlist')
530 0 0 if ($s > $e or $s > @words or $e == 0)
533 0 0 if $e > @words
536 0 0 if ($name eq 'firstword')
541 0 0 @words > 0 ? :
543 0 0 if ($name eq 'lastword')
548 0 0 @words > 0 ? :
550 0 0 if ($name eq 'dir')
555 0 0 m[.*/] ? :
557 0 0 if ($name eq 'notdir')
564 0 0 if ($name eq 'suffix')
569 0 0 /.*(\..*)/ ? :
573 0 0 if ($name eq 'basename')
578 0 0 /(.*)\./ ? :
582 0 0 if ($name eq 'addsuffix')
590 0 0 if ($name eq 'addprefix')
598 0 0 if ($name eq 'join')
609 0 0 if ($name eq 'wildcard')
615 0 0 if ($name eq 'realpath')
623 0 0 if ($name eq 'abspath')
633 0 0 if ($_ eq '..') { }
643 0 0 if ($name eq 'shell')
652 0 0 if ($name eq 'if')
658 0 0 $condition eq '' ? :
663 0 0 if ($name eq 'or')
669 0 0 if $value ne ''
673 0 0 if ($name eq 'and')
681 0 0 if $value eq ''
685 0 0 if ($name eq 'foreach')
704 0 0 if ($not_exist) { }
712 0 0 if ($name eq 'error')
716 0 0 if $Runtime
719 0 0 if ($name eq 'warning')
725 0 0 if ($name eq 'info')
737 0 0 unless $tokens
740 0 0 unless (ref $token and $token->isa('MDOM::Token::Interpolation'))
745 0 0 if ($token =~ /^\$[{(](.*)[)}]$/) { }
0 0 elsif ($token =~ /^\$\$$/) { }
0 0 elsif ($token =~ /^\$(.)$/) { }
747 0 0 if ($s =~ /^([-\w]+)\s+(.*)$/) { }
0 0 elsif ($s =~ /^(\S+?):(\S+?)=(\S+)$/) { }
749 0 0 if (defined $res)
758 0 0 if (defined $res)