Branch Coverage

blib/lib/Module/Build/Convert.pm
Criterion Covered Total %
branch 33 352 9.3


line true false branch
56 0 0 unless $self->{'dirs'}
0 0 unless ($self->{'Config'}{'reinit'} or @{[] unless $self->{'dirs'};})
57 0 0 if ($self->{'Config'}{'Path'}) { }
58 0 0 if (-f $self->{'Config'}{'Path'})
64 0 0 unless opendir my $dh, $self->{'Config'}{'Path'}
66 0 0 if /[\w\-]+[\d\.]+/
68 0 0 unless (@{$self->{'dirs'};})
82 0 0 if $self->{'Config'}{'reinit'}
84 0 0 if @{$self->{'dirs'};} > 1
91 0 0 unless ($self->{'have_single_dir'})
93 0 0 unless $self->{'Config'}{'reinit'}
102 0 0 unless $self->{'have_single_dir'}
107 0 0 unless ($self->{'Config'}{'reinit'})
113 0 0 if @{$self->{'dirs'};}
115 0 0 if $self->{'Config'}{'Create_RC'}
117 0 0 unless ($self->_exists_overwrite and $self->_makefile_ok)
130 0 0 if -e $self->{'Config'}{'MANIFEST'}
133 0 0 if $self->{'show_summary'}
139 0 0 if (-e $self->{'Config'}{'Build_PL'})
141 0 0 if $self->{'show_summary'} and not $self->{'Config'}{'Verbose'}
143 0 0 if $self->{'Config'}{'Verbose'}
146 0 0 if ($self->{'Config'}{'Dont_Overwrite_Auto'}) { }
150 0 0 if (not $input_ok) { }
152 0 0 if $self->{'Config'}{'Verbose'}
156 0 0 if $self->{'Config'}{'Verbose'}
171 0 0 if (-e $rcfile and not -z $rcfile and File::Slurp::read_file($rcfile) =~ /\w+/) { }
175 0 0 unless my $fh = 'IO::File'->new($rcfile, '>')
188 0 0 if (-e $self->{'Config'}{'Makefile_PL'}) { }
194 0 0 $self->{'Config'}{'Path'} ? :
200 0 0 if ($makefile =~ /use\s+inc::Module::Install/)
205 0 0 unless ($makefile =~ /WriteMakefile\s*\(/s)
210 0 0 if (not $failed and $makefile =~ /WriteMakefile\(\s*%\w+.*\s*\)/s and not $self->{'Config'}{'Exec_Makefile'})
215 0 0 if ($failed)
218 0 0 if $self->{'Config'}{'Verbose'} and @{$self->{'dirs'};}
221 0 0 if $self->{'Config'}{'Verbose'} and @{$self->{'dirs'};}
245 1 18 if (index($arg, '.') > 0)
251 1 1 @path ? :
260 0 1 if (shift() || 'undef') eq 'create_rc'
265 0 1 if (-e $rcfile and not -z $rcfile and File::Slurp::read_file($rcfile) =~ /\w+/) { }
273 1 0 unless ($create_rc)
279 1 0 unless ($create_rc)
285 0 19 unless $line
287 0 19 if ($line =~ /^#/)
296 0 1 $create_rc ? :
302 0 0 if ($self->{'Config'}{'Exec_Makefile'}) { }
306 0 0 if ($self->{'Config'}{'Parse_PPI'}) { }
319 0 0 $self->{'Config'}{'Exec_Makefile'} ? :
348 0 0 if defined ${$1;}
394 0 0 $_[0] ? :
398 0 0 if $tokens[$c]->significant
399 0 0 if $pos == $iter
407 0 0 $_[0] ? :
410 0 0 if $c >= 1
413 0 0 if $tokens[$c]->significant
414 0 0 if $pos == $iter
425 0 0 $have{'code'} ? :
427 0 0 if ($self->_is_quotelike($token) and not $have{'code'} and not $have{'nested_structure'} and $token{'last'}->(1) ne '=>') { }
0 0 elsif ($token eq '=>' and not $have{'nested_structure'}) { }
435 0 0 if $structure_ended and $token eq ','
438 0 0 if ($token->isa('PPI::Token::Structure') and not $have{'code'})
439 0 0 if ($token =~ /[\[\{]/) { }
0 0 elsif ($token =~ /[\]\}]/) { }
448 0 0 unless $have{'nested_structure'}
452 0 0 if $token{'next'}->() eq ',' and not $have{'code'} and not $have{'nested_structure'}
453 0 0 if $token->isa('PPI::Token::Word') and $token{'next'}->(1) ne '=>'
455 0 0 if ($have{'code'})
456 0 0 if $token eq ','
461 0 0 if (&$followed_by_arrow()) { }
0 0 elsif ($token eq ',' and $token{'next'}->(1) eq ']' or $token{'next'}->(1) eq ']') { }
465 0 0 $have{'nested_structure'} ? :
0 0 $token{'next'}->(1) =~ /^[\}\]]$/ || !$have{'nested_structure'} ? :
473 0 0 unless ($token =~ /^[\[\]\{\}]$/ and not $have{'code'})
474 0 0 if $token eq '=>'
475 0 0 if $token eq ',' and not $have{'code'} and not $seen{'code'}
477 0 0 if (defined $keyword)
479 0 0 unless $token =~ /^['"]\s+['"]$/ or $have{'code'}
481 0 0 if (not $have{'code'} || $structure_ended) { }
484 0 0 if (@items % 2 == 1 and $type ne 'array' or not @items) { }
487 0 0 unless $structure_ended and $type eq 'string'
494 0 0 if ($structure_ended and @items)
499 0 0 if $type eq 'hash' and defined $items[-1]
521 0 0 $token->isa('PPI::Token::Double') || $token->isa('PPI::Token::Quote::Interpolate') || $token->isa('PPI::Token::Quote::Literal') || $token->isa('PPI::Token::Quote::Single') || $token->isa('PPI::Token::Word') ? :
536 0 0 if $token eq ',' and not $have{'?'}
538 0 0 unless ($have{'ternary'})
539 0 0 if $token eq '('
540 0 0 if $token eq ')'
543 0 0 if $token eq '?'
544 0 0 if $token eq ':'
546 0 0 if $have{'?'} and $have{':'}
548 0 0 if ($have{'ternary'})
558 0 0 if $token eq '('
559 0 0 if $token eq ')'
561 0 0 if $occurences{'('} or $occurences{')'}
562 0 0 if $token eq ','
564 0 0 if ($occurences{'('} == $occurences{')'} and $have{'parentheses'} and $have{'comma'})
589 0 0 unless $self->{'parse'}{'makefile'} =~ /\n$/s
592 0 0 if ($self->{'parse'}{'makefile'} =~ s/$found_string//) { }
0 0 elsif ($self->{'parse'}{'makefile'} =~ s/$found_array//s) { }
0 0 elsif ($self->{'parse'}{'makefile'} =~ s/$found_hash//s) { }
613 0 0 if ($self->{'Config'}{'Process_Code'})
621 0 0 unless $self->{'parse'}{'makefile'} =~ /\w/
730 0 0 if ($code[0]) { }
0 0 elsif ($variable[0]) { }
0 0 elsif ($self->{'parse'}{'makefile'} =~ /\#/) { }
750 0 0 unless $self->{'parse'}{'makefile'} =~ /\n$/s
788 0 0 if $self->{'parse'}{'makecode'} eq $self->{'makecode_prev'}
790 0 0 if ($self->{'parse'}{'trapped_loop'}{$self->{'parse'}{'makecode'}} > 1)
806 0 0 if ($self->{'parse'}{'makecode'} =~ /\b$make\b/s)
815 0 0 unless $self->{'parse'}{'histargs'}
0 0 if (@{[] unless $self->{'parse'}{'histargs'};}) { }
832 0 0 if (defined $comment and defined $self->{'Data'}{'table'}{$arg})
891 0 0 if (ref $self->{'parse'}{'makecode'} eq 'ARRAY') { }
897 0 0 if @args > 1
930 0 19 if ($self->{'disabled'}{$arg})
934 0 19 unless ($self->{'Data'}{'table'}{$arg})
938 5 14 if (ref $self->{'make_args'}{'args'}{$arg} eq 'HASH') { }
1 13 elsif (ref $self->{'make_args'}{'args'}{$arg} eq 'ARRAY') { }
13 0 elsif (ref $self->{'make_args'}{'args'}{$arg} eq '') { }
939 0 5 if (ref $self->{'Data'}{'table'}{$arg} eq 'HASH') { }
948 0 0 if (ref $current eq 'HASH') { }
951 0 0 if (substr($current, 0, 1) eq '@') { }
953 0 0 if (ref $value eq 'ARRAY') { }
980 1 0 if @{$self->{'Data'}{'sort_order'};}
992 1 2 if (exists $self->{'make_args'}{'args'}{$build{$arg}})
997 0 2 if $value eq 'HASH'
998 0 2 if $value eq 'ARRAY'
999 0 2 if $value eq 'SCALAR' and not $value =~ /\d+/
1022 0 1 if ($self->{'Config'}{'Use_Native_Order'})
1029 0 0 unless $s % 2 == 0
1032 0 0 if exists $self->{'Data'}{'table'}{$self->{'make_args_arr'}[$s]}
1043 0 1 if ($self->{'Config'}{'Use_Native_Order'}) { }
1048 0 0 if ($native_sortorder{$arg}) { }
1077 1 971 unless (exists $sortorder{$arg})
1082 181 790 if ($i != $sortorder{$arg})
1117 0 0 unless my $fh = 'IO::File'->new($self->{'Config'}{'Build_PL'}, '>')
1131 0 0 if not $self->{'have_single_dir'}
1145 0 0 if (defined $self->{'make_code'}{'begin'} or defined $self->{'make_code'}{'end'})
1151 0 0 if ($self->{'make_code'}{'begin'} =~ /(?:prompt|Verbose)\s*\(/s)
1163 0 0 if ($self->{'make_code'}{'begin'} =~ /Module::Build::Compat/)
1173 0 0 if ($self->{'make_code'}{$var} =~ /$has_MM_sub/)
1203 0 0 if ($code_header =~ /(?:use|require)\s+\d\.[\d_]*\s*;/) { }
1220 0 0 $comments_header =~ /\w/ ? :
0 0 $code_header =~ /\w/ ? :
0 0 $comments_header || $code_header ? :
1233 0 0 if ($line =~ /^sub $quoted_pattern\w+/s or $line =~ /^\{/)
1235 0 0 if ($seen{'begin'} and $line =~ /^\s*}/)
1237 0 0 if ($seen{'begin'} or $seen{'end'}) { }
1243 0 0 if ($seen{'end'})
1273 0 0 unless $self->{'make_code'}{'args'}{'begin'}
0 0 if (@{[] unless $self->{'make_code'}{'args'}{'begin'};})
1275 0 0 if (ref $codechunk eq 'ARRAY') { }
1289 0 0 if ($chunk =~ /=> [\{\[]/) { }
1292 0 0 $regex ? :
1311 0 0 if $line =~ /^\s+/
1314 0 0 if $line =~ /[\d+ \} \]] $/x
1318 0 0 if $line =~ /\(/
1321 0 0 if $line =~ /['"](?!,)$/ and $#lines - $i != 1
1328 0 0 $i == $#lines && defined $self->{'make_comments'}{$arg} ? :
1344 0 0 if $chunk =~ /\(/
1351 0 0 if defined $self->{'make_comments'}{$arg}
1361 0 0 if ($self->{'make_code'}{'args'}{$arg})
1364 0 0 if (ref $arg eq 'ARRAY') { }
1372 0 0 unless $arg
1374 0 0 unless $arg =~ /^\#/
1392 0 0 if ($$string =~ /\$\(/)
1416 0 0 $self->{'make_code'}{$section} =~ /\w/ ? :
1422 0 0 unless my $fh = 'IO::File'->new($self->{'Config'}{'MANIFEST'}, '<')
1429 0 0 unless (grep {/^$build_pl\s+$/o;} @manifest)
1432 0 0 unless $fh = 'IO::File'->new($self->{'Config'}{'MANIFEST'}, '>')
1455 0 0 unless $self->{'summary'}{$item->[1]}
0 0 unless @{[] unless $self->{'summary'}{$item->[1]};}
1470 0 1 $_[-1] =~ /^\d$/ ? :
1472 0 1 if ($self->{'Config'}{'Verbose'} and $level == 1 or $self->{'Config'}{'Verbose'} == 2 and $level == 2)
1481 0 0 if ($self->{'Config'}{'Debug'})
1482 0 0 if $_[-1] eq 'no_wait'
1484 0 0 unless $no_wait