Branch Coverage

blib/lib/Inline/C.pm
Criterion Covered Total %
branch 172 294 58.5


line true false branch
44 0 58 if $o->{'CONFIG'}{'BUILD_NOISY'}
48 54 4 unless ($o->UNTAINT)
50 52 2 unless (defined $o->{'ILSM'}{'MAKEFILE'}{'INC'})
52 0 52 if ($Inline::C::Config{'osname'} eq 'MSWin32' and $Inline::C::Config{'cc'} =~ /\b(cl\b|clarm|icl)/) { }
0 52 elsif ($Inline::C::Config{'osname'} eq 'solaris' || $Inline::C::Config{'osname'} eq 'sunos' and $Inline::C::Config{'cc'} eq 'cc' and not $Inline::C::Config{'gccversion'}) { }
72 57 1 unless defined $o->{'ILSM'}{'AUTOWRAP'}
73 57 1 unless defined $o->{'ILSM'}{'XSMODE'}
90 1 25 if ($key eq "PRE_HEAD")
91 1 0 if (-f $value) { }
97 0 1 unless open RD, "<", $value
100 0 1 unless close RD
107 2 23 if ($key eq "MAKE" or $key eq "AUTOWRAP" or $key eq "XSMODE")
114 1 22 if ($key eq "CC" or $key eq "LD")
120 0 22 if ($key eq "LIBS")
124 4 18 if ($key eq "INC")
133 3 15 if ($key eq "MYEXTLIB" or $key eq "OPTIMIZE" or $key eq "CCFLAGS" or $key eq "LDDLFLAGS")
141 1 14 if ($key eq "CCFLAGSEX")
149 2 12 if ($key eq "TYPEMAPS")
150 1 1 if (ref $value eq 'ARRAY') { }
151 0 1 unless -f $value
158 0 2 unless -f do { $value }->[$i]
165 0 12 if ($key eq "AUTO_INCLUDE")
169 0 12 if ($key eq "BOOT")
173 2 10 if ($key eq "PREFIX")
174 0 2 unless $value =~ /^\w*$/ and not $value =~ /\n/
180 0 10 if ($key eq "FILTERS")
181 0 0 if $value eq 1 or $value eq 0
182 0 0 unless ref $value eq "ARRAY"
185 0 0 if (ref $val eq 'CODE') { }
0 0 elsif (ref $val eq 'ARRAY') { }
191 0 0 unless $filter_plugin =~ /^[\w:]+$/
195 0 0 if $@
199 0 0 unless defined &{"Inline::Filters::${filter_plugin}::filter";}
207 0 0 if $@
210 0 0 unless keys %filters
211 0 0 if (defined $filters{$val}) { }
224 0 10 if ($key eq "STRUCTS")
226 0 0 if (ref $value eq 'ARRAY') { }
0 0 elsif ($value =~ /^\d+$/) { }
228 0 0 unless $val =~ /^[_a-z][_0-9a-z]*$/i
239 0 0 unless $value =~ /^[_a-z][_0-9a-z]*$/i
244 0 0 if $@
249 3 7 if ($key eq "PROTOTYPES")
251 2 1 if $value eq "ENABLE"
252 0 1 if $value eq "DISABLE"
255 4 3 if ($key eq "PROTOTYPE")
256 1 3 unless ref $value eq "HASH"
261 2 1 if ($key eq "CPPFLAGS")
274 1 1 unless ref $value eq "ARRAY"
276 3 0 if (defined $_) { }
288 8 0 unless ref $value
289 0 8 unless ref $value eq "ARRAY"
291 8 0 if (defined $_) { }
303 0 0 unless ref $value
304 0 0 unless ref $value eq "ARRAY"
306 0 0 if (defined $_) { }
321 0 0 if $o->{'ILSM'}{'XSMODE'}
328 0 0 if (defined $o->{'ILSM'}{'parser'}{'data'}{'functions'}) { }
343 0 0 if $o->{'STRUCT'}{'.any'}
358 0 51 if ($o->{'CONFIG'}{'BUILD_TIMERS'})
360 0 0 if $@
374 0 51 unless open $lockfh, ">", $file
375 51 0 unless $^O =~ /^VMS|riscos|VOS$/
388 50 0 unless $^O =~ /^VMS|riscos|VOS$/
390 0 50 if ($o->{'CONFIG'}{'BUILD_TIMERS'})
400 0 508 if $o->{'CONFIG'}{'BUILD_NOISY'}
402 0 508 if $o->{'CONFIG'}{'BUILD_TIMERS'}
407 0 506 if $o->{'CONFIG'}{'BUILD_TIMERS'}
408 0 506 if $o->{'CONFIG'}{'BUILD_NOISY'}
410 0 506 if $o->{'CONFIG'}{'BUILD_TIMERS'}
411 0 506 if $o->{'CONFIG'}{'BUILD_NOISY'}
419 0 51 if $o->{'ILSM'}{'parser'}
430 0 51 if $o->{'ILSM'}{'parser'}
431 1 50 if $o->{'ILSM'}{'XSMODE'}
435 0 50 if $o->{'STRUCT'}{'.any'}
437 0 50 unless $parser->code($o->{'ILSM'}{'code'})
446 1 31 if $o->{'CONFIG'}{'_TESTING'}
457 0 51 if $o->{'CONFIG'}{'BUILD_NOISY'}
465 51 0 if -f $file
470 0 51 if not $typemap and -f $file
472 0 0 if not $typemap and $^W
475 51 0 if $typemap
477 47 4 if (not $o->UNTAINT)
480 47 0 if (-f $file)
495 0 51 unless @{$o->{'ILSM'}{'MAKEFILE'}{'TYPEMAPS'};}
499 0 101 unless -e $typemap
501 0 101 unless -T $typemap
503 0 101 unless open TYPEMAP, $typemap
510 459 22891 if /^\s*\#/
512 101 22790 if (/^INPUT\s*$/)
513 101 22689 if (/^OUTPUT\s*$/)
514 0 22689 if (/^TYPEMAP\s*$/)
515 2854 19835 if ($mode eq 'Typemap') { }
15349 4486 elsif (/^\s/) { }
2243 2243 elsif ($mode eq 'Input') { }
520 203 2651 if /^$/ or /^\#/
521 0 2651 unless my($type, $kind, $proto) = /^\s*(.*?\S)\s+(\S+)\s*($proto_re*)\s*$/
527 2651 0 unless $proto
528 0 2651 unless &ValidProtoString($proto)
569 2651 0 $string =~ /^$proto_re+$/ ? :
598 0 51 unless open XS, ">", $file
599 1 50 if ($o->{'ILSM'}{'XSMODE'}) { }
600 0 1 if $^W and not $o->{'ILSM'}{'code'} =~ /MODULE\s*=\s*$module\b/
654 0 0 if (defined $o->{'ILSM'}{'XS'}{'BOOT'} and $o->{'ILSM'}{'XS'}{'BOOT'})
667 13 37 if ($o->{'CONFIG'}{'_TESTING'})
669 2 11 unless (-f $file)
670 0 2 unless open TEST_FH, ">", $file
671 0 2 unless close TEST_FH
678 2 48 $o->{'ILSM'}{'XS'}{'PREFIX'} ? :
684 2 48 defined $o->{'CONFIG'}{'PROTOTYPES'} ? :
701 0 0 if not defined $data->{'functions'} and $^W
715 0 61 if $arg_type eq "..."
720 2 79 if (defined $o->{'CONFIG'}{'PROTOTYPE'})
724 2 79 if (defined $h{$function})
729 0 81 if @arg_names and $arg_names[-1] eq "..."
733 18 63 if ($return_type eq 'void') { }
0 63 elsif ($listargs) { }
734 10 8 if ($o->{'CONFIG'}{'_TESTING'}) { }
795 0 51 unless open HEADER, "> " . "File::Spec"->catfile($o->{'API'}{'build_dir'}, "INLINE.h")
847 0 51 unless open MF, "> " . "File::Spec"->catfile($o->{'API'}{'build_dir'}, "Makefile.PL")
877 4 47 if $o->UNTAINT
888 1 50 if $@
896 0 51 unless -f ($perl = $Config::Config{'perlpath'}) or $perl = $^X
898 0 51 if $perl =~ /\s/
906 0 51 unless my $make = $o->{'ILSM'}{'MAKE'} || $Config::Config{'make'}
908 51 0 if $ENV{'MAKEFLAGS'}
914 0 50 unless my $make = $o->{'ILSM'}{'MAKE'} || $Config::Config{'make'}
915 50 0 if ($ENV{'MAKEFLAGS'})
925 50 0 if ($o->{'API'}{'cleanup'})
941 0 152 defined $ENV{'PERL_INLINE_BUILD_NOISY'} ? :
944 152 0 unless ($build_noisy)
947 12 140 if $o->UNTAINT
948 1 151 unless system($cmd) == 0
956 1 0 if (not $build_noisy and open OUTPUT, $output_file)
977 1 0 if ($cmd =~ /^make >/)
979 4 29 if /^(?:MAKE|PATH)/
1003 0 51 unless open MAKEFILE, "< Makefile"
1008 0 51 unless open MAKEFILE, "> Makefile"
1011 204 52629 if (/^(\w+)\s*=\s*\S+.*$/ and $fix = $fixes{$1}) { }
1026 1 18 if $ENV{'NO_INSANE_DIRNAMES'}
1033 3 15 if $_[0] =~ /"/ or $_[0] =~ /\t/
1052 1 25 if -d $in[$i] . "-I" . $t
1074 9 41 if $in[$i] =~ /\s/
1082 36 14 if $i
1083 9 41 if $q{$i}
1102 0 14 unless open TEST_FH, ">>", $file
1104 0 14 if not close TEST_FH