Condition Coverage

blib/lib/ExtUtils/ParseXS.pm
Criterion Covered Total %
condition 113 203 55.6


and 3 conditions

line !l l&&!r l&&r condition
262 15 71 5 @{$self->{'line'};} and not $self->{'line'}[0] =~ /^[^\#]/
275 69 1 1 $XSS_work_idx and not $self->{'XSStack'}[$XSS_work_idx]{'varname'}
319 0 0 1 $self->{'WantLineNumbers'} and not $self->{'line'}[0] =~ /^\s*#\s*line\b/
331 0 56 0 $self->{'argtypes'} and $self->{'ret_type'} =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s
374 0 9 47 $self->{'argtypes'} and $orig_args =~ /\S/
387 4 53 13 defined $pre and length $pre
390 0 8 5 $self->{'inout'} and s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//
428 0 0 0 $self->{'inout'} and s/^(IN|IN_OUTLIST|OUTLIST|IN_OUT|OUT)\b\s*//
452 0 0 4 $args[$i] eq "" and $i == $#args
483 22 34 0 $CODE && join($", @{$self->{'line'};}) =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x
572 0 57 0 not $self->{'thisdone'} and defined $class
612 0 0 36 $self->{'optimize'} and $outputmap
0 9 27 $self->{'optimize'} and $outputmap and $outputmap->targetable
625 18 0 0 defined $class and $self->{'func_name'} eq "DESTROY"
681 30 27 0 $self->{'have_CODE_with_RETVAL'} and not $self->{'have_OUTPUT'}
57 0 0 $self->{'have_CODE_with_RETVAL'} and not $self->{'have_OUTPUT'} and $self->{'ret_type'} ne "void"
701 34 23 0 $self->{'gotRETVAL'} and $self->{'RETVAL_code'}
707 0 5 27 $self->{'optimize'} && $outputmap && $outputmap->targetable
716 0 27 0 not $trgt->{'with_size'} and $trgt->{'type'} eq "p"
763 57 0 0 $self->{'ScopeThisXSUB'} and not $PPCODE
839 50 0 6 $self->{'XsubAliases'} and keys %{$$self{"XsubAliases"};}
1029 633 0 56 not /\S/ and @{$self->{'line'};}
1037 48 0 0 not /\S/ and @{$self->{'line'};}
1043 14 1 33 $self->{'WantLineNumbers'} and not /^\s*#\s*line\b/
15 0 33 $self->{'WantLineNumbers'} and not /^\s*#\s*line\b/ and not /^#if XSubPPtmp/
1044 1 47 83 defined $_ and not /^$BLOCK_regexp/o
1057 5 0 5 not /\S/ and @{$self->{'line'};}
1061 0 5 5 defined $_ and not /^$BLOCK_regexp/o
1081 1 1 0 $self->{'condnum'} and $self->{'cond'} eq ""
1122 49 13 0 defined $self->{'argtype_seen'}{$var_name} and not $self->{'processing_arg_with_types'}
1149 57 0 4 $self->{'in_out'}{$var_name} and $self->{'in_out'}{$var_name} =~ /^OUT/
57 0 4 $self->{'in_out'}{$var_name} and $self->{'in_out'}{$var_name} =~ /^OUT/ and not $var_init =~ /\S/
1196 0 8 23 not $self->{'gotRETVAL'} and $outarg eq "RETVAL"
1221 8 0 0 exists $self->{'in_out'}{$outarg} and $self->{'in_out'}{$outarg} =~ /OUT$/
1541 1 0 0 /\|\s*$/ and /^\s*perl\s/
1585 0 0 0 not /^\"/ and length $_ > 0
1600 0 1 0 defined $command and $command =~ /\s/
1 0 0 defined $command and $command =~ /\s/ and not $command =~ /[$quote]/
1685 1 1 0 $isPipe and $?
1777 84 10 0 not defined $self->{'lastline'} and $self->{'XSStack'}[-1]{'type'} eq "if"
1812 346 75 148 $self->{'lastline'} =~ /^\S/ and @{$self->{'line'};}
421 74 74 $self->{'lastline'} =~ /^\S/ and @{$self->{'line'};} and $self->{'line'}[-1] eq ""
1822 488 0 0 $self->{'lastline'} =~ /\\$/ and defined($tmp_line = readline $self->{'FH'})
1830 9 75 101 @{$self->{'line'};} and $self->{'line'}[-1] eq ""
1856 0 0 0 $init =~ s/^\+// and $num
1904 38 16 1 $xstype eq "T_PV" and exists $self->{'lengthof'}{$var}

or 2 conditions

line l !l condition
1016 1 0 $_[0]{'errors'} || 0
1019 0 1 $ExtUtils::ParseXS::Singleton->{'errors'} || 0
1146 0 56 $typemap && $typemap->proto || '$'
1764 6 0 $self->current_line_number || 0

or 3 conditions

line l !l&&r !l&&!r condition
403 13 0 0 length $pre or $islength
414 4 1 8 $out_type eq "OUTLIST" or $islength
440 0 0 0 defined $static || $self->{'func_name'} eq 'new'
573 0 0 0 defined $static or $self->{'func_name'} eq "new"
615 7 0 50 @fake_INPUT or @fake_INPUT_pre
696 0 2 1 $self->{'gotRETVAL'} or $wantRETVAL
701 23 9 25 $self->{'gotRETVAL'} or $wantRETVAL
956 0 1 7 defined $self->{'XsubAliases'} or defined $self->{'interfaces'}
978 0 1 7 defined $self->{'XsubAliases'} or defined $self->{'interfaces'}
1122 0 0 62 $self->{'arg_list'}{$var_name}++ or defined $self->{'argtype_seen'}{$var_name} and not $self->{'processing_arg_with_types'}
1144 56 0 0 $typemap or $is_overridden_typemap
1149 1 4 57 $var_init =~ /^[=;]\s*NO_INIT\s*;?\s*$/ or $self->{'in_out'}{$var_name} and $self->{'in_out'}{$var_name} =~ /^OUT/ and not $var_init =~ /\S/
1621 0 0 1 /^\s*\|/ or /\|\s*$/
1793 560 9 3 not $self->{'lastline'} =~ /^\s*#/ or $self->{'lastline'} =~ /^\#[ \t]* (?: (?:if|ifn?def|elif|else|endif| define|undef|pragma|error| warning|line\s+\d+|ident) \b | (?:include(?:_next)?|import) \s* ["<] .* [>"] ) /x
1903 0 0 0 $xstype =~ s/OBJ$/REF/ or $xstype =~ s/^T_REF_IV_PTR$/T_PTRREF/
1958 0 1 51 $self->{'ScopeThisXSUB'} or not $expr =~ /^\s*\$var =/
2111 0 0 5 $do_mortal or $do_setmagic
2126 0 0 5 $do_mortal or $do_setmagic
0 0 5 $do_mortal or $do_setmagic or $do_copy_tmp