Branch Coverage

blib/lib/Inline.pm
Criterion Covered Total %
branch 152 440 34.5


line true false branch
103 0 31 if ($class ne "Inline")
104 0 0 if $class =~ /^Inline::/
110 2 29 unless @_
111 0 29 if $_[0] eq "_CONFIG_"
112 0 29 if $_[0] =~ /^(install|makedist|makeppd)$/i
116 2 27 if (uc $control eq 'WITH') { }
8 19 elsif (uc $control eq 'CONFIG') { }
1 18 elsif (exists $shortcuts{uc $control}) { }
18 0 elsif ($control =~ /^\S+$/ and not $control =~ /\n/) { }
133 6 6 if $next++ % 2
134 0 6 if /[\s\n]/
141 0 18 if ($option =~ /^(FILE|BELOW)$/i or not $option and defined $INC{'File::Spec::Unix'->catfile('Inline', 'Files.pm')} and Inline::Files::get_filename($pkg)) { }
5 13 elsif ($option eq 'DATA' or not $option) { }
3 10 elsif (uc $option eq 'CONFIG') { }
179 0 3 unless $class eq "Inline"
183 0 3 unless my $language_id = shift()
184 0 3 unless $language_id =~ /^\S+$/ and not $language_id =~ /\n/
186 0 3 unless $code = shift()
191 0 0 if $next++ % 2
192 0 0 if /[\s\n]/
231 0 10 if @DATA_OBJS
232 0 10 if $version_requested and not $version_printed
239 0 0 if $version_printed++
254 16 2 unless $CONFIG{$pkg}{$language_id}
255 0 18 unless $o->{'CONFIG'}
261 0 18 if UNTAINT()
262 18 0 unless ($o->{'INLINE'}{'object_ready'})
266 0 14 unless $o->{'API'}{'code'}
269 0 14 if UNTAINT()
270 0 14 if UNTAINT()
271 0 14 if $version_requested
272 0 14 if $o->{'CONFIG'}{'REPORTBUG'}
273 14 0 if (not $o->{'INLINE'}{'object_ready'} or $o->{'CONFIG'}{'PRINT_INFO'}) { }
277 0 14 if $@
285 0 13 if $o->{'CONFIG'}{'PRINT_INFO'}
286 13 0 unless ($o->{'INLINE'}{'object_ready'} or not length $o->{'INLINE'}{'ILSM_suffix'})
289 13 0 unless $o->{'CONFIG'}{'_INSTALL_'}
291 0 13 if ($o->{'INLINE'}{'ILSM_suffix'} ne "so" and $o->{'INLINE'}{'ILSM_suffix'} ne "dll" and $o->{'INLINE'}{'ILSM_suffix'} ne "bundle" and $o->{'INLINE'}{'ILSM_suffix'} ne "sl" and ref $o eq "Inline")
298 0 0 if $@
315 0 0 /^Parser?(Pegex|RegExp|RecDescent)$/ ? :
317 0 0 /::/ ? :
0 0 /^::/ ? :
323 0 0 if $@
326 0 0 if $@
329 0 0 if defined $o->{'OVERRIDDEN'}{$ilsm . "::$override"}
345 13 0 $] >= 5.006 ? :
364 3 2 unless ($DATA_read{$pkg}++)
371 3 0 unless (do { $DATA{$pkg} }->[0] || '') =~ /__\S+?__\n/
374 0 5 unless defined $marker
377 0 5 unless $marker_tag eq $language_id
389 396 6 if (defined $default_config->{$key}) { }
390 36 360 if ($key =~ /^(WITH|USING)$/)
391 0 36 if ref $value and ref $value ne "ARRAY"
393 0 36 unless ref $value
397 271 89 unless $value
398 16 73 if ($key eq 'DIRECTORY') { }
0 73 elsif ($key eq 'NAME') { }
0 73 elsif ($key eq 'VERSION') { }
399 0 16 unless -d $value
403 0 0 unless $value =~ /^[a-zA-Z_](\w|::)*$/
407 0 0 unless version::is_lax($value)
450 0 18 $untaint ? :
18 0 $o->{'CONFIG'}{'SAFEMODE'} == -1 ? :
451 0 0 if (UNTAINT() and SAFEMODE() and not $o->{'CONFIG'}{'DIRECTORY'})
454 0 0 if $< == 0 or $> == 0
455 0 0 if $^W
457 18 0 if ($o->{'CONFIG'}{'AUTONAME'} == -1)
458 0 18 length $o->{'CONFIG'}{'NAME'} ? :
470 0 18 if ($o->{'API'}{'code'} =~ /^[A-Fa-f0-9]{32}$/) { }
473 1 17 if (utf8::is_utf8($encoded_code))
481 0 18 if $o->{'CONFIG'}{'_INSTALL_'}
482 18 0 unless $o->{'CONFIG'}{'VERSION'}
484 0 0 unless $o->{'CONFIG'}{'NAME'}
489 0 0 unless my $realpath = $INC{$realname_unix}
494 0 0 unless $dirparts[-1]
498 0 0 if $dirparts[-2] eq "blib" and $dirparts[-1] eq "lib"
500 0 0 unless "File::Spec"->catfile(@endparts) eq $realname
515 0 0 unless -f $obj
536 0 0 if $o->{'CONFIG'}{'_INSTALL_'}
539 0 0 unless $o->{'INLINE'}{'ILSM_type'} eq "compiled"
544 0 0 $o->{'CONFIG'}{'GLOBAL_LOAD'} ? :
558 0 0 if $@
569 0 0 unless open my $fh, ">", $inline
585 0 13 if $key =~ /[\s\n]/
586 2 11 if ($key =~ /^(ENABLE|DISABLE)$/)
587 0 2 $key eq 'ENABLE' ? :
590 0 13 unless defined $default_config->{$key}
599 20 1 unless shift()
603 0 6 if $key =~ /[\s\n]/
604 4 2 if ($key eq 'ENABLE') { }
0 2 elsif ($key eq 'DISABLE') { }
625 0 2 if ($OPTION eq 'SITE_INSTALL') { }
1 1 elsif ($shortcuts{$OPTION}) { }
643 0 2 unless @_
645 0 2 unless /^[\w:]+$/
647 0 2 if $@
657 0 21 if $o->{'CONFIG'}{'CLEAN_BUILD_AREA'}
667 0 13 unless defined $code and $code
669 0 13 if (ref $code eq 'CODE') { }
0 13 elsif (ref $code eq 'ARRAY') { }
1 12 elsif ($code =~ m[[/\\:]] and $code =~ m(^[/\\:\w.\-\ \$\[\]<>]+$)) { }
680 0 0 $!{'ENOENT'} ? :
0 1 unless open my $fh, "<", $code
698 0 0 unless $langfile =~ /^[A-Z]\w*$/
700 0 0 unless defined $INC{"File::Spec::Unix"->catfile("Inline", "Files.pm")} and $Inline::Files::VERSION =~ /^\d\.\d\d$/ and $Inline::Files::VERSION ge "0.51"
703 0 0 unless $lang = Inline::Files::get_filename($pkg)
722 0 18 if $Inline::Config::VERSION
724 0 18 if $o->{'INLINE'}{'md5'} eq $o->{'API'}{'code'}
727 0 18 if ($o->{'CONFIG'}{'_INSTALL_'}) { }
729 0 0 if $o->{'CONFIG'}{'DIRECTORY'}
733 0 0 unless _mkdir($DIRECTORY, 511)
741 1 17 if ($o->{'CONFIG'}{'REWRITE_CONFIG_FILE'})
742 1 0 if (-e "File::Spec"->catfile($DIRECTORY, $configuration_file))
744 0 1 if (not $unlink) { }
745 1 0 if $o->{'CONFIG'}{'_TESTING'}
750 12 10 unless -s "File::Spec"->catfile($DIRECTORY, $configuration_file)
753 0 22 unless open my $fh, "<", "File::Spec"->catfile($DIRECTORY, $configuration_file)
759 0 22 unless ($config =~ /^version :/)
764 0 22 if (UNTAINT())
766 0 0 unless $o->{'CONFIG'}{'NO_UNTAINT_WARN'}
774 4 14 unless (defined $config{'languages'}{$o->{'API'}{'language_id'}})
776 0 4 if (not $unlink) { }
777 1 3 if $o->{'CONFIG'}{'_TESTING'}
790 0 18 unless defined $config{'version'} and $config{'version'} =~ /TRIAL/ or $config{'version'} >= "0.4"
794 4 14 unless defined $config{'languages'}{$o->{'API'}{'language_id'}}
796 1 13 if ($o->{'API'}{'language'} ne $o->{'API'}{'language_id'})
797 0 1 if (defined $$o{$o->{'API'}{'language_id'}})
818 15 0 defined $ENV{'PERL5LIB'} ? :
820 0 15 if ($^O eq "MSWin32")
831 0 15 if UNTAINT()
844 12 0 if (defined $o)
845 0 12 if UNTAINT()
847 0 12 unless -f $perl
848 0 12 if UNTAINT()
849 12 0 if defined $ENV{'PERL5OPT'}
852 0 12 if system $perl, @_inc, "-MInline=_CONFIG_", "-e1", "$dir"
860 0 0 unless -d "File::Spec"->catdir($lib, "Inline")
861 0 0 unless opendir my $dh, "File::Spec"->catdir($lib, "Inline")
864 0 0 unless $mod =~ /\.pm$/
866 0 0 if $checked{$mod}++
867 0 0 if ($mod eq "Config")
871 0 0 if $mod =~ /^(MakeMaker|denter|messages)$/
875 0 0 if $@
877 0 0 if $@
879 0 0 unless my $language = $register->{'language'}
882 0 0 if defined $languages{$_}
894 0 0 unless sysopen my $fh, $file, 65, 438
915 0 14 if $o->{'CONFIG'}{'_INSTALL_'}
917 0 14 if ($o->{'CONFIG'}{'NAME'}) { }
13 1 elsif ($o->{'API'}{'pkg'} eq 'main') { }
927 0 13 if $module =~ /^_*$/
928 13 0 if $module =~ /^\d/
939 14 0 if ($o->{'CONFIG'}{'AUTONAME'}) { }
962 14 0 unless -f $inl
965 0 0 unless open my $fh, "<", $inl
969 0 0 unless $o->{'INLINE'}{'md5'} eq $inl{'md5'}
970 0 0 unless $inl{'inline_version'} ge "0.40"
971 0 0 unless $inl{'Config'}{'version'} eq $Config::Config{'version'}
972 0 0 unless $inl{'Config'}{'archname'} eq $Config::Config{'archname'}
973 0 0 unless (-f $o->{'API'}{'location'})
974 0 0 if $^W
980 0 0 unless $o->{'CONFIG'}{'FORCE_BUILD'}
995 0 0 unless uc($o->{'API'}{'language_id'}) =~ /^(C|CPP|Java|Python|Ruby|Lisp|Pdlpp)$/
997 0 0 if $o->{'API'}{'pkg'} eq "main"
999 0 0 if $o->{'CONFIG'}{'AUTONAME'}
1001 0 0 unless $o->{'CONFIG'}{'NAME'}
1003 0 0 unless $o->{'CONFIG'}{'VERSION'}
1005 0 0 unless $o->{'CONFIG'}{'NAME'} eq $o->{'API'}{'pkg'}
1011 0 0 unless $mod_ver eq $ext_ver
1044 0 13 unless open my $fh, ">", $inl
1077 0 1 if $@
1078 0 1 unless $ref
1089 0 0 unless $o->{'CONFIG'}{'NO_UNTAINT_WARN'}
1100 0 0 if not /^\./
1103 0 0 $< == $> ? :
0 0 if m[^/] and -d $_
1104 0 0 $^O eq 'MSWin32' ? :
1110 0 0 if -x "/bin/sh"
1112 0 0 if $< != $>
1119 0 0 unless $o->{'CONFIG'}{'NO_UNTAINT_WARN'}
1139 0 0 unless opendir my $dh, $prefix
1144 0 0 if ($maybedir and -d $maybedir and $dir =~ /\w{36,}/)
1159 0 0 unless ref $_
1160 0 0 if (ref $_ eq 'CODE') { }
1175 0 0 if $o->{'INLINE'}{'reportbug_handled'}++
1215 0 0 unless open my $fh, ">", "File::Spec"->catfile($o->{'API'}{'build_dir'}, "REPORTBUG")
1241 0 0 if $o->{'INLINE'}{'object_ready'}
1247 0 0 if $o->{'INLINE'}{'object_ready'} and $o->{'CONFIG'}{'FORCE_BUILD'}
1256 0 0 unless $o->{'INLINE'}{'object_ready'}
1268 0 0 if $@
1302 0 13 unless -d $mkpath
1313 0 0 $prefix ? :
1317 0 0 $prefix ? :
1318 0 0 if UNTAINT()
1319 0 0 unless rmdir $rmpath
1327 0 0 unless ref $roots
1330 0 0 if (-d $root) { }
1332 0 0 if (opendir my $dh, $root) { }
1343 0 0 if $name eq $dot or $name eq $dotdot
1345 0 0 if $maybefile and -f $maybefile
1350 0 0 if UNTAINT()
1351 0 0 unless rmdir $root
1354 0 0 if UNTAINT()
1355 0 0 unless unlink $root
1365 1 1 if $TEMP_DIR
1370 1 0 $ENV{'HOME'} ? :
1372 0 1 if ($env and -d $env and -w $env) { }
0 1 elsif ($cwd = abs_path('.') and $cwd ne $home and -d 'File::Spec'->catdir($cwd, '.Inline') and -w 'File::Spec'->catdir($cwd, '.Inline')) { }
1385 0 1 if ($bin = $FindBin::Bin and -d 'File::Spec'->catdir($bin, '.Inline') and -w 'File::Spec'->catdir($bin, '.Inline')) { }
0 1 elsif ($home and -d 'File::Spec'->catdir($home, '.Inline') and -w 'File::Spec'->catdir($home, '.Inline')) { }
0 1 elsif (defined $cwd and $cwd and -d 'File::Spec'->catdir($cwd, $did) and -w 'File::Spec'->catdir($cwd, $did)) { }
0 1 elsif (defined $bin and $bin and -d 'File::Spec'->catdir($bin, $did) and -w 'File::Spec'->catdir($bin, $did)) { }
1 0 elsif (defined $cwd and $cwd and -d $cwd and -w $cwd and _mkdir('File::Spec'->catdir($cwd, $did), 511)) { }
0 0 elsif (defined $bin and $bin and -d $bin and -w $bin and _mkdir('File::Spec'->catdir($bin, $did), 511)) { }
1419 0 1 unless $temp_dir
1427 0 118 if UNTAINT()
1459 0 0 if defined $languages
1476 0 0 if defined $languages
1626 4 0 defined $languages ? :
1935 0 0 $terminate ? :