Condition Coverage

blib/lib/Batch/Interpreter.pm
Criterion Covered Total %
condition 0 264 0.0


and 2 conditions

line l !l condition
2249 0 0 /[\?\*]/ and return $self->command_error('%s: is a glob', $_)
2289 0 0 /[\?\*]/ and return $self->commanderror('%s: is a glob', $_)
2313 0 0 /[\?\*]/ and return $self->command_error('%s: is a glob', $_)

and 3 conditions

line !l l&&!r l&&r condition
388 0 0 0 defined $value and '' eq $value
393 0 0 0 defined $self->{'vars'}{$uc_var} && $self->{'vars'}{$uc_var} eq $value
765 0 0 0 $q =~ /^\s+$/ and pos $token == length $token
887 0 0 0 '' eq $uc_name and not $mod
0 0 0 '' eq $uc_name and not $mod and not $premod
910 0 0 0 defined $val and $premod eq '~'
913 0 0 0 defined $mod and defined $val
924 0 0 0 $_ < 0 and $_ .= length $val
925 0 0 0 $offs >= 0 and $offs < length $val
0 0 0 $offs >= 0 and $offs < length $val and $len >= 0
995 0 0 0 $mod =~ /[dpnx]/ and $replace
1021 0 0 0 $str =~ /\G$after_tilde_pat/cg and defined(my $var = $2)
0 0 0 $str =~ /\G$after_tilde_pat/cg and defined(my $var = $2) and $1 =~ /^([fdpnxsatz]*+)(?:\$(\w++)\:)?$/
1134 0 0 0 exists $self->{'saved_handles'} and exists $self->{'saved_handles'}{'1'}
1174 0 0 0 defined $token and $token ne ''
1445 0 0 0 defined $token and $token ne ''
1515 0 0 0 $cmd eq 'return' and @{$self->{'call_stack'};}
1541 0 0 0 defined $content and $content =~ /^\d++$/
1549 0 0 0 defined $content and $content =~ /^\d++$/
1614 0 0 0 not $is_glob and $mode ne 'recursive'
1737 0 0 0 $list =~ /^\s*\"/s and $list =~ /\"\s*+$/s
0 0 0 $usebackq and $list =~ /^\s*\`/s
0 0 0 $usebackq and $list =~ /^\s*\`/s and $list =~ /\`\s*+$/s
1872 0 0 0 @arg and $arg[0] =~ /^\:(\w+)$/
2004 0 0 0 exists $handlers->{$key} and defined($handler = $handlers->{$key})
2017 0 0 0 '' eq ref $ret and defined $ret
2130 0 0 0 $attr->{'flip_stdin'} and not defined $result
2150 0 0 0 $attr->{'flip_stdout'} and not defined $result
2170 0 0 0 $attr->{'flip_stderr'} and not defined $result
2286 0 0 0 defined $src and defined $dest
0 0 0 defined $src and defined $dest and not @$args
2338 0 0 0 $arith and $prompt
2586 0 0 0 length $str >= $minlen && $str eq substr($pattern, 0, length $str)
2600 0 0 0 $rest and $arg =~ m[^/\+(\d+)$]
0 0 0 $rest and is_shortened('/L[OCALE]', $arg)
0 0 0 $rest and is_shortened('/M[EMORY]', $arg)
0 0 0 $rest and is_shortened('/T[EMPORARY]', $arg)
0 0 0 $rest and is_shortened('/O[UTPUT]', $arg)
2670 0 0 0 ref $cmd and $cmd->{'pipe_to'}
2720 0 0 0 $self->{'dump_parse_tree'} and ref $cmd
2774 0 0 0 @arg and defined $arg[0]
2778 0 0 0 $lines and @$lines > 1
2785 0 0 0 $lines->[$_] =~ /^\s*+\:\s*+(\w+)\s*+$/ and $$index{uc $1} = $_ + 1

or 2 conditions

line l !l condition
278 0 0 $self->{'vars'} //= {}
281 0 0 $self->{'varcases'} //= {map((uc $_, $_), keys %{$$self{'vars'};}), %{$self->default_variable_cases;}}
288 0 0 $self->{'assume_is_executable'} //= {}
291 0 0 delete $self->{'filenames'} // {}
294 0 0 delete $self->{'remote_names'} // []
305 0 0 delete $self->{'mountpoints'} // [$self->{'default_drive'} . ':', '/']
367 0 0 $message // ''
610 0 0 $result // ''
621 0 0 ('File::Spec::Win32'->splitpath($path))[1] // '\\'
653 0 0 (stat $syspath)[9] // 0
660 0 0 $mode // ''
708 0 0 $_ // ''
845 0 0 $find_marker{$marker} // die("unknown marker '${marker}'")
864 0 0 $self->{'args'}[$2] // ''
881 0 0 $name //= ''
971 0 0 $self->{'vars'}{$var} // ''
993 0 0 -s $sysfile || ''
1029 0 0 $self->find_in_path(uc $path, $replace) // ''
1079 0 0 $self->{'vars'}{'PROMPT'} // '$N$G'
1161 0 0 pos $$cur // 0
1167 0 0 pos $$cur // 0
1227 0 0 $raw_line // ''
1230 0 0 $raw_line // ''
1309 0 0 $stop // {}
1451 0 0 $val // ''
1467 0 0 $1 // 1
1673 0 0 /^-?\d+$/ or return $self->syn_error(q[for: '%s' is not a number], $_)
1729 0 0 /^\d++$/ or return $self->syn_error(q[invalid token '%s'], $_)
1813 0 0 $cmd->{'redirect'} // ''
1846 0 0 $redirects || ' '
1936 0 0 $1 // 'error'
2116 0 0 $attr->{'add_to_env'} // {}
2133 0 0 $pid // 1
2153 0 0 $pid // 1
2173 0 0 $pid // 1
2227 0 0 $args->[0] // ''
2353 0 0 $self->readline($set) // ''
2392 0 0 $self->{'vars'}{uc $v} // 0
2686 0 0 $pid // 1

or 3 conditions

line l !l&&r !l&&!r condition
283 0 0 0 $self->{'filenames'} //= $self->default_filenames
284 0 0 0 $self->{'extension_handlers'} //= $self->builtin_extension_handlers
285 0 0 0 $self->{'internal_commands'} //= $self->builtin_internal_commands
286 0 0 0 $self->{'external_commands'} //= $self->builtin_external_commands
294 0 0 0 $self->{'remote_name_map'} //= delete $self->{'remote_names'} // []
352 0 0 0 $self->{'locale'}->get_string('message', $message) // $message
599 0 0 0 $self->{'curdir'} //= 'File::Spec::Win32'->catdir($self->sys2unc(getcwd()))
616 0 0 0 ('File::Spec::Win32'->splitpath($path))[0] // $self->{'default_drive'} . ':'
958 0 0 0 $self->{'vars'}{'PATHEXT'} // $self->{'default_pathext'}
960 0 0 0 $self->{'var_path_cache'}{$var}{$filename} //= do { my $found = &first_value(sub { -f $self->unc2sys($_); } , map({my $f = $_; $f, map("$f$_", @pathext);} map('File::Spec::Win32'->catfile($_, $filename), split(/;/, $self->{'vars'}{$var} // '', 0)))); defined $found ? $self->sys2unc($found) : undef }
1115 0 0 0 $named_fileno{$number} // $number
1129 0 0 0 $self->{'saved_handles'}{$fileno} //= $old
1630 0 0 0 $mode eq 'files' or $mode eq 'directories'
1871 0 0 0 $lc_qcommand eq 'goto' or $lc_qcommand eq 'exit'
2056 0 0 0 $self->{'assume_is_executable'}{uc $exe} or -f $exe
2057 0 0 0 $self->find_in_path('PATH', $command) // $command
2819 0 0 0 $result eq 'next' or $result eq 'return'