Branch Coverage

blib/script/sqlpp
Criterion Covered Total %
branch 157 318 49.3


line true false branch
52 0 0 exists $main::defines{$_[0]} ? :
56 0 1 if $main::sigdie++
82 17 114 if (length $$main::context{'buf'})
88 0 114 if (not defined($ret = <$main::input>)) { }
89 0 0 unless $undef_if_eof
103 0 28 unless (length $$main::context{'buf'})
104 0 0 unless (defined($$main::context{'buf'} = <$main::input>))
113 28 0 if $$main::context{'buf'} =~ s/^(\w+|\S)//
122 0 28 unless $tok =~ /^\w+$/
161 0 271 if ($$main::context{'multiline_comment'} and $$k{'var'} =~ m[\G.*?(\*/)?]cgs)
162 0 0 if $1
167 0 271 if ($$k{'var'} =~ /\G--/ or not $$k{'macro'} and $$k{'var'} =~ /\G#/)
168 0 0 if ($$main::context{'strip'}) { }
0 0 elsif ($$k{'macro'}) { }
179 0 271 if ($$k{'var'} =~ m[\G/\*]cgs)
183 0 271 if $$k{'var'} =~ /\G-+/cg
186 82 189 if ($$k{'var'} =~ /\G(\w+)/cgs)
187 10 72 if ($$k{'parameters'} and exists $$k{'parameters'}{$1}) { }
8 64 elsif ($simple and exists $main::defines{$1}) { }
204 0 82 if $main::debug
209 24 165 if ($full and $$k{'var'} =~ /\G\(\s*/cgs)
211 22 2 if (length $$k{'last_id'} and $main::macros{$$k{'last_id'}})
222 0 24 if $main::debug
229 53 112 if $$k{'var'} =~ /\G\s+/cgs
233 24 88 if ($full and $$k{'var'} =~ /\G(\s*\))/cgs)
235 0 24 unless @{$$k{'ids'};}
237 0 24 if $main::debug
239 22 2 if (length $id and $main::macros{$id})
248 16 72 if ($full and $$k{'var'} =~ /\G(\s*,\s*)/cgs)
249 0 16 unless @{$$k{'ids'};}
251 14 0 if (length $$k{'ids'}[-1][0] and $main::macros{$$k{'ids'}[-1][0]} and @{$$k{'run_stack'};})
262 5 67 if ($$k{'macro'} and $$k{'var'} =~ /\G\#(?:(\#\s*)|(\s*)(\w+)|(.*))/cgs)
263 3 2 if (defined $1) { }
1 1 elsif (defined $3 and exists $$k{'parameters'}{$3}) { }
280 0 1 defined $3 ? :
288 1 66 if $full and $$k{'var'} =~ /\G'[^']*'/cgs
291 66 0 if ($full) { }
292 15 51 if $$k{'var'} =~ /\G[^\w\(\)\'\-\,\#]+/cgs
294 0 0 if $$k{'var'} =~ /\G[^\w\-\#]+/cgs
296 0 51 if not $full and $$k{'var'} =~ /\G[\(\)\']+/cgs
298 0 51 if $main::debug
299 0 51 if $main::debug
302 0 51 scalar @{$$k{'ids'};} ? :
309 0 45 if @{$$k{'ids'};}
328 126 56 if ($cmd eq 'copy') { }
13 43 elsif ($cmd eq 'parameter') { }
13 30 elsif ($cmd eq 'next') { }
23 7 elsif ($cmd eq 'macro') { }
7 0 elsif ($cmd eq 'define') { }
349 3 67 if 1 == @output and $output[0] eq ''
358 0 0 $$handle{'num'} == 1 ? :
0 0 scalar @params == 1 ? :
0 29 unless $$handle{'ellipsis'} or not defined $$handle{'num'} or $$handle{'num'} == scalar @params
366 17 13 if $$handle{'code'}
390 0 11 if $p{$p}
392 0 11 if $p =~ /\'\(\)\#/
412 9 2 if ($$handle{'parametric'}) { }
425 0 0 if ($pragma eq 'macro') { }
0 0 elsif ($pragma eq 'comment') { }
0 0 elsif ($pragma eq 'lang') { }
426 0 0 if ($param eq 'simple') { }
0 0 elsif ($param eq 'all') { }
0 0 elsif ($param eq 'off') { }
436 0 0 if ($param eq 'strip') { }
0 0 elsif ($param eq 'leave') { }
444 0 0 if ($param eq 'sql') { }
0 0 elsif ($param eq 'perl') { }
464 21 42 if (not $$main::context{'buf'} =~ s/^(\w+)\s+//) { }
473 6 36 unless ($$main::context{'ifdef'}[-1]{'state'})
474 0 6 if ($what =~ /^if(n?def)?$/) { }
3 3 elsif ($what eq 'else') { }
0 3 elsif ($what eq 'elif') { }
3 0 elsif ($what eq 'endif') { }
477 3 0 unless @{$$main::context{'ifdef'}[-1]{'passive'};}
478 0 0 unless $$main::context{'ifdef'}[-1]{'passive'}[-1]--
480 0 0 unless @{$$main::context{'ifdef'}[-1]{'passive'};}
482 3 0 unless @{$$main::context{'ifdef'}[-1]{'passive'};}
491 14 28 if ($what eq 'define') { }
3 25 elsif ($what eq 'undef') { }
6 19 elsif ($what =~ /if(n?)def/) { }
1 18 elsif ($what eq 'if') { }
0 18 elsif ($what eq 'elif') { }
6 12 elsif ($what eq 'else') { }
7 5 elsif ($what eq 'endif') { }
0 5 elsif ($what eq 'error') { }
0 5 elsif ($what eq 'include') { }
0 5 elsif ($what eq 'pragma') { }
5 0 elsif ($what eq 'perldef') { }
0 0 elsif ($what =~ /^([\w\d_]+)/) { }
497 10 4 if ($$main::context{'buf'} =~ s/^\(([^\)]*)\)//)
501 0 11 if /(\W)/
510 12 2 if ($heredoc or length $$main::context{'buf'}) { }
1 1 elsif ($parametric) { }
517 7 11 if ($heredoc) { }
518 0 7 if $l eq $def
522 7 11 $do_ml ? :
526 9 2 $parametric ? :
527 0 11 if (defined $ref)
529 0 0 if (not defined $$ref{'var'}) { }
542 0 0 if $fail
549 0 1 if exists $main::macros{$def} and defined $main::macros{$def}{'var'}
559 0 1 if exists $main::defines{$def} and defined $main::defines{$def}{'var'}
575 3 3 length $1 ? :
576 2 4 exists $main::defines{$def} ? :
2 4 exists $main::defines{$def} ? :
590 0 1 $do_ml ? :
594 0 1 if $@
595 1 0 $ret ? :
1 0 $ret ? :
605 0 0 if 0 == $#{$$main::context{'ifdef'};} or @{$$main::context{'ifdef'}[-1]{'passive'};}
613 0 0 $do_ml ? :
616 0 0 if ($$main::context{'ifdef'}[-1]{'do_else'}) { }
618 0 0 if $@
619 0 0 $ret ? :
620 0 0 if $ret
628 0 6 if 0 == $#{$$main::context{'ifdef'};} or @{$$main::context{'ifdef'}[-1]{'passive'};}
629 0 6 unless $$main::context{'ifdef'}[-1]{'flipsleft'}--
630 3 3 $$main::context{'ifdef'}[-1]{'state'} ? :
636 0 7 if 0 == $#{$$main::context{'ifdef'};} or @{$$main::context{'ifdef'}[-1]{'passive'};}
642 0 0 unless $bracket =~ /^["<]$/
646 0 0 if ($bracket eq '<') { }
648 0 0 unless $$main::context{'buf'} =~ s/([^>]*)>//
652 0 0 unless $$main::context{'buf'} =~ s/([^"]*)"//
657 0 0 unless -f "$inc/$file"
661 0 0 unless $found
665 0 0 unless open $main::input, "< $file"
673 0 0 length $$main::context{'buf'} ? :
684 2 3 if ($$main::context{'buf'} =~ s/^\(([^\)]*)\)//)
685 1 1 if ($1 eq '...') { }
691 0 2 unless /^\$\w+$/
699 0 5 unless $heredoc or length $$main::context{'buf'}
703 1 4 if not $ellipsis and @params
710 0 10 if ($heredoc) { }
711 0 0 if $l eq $def
715 5 5 $do_ml ? :
719 0 5 unless (defined $p)
724 2 3 $parametric ? :
737 22 19 if $eatline
746 63 39 if (not $$main::context{'multiline_comment'} and $l =~ s/^#//) { }
33 12 elsif ($$main::context{'ifdef'}[-1]{'state'} and parse_line($h, $l)) { }
751 33 0 if $do_output
756 0 0 if $#{$$main::context{'ifdef'};}
763 0 1 if ($main::input eq '-') { }
0 1 elsif (not open($ih, "< $main::input")) { }
773 0 1 if (defined $main::output)
774 0 0 unless open OUT, "> $main::output"
784 0 1 if $main::input
787 0 1 if ($dominus and $d =~ s/^-//) { }
788 0 0 if ($d =~ /^I(.+)/ or $d eq 'I' and defined $ARGV[$i + 1] || die("Argument required\n") and $ARGV[++$i] =~ /(.*)/) { }
0 0 elsif ($d =~ /^D(.+)/ or $d eq 'D' and defined $ARGV[$i + 1] || die("Argument required\n") and $ARGV[++$i] =~ /(.*)/) { }
0 0 elsif ($d =~ /^o(.+)/ or $d eq 'o' and defined $ARGV[$i + 1] || die("Argument required\n") and $ARGV[++$i] =~ /(.*)/) { }
0 0 elsif ($d eq '?' or $d eq 'h' or $d eq '-help') { }
0 0 elsif ($d eq 'hh') { }
0 0 elsif ($d eq '-') { }
0 0 elsif ($d eq '') { }
800 0 0 unless $d =~ /^([^\=]+)(?:\=(.*))?$/
803 0 0 defined $2 ? :
810 0 0 if defined $main::output
843 0 1 unless defined $main::input