Condition Coverage

blib/lib/App/Sqitch/Engine.pm
Criterion Covered Total %
condition 97 193 50.2


and 3 conditions

line !l l&&!r l&&r condition
603 10 3 1 $pending and $to_idx < $plan->count - 1
1007 4 1 3 $state->{'script_hash'} and $state->{'script_hash'} eq $state->{'change_id'}
1181 2 0 3 $oldver == 0 and not $self->initialized
1222 0 0 0 @scripts and $scripts[-1][0] == $newver

or 2 conditions

line l !l condition
281 6 2 $mode ||= "all"
322 0 1 $self->no_prompt // 0
323 0 1 $self->prompt_accept // 1
661 2 7 $_->id // ""
666 2 8 $_->id // ""
730 2 4 $_->{'asof_tag'} // ""
787 19 2 $self->change_id_for("change_id", $p{'change_id'}, "change", $p{'change'}, "tag", $p{'tag'}, "project", $p{'project'} || $self->plan->project) // (return)
807 6 3 $self->change_id_for("change_id", $p{'change_id'}, "change", $p{'change'}, "tag", $p{'tag'}, "project", $p{'project'} || $self->plan->project) // (return)
821 25 19 $params->{'tags'} || []
832 1 4 $rework_tags_for{$prev_idx} ||= []
835 1 5 $$ctags[$i++] ||= []
846 0 2 $rework_tags_for{$#changes + 1} ||= []
851 0 6 $$ctags[$i++] ||= []
894 2 0 $self->name_for_change_id($id) // ""
1160 2 0 $self->earliest_change_id(@_) // (return undef)
1166 2 0 $self->latest_change_id(@_) // (return undef)
1218 0 0 $1 || 0

or 3 conditions

line l !l&&r !l&&!r condition
179 5 1 0 ref $_[0] || shift()
220 7 1 0 $plan->index_of($to) // hurl("plan", &__x("Unknown change: \"{change}\"", "change", $to))
500 0 0 1 $plan->index_of($id) // $plan->count - 1
511 17 2 0 $self->change_id_for_key($key) || hurl($ident, $plan->contains($key) ? &__x('Change "{change}" has not been deployed', 'change', $key) : &__x('Cannot find "{change}" in the database or the plan', 'change', $key))
522 16 0 1 $plan->index_of($to_id) // hurl($ident, &__x("Change \"{change}\" is deployed, but not planned", "change", $key))
579 5 0 0 eval {
654 3 5 0 $to_index //= $plan->count - 1
675 4 1 3 @conflicts or @required
745 0 16 1 defined $dep->id or defined $dep->change
16 0 1 defined $dep->id or defined $dep->change or defined $dep->tag
770 1 1 15 $cname eq "HEAD" or $cname eq "ROOT"
787 1 20 0 $p{'project'} || $self->plan->project
807 1 8 0 $p{'project'} || $self->plan->project
926 1 0 0 eval {
993 8 0 0 $plan->index_of($state->{'change_id'}) // hurl("plan", &__x("Cannot find change {id} ({change}) in {file}", "id", $state->{'change_id'}, "change", join(" ", $state->{'change'}, @{[] unless $state->{'tags'};}), "file", $plan->file))
1049 9 0 0 eval {
1060 1 0 0 eval {
1091 1 0 0 eval {
1150 1 0 0 ref $_[0] || $_[0]
1256 4 1 4 $i + $from_idx >= $plan->count or $change->script_hash ne $plan->change_at($i + $from_idx)->script_hash
1329 1 0 0 ref $_[0] || $_[0]
1341 1 0 0 ref $_[0] || $_[0]
1346 1 0 0 ref $_[0] || $_[0]
1351 1 0 0 ref $_[0] || $_[0]
1356 1 0 0 ref $_[0] || $_[0]
1361 1 0 0 ref $_[0] || $_[0]
1366 1 0 0 ref $_[0] || $_[0]
1371 1 0 0 ref $_[0] || $_[0]
1376 1 0 0 ref $_[0] || $_[0]
1381 1 0 0 ref $_[0] || $_[0]
1386 1 0 0 ref $_[0] || $_[0]
1391 1 0 0 ref $_[0] || $_[0]
1396 1 0 0 ref $_[0] || $_[0]
1401 1 0 0 ref $_[0] || $_[0]
1406 1 0 0 ref $_[0] || $_[0]
1411 1 0 0 ref $_[0] || $_[0]
1416 1 0 0 ref $_[0] || $_[0]
1421 1 0 0 ref $_[0] || $_[0]
1426 1 0 0 ref $_[0] || $_[0]
1431 1 0 0 ref $_[0] || $_[0]
1436 1 0 0 ref $_[0] || $_[0]
1441 1 0 0 ref $_[0] || $_[0]
1446 1 0 0 ref $_[0] || $_[0]
1451 1 0 0 ref $_[0] || $_[0]
1456 1 0 0 ref $_[0] || $_[0]
1461 1 0 0 ref $_[0] || $_[0]
1466 1 0 0 ref $_[0] || $_[0]
1471 1 0 0 ref $_[0] || $_[0]
1476 1 0 0 ref $_[0] || $_[0]