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 69 5 @{$self->{'line'};} and not $self->{'line'}[0] =~ /^[^\#]/
275 67 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 54 0 $self->{'argtypes'} and $self->{'ret_type'} =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s
374 0 9 45 $self->{'argtypes'} and $orig_args =~ /\S/
387 4 53 7 defined $pre and length $pre
390 0 4 3 $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 20 34 0 $CODE && join($", @{$self->{'line'};}) =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x
572 0 55 0 not $self->{'thisdone'} and defined $class
612 0 0 34 $self->{'optimize'} and $outputmap
0 8 26 $self->{'optimize'} and $outputmap and $outputmap->targetable
625 16 0 0 defined $class and $self->{'func_name'} eq 'DESTROY'
681 28 27 0 $self->{'have_CODE_with_RETVAL'} and not $self->{'have_OUTPUT'}
55 0 0 $self->{'have_CODE_with_RETVAL'} and not $self->{'have_OUTPUT'} and $self->{'ret_type'} ne 'void'
695 32 23 0 $self->{'gotRETVAL'} and $self->{'RETVAL_code'}
700 0 4 26 $self->{'optimize'} && $outputmap && $outputmap->targetable
709 0 26 0 not $trgt->{'with_size'} and $trgt->{'type'} eq 'p'
740 54 0 1 $c and not $prepush_done
757 55 0 0 $self->{'ScopeThisXSUB'} and not $PPCODE
833 48 0 6 $self->{'XsubAliases'} and keys %{$$self{'XsubAliases'};}
1023 613 0 54 not /\S/ and @{$self->{'line'};}
1031 48 0 0 not /\S/ and @{$self->{'line'};}
1037 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/
1038 1 47 83 defined $_ and not /^$BLOCK_regexp/o
1051 5 0 5 not /\S/ and @{$self->{'line'};}
1055 0 5 5 defined $_ and not /^$BLOCK_regexp/o
1075 1 1 0 $self->{'condnum'} and $self->{'cond'} eq ''
1116 49 7 0 defined $self->{'argtype_seen'}{$var_name} and not $self->{'processing_arg_with_types'}
1143 53 0 2 $self->{'in_out'}{$var_name} and $self->{'in_out'}{$var_name} =~ /^OUT/
53 0 2 $self->{'in_out'}{$var_name} and $self->{'in_out'}{$var_name} =~ /^OUT/ and not $var_init =~ /\S/
1190 0 8 23 not $self->{'gotRETVAL'} and $outarg eq 'RETVAL'
1215 8 0 0 exists $self->{'in_out'}{$outarg} and $self->{'in_out'}{$outarg} =~ /OUT$/
1535 1 0 0 /\|\s*$/ and /^\s*perl\s/
1579 0 0 0 not /^\"/ and length $_ > 0
1594 0 1 0 defined $command and $command =~ /\s/
1 0 0 defined $command and $command =~ /\s/ and not $command =~ /[$quote]/
1679 1 1 0 $isPipe and $?
1771 82 10 0 not defined $self->{'lastline'} and $self->{'XSStack'}[-1]{'type'} eq 'if'
1806 344 73 144 $self->{'lastline'} =~ /^\S/ and @{$self->{'line'};}
417 72 72 $self->{'lastline'} =~ /^\S/ and @{$self->{'line'};} and $self->{'line'}[-1] eq ''
1816 482 0 0 $self->{'lastline'} =~ /\\$/ and defined($tmp_line = readline $self->{'FH'})
1824 9 73 99 @{$self->{'line'};} and $self->{'line'}[-1] eq ''
1850 0 0 0 $init =~ s/^\+// and $num
1898 38 12 1 $xstype eq 'T_PV' and exists $self->{'lengthof'}{$var}

or 2 conditions

line l !l condition
1010 1 0 $_[0]{'errors'} || 0
1013 0 1 $ExtUtils::ParseXS::Singleton->{'errors'} || 0
1140 0 52 $typemap && $typemap->proto || '$'
1758 6 0 $self->current_line_number || 0

or 3 conditions

line l !l&&r !l&&!r condition
403 7 0 0 length $pre or $islength
414 2 1 4 $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 5 0 50 @fake_INPUT or @fake_INPUT_pre
695 23 7 25 $self->{'gotRETVAL'} or $wantRETVAL
950 0 1 7 defined $self->{'XsubAliases'} or defined $self->{'interfaces'}
972 0 1 7 defined $self->{'XsubAliases'} or defined $self->{'interfaces'}
1116 0 0 56 $self->{'arg_list'}{$var_name}++ or defined $self->{'argtype_seen'}{$var_name} and not $self->{'processing_arg_with_types'}
1138 52 0 0 $typemap or $is_overridden_typemap
1143 1 2 53 $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/
1615 0 0 1 /^\s*\|/ or /\|\s*$/
1787 552 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
1897 0 0 0 $xstype =~ s/OBJ$/REF/ or $xstype =~ s/^T_REF_IV_PTR$/T_PTRREF/
1952 0 1 47 $self->{'ScopeThisXSUB'} or not $expr =~ /^\s*\$var =/
2105 0 0 4 $do_mortal or $do_setmagic
2120 0 0 4 $do_mortal or $do_setmagic
0 0 4 $do_mortal or $do_setmagic or $do_copy_tmp