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
605 10 3 1 $pending and $to_idx < $plan->count - 1
1009 4 1 3 $state->{'script_hash'} and $state->{'script_hash'} eq $state->{'change_id'}
1193 2 0 3 $oldver == 0 and not $self->initialized
1234 0 0 0 @scripts and $scripts[-1][0] == $newver

or 2 conditions

line l !l condition
284 6 2 $mode ||= "all"
324 0 1 $self->no_prompt // 0
325 0 1 $self->prompt_accept // 1
663 2 7 $_->id // ""
668 2 8 $_->id // ""
732 2 4 $_->{'asof_tag'} // ""
789 19 2 $self->change_id_for("change_id", $p{'change_id'}, "change", $p{'change'}, "tag", $p{'tag'}, "project", $p{'project'} || $self->plan->project) // (return)
809 6 3 $self->change_id_for("change_id", $p{'change_id'}, "change", $p{'change'}, "tag", $p{'tag'}, "project", $p{'project'} || $self->plan->project) // (return)
823 25 19 $params->{'tags'} || []
834 1 4 $rework_tags_for{$prev_idx} ||= []
837 1 5 $$ctags[$i++] ||= []
848 0 2 $rework_tags_for{$#changes + 1} ||= []
853 0 6 $$ctags[$i++] ||= []
896 2 0 $self->name_for_change_id($id) // ""
1172 2 0 $self->earliest_change_id(@_) // (return undef)
1178 2 0 $self->latest_change_id(@_) // (return undef)
1230 0 0 $1 || 0

or 3 conditions

line l !l&&r !l&&!r condition
182 5 1 0 ref $_[0] || shift()
223 7 1 0 $plan->index_of($to) // hurl("plan", &__x("Unknown change: \"{change}\"", "change", $to))
502 0 0 1 $plan->index_of($id) // $plan->count - 1
513 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))
524 16 0 1 $plan->index_of($to_id) // hurl($ident, &__x("Change \"{change}\" is deployed, but not planned", "change", $key))
581 5 0 0 eval {
656 3 5 0 $to_index //= $plan->count - 1
677 4 1 3 @conflicts or @required
747 0 16 1 defined $dep->id or defined $dep->change
16 0 1 defined $dep->id or defined $dep->change or defined $dep->tag
772 1 1 15 $cname eq "HEAD" or $cname eq "ROOT"
789 1 20 0 $p{'project'} || $self->plan->project
809 1 8 0 $p{'project'} || $self->plan->project
928 1 0 0 eval {
995 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))
1056 9 0 0 eval {
1067 1 0 0 eval {
1103 1 0 0 eval {
1162 1 0 0 ref $_[0] || $_[0]
1268 4 1 4 $i + $from_idx >= $plan->count or $change->script_hash ne $plan->change_at($i + $from_idx)->script_hash
1341 1 0 0 ref $_[0] || $_[0]
1353 1 0 0 ref $_[0] || $_[0]
1358 1 0 0 ref $_[0] || $_[0]
1363 1 0 0 ref $_[0] || $_[0]
1368 1 0 0 ref $_[0] || $_[0]
1373 1 0 0 ref $_[0] || $_[0]
1378 1 0 0 ref $_[0] || $_[0]
1383 1 0 0 ref $_[0] || $_[0]
1388 1 0 0 ref $_[0] || $_[0]
1393 1 0 0 ref $_[0] || $_[0]
1398 1 0 0 ref $_[0] || $_[0]
1403 1 0 0 ref $_[0] || $_[0]
1408 1 0 0 ref $_[0] || $_[0]
1413 1 0 0 ref $_[0] || $_[0]
1418 1 0 0 ref $_[0] || $_[0]
1423 1 0 0 ref $_[0] || $_[0]
1428 1 0 0 ref $_[0] || $_[0]
1433 1 0 0 ref $_[0] || $_[0]
1438 1 0 0 ref $_[0] || $_[0]
1443 1 0 0 ref $_[0] || $_[0]
1448 1 0 0 ref $_[0] || $_[0]
1453 1 0 0 ref $_[0] || $_[0]
1458 1 0 0 ref $_[0] || $_[0]
1463 1 0 0 ref $_[0] || $_[0]
1468 1 0 0 ref $_[0] || $_[0]
1473 1 0 0 ref $_[0] || $_[0]
1478 1 0 0 ref $_[0] || $_[0]
1483 1 0 0 ref $_[0] || $_[0]
1488 1 0 0 ref $_[0] || $_[0]