Branch Coverage

blib/lib/App/Sqitch/Engine.pm
Criterion Covered Total %
branch 179 204 87.7


line true false branch
164 1 142 unless my $target = $p->{'target'}
167 1 141 unless my $ekey = $target->engine_key
172 2 139 unless eval "require $pkg"
180 1 5 if $class eq "App::Sqitch::Engine"
201 8 0 if $@
217 1 12 if $to_index < 0
219 8 4 if (defined $to)
226 1 6 if ($to_index == $position)
235 1 9 if ($position == $to_index) { }
7 2 elsif ($position == -1) { }
242 3 4 if ($self->initialized) { }
255 1 1 if $to_index < $position
261 5 3 defined $to ? :
282 3 1 $mode eq 'all' ? :
2 4 $mode eq 'tag' ? :
2 6 $mode eq 'change' ? :
312 14 1 if (defined $prompt) { }
313 0 14 unless defined $prompt_default
334 7 7 if (defined $to) { }
337 3 4 unless (my($change) = $self->_load_changes($self->change_for_key($to)))
339 1 2 if ($plan->find($to))
357 1 3 unless (@changes = $self->deployed_changes_since($self->_load_changes($change)))
367 2 1 if ($prompt) { }
378 1 1 unless $sqitch->ask_yes_no(&__x("Revert changes to {change} from {destination}?", "change", $change->format_name_with_tags, "destination", $self->destination), $prompt_default)
391 3 4 unless (@changes = $self->deployed_changes)
398 3 1 if ($prompt) { }
408 1 2 unless $sqitch->ask_yes_no(&__x("Revert all changes from {destination}?", "destination", $self->destination), $prompt_default)
451 2 6 unless (@changes)
452 1 1 $plan->count ? :
459 1 5 if ($plan->count == 0)
469 1 4 if (my $count = $self->_verify_changes($from_idx, $to_idx, !$to, @changes))
473 0 1 if @changes > $num_changes
491 8 3 unless defined $from
498 3 9 if defined $to
499 1 8 if (my $id = $self->latest_change_id)
528 9 7 if ($pop) { }
564 20 1 if (defined $plan_index) { }
566 4 16 if ($plan_index != $from_idx + $i)
581 19 2 unless $reworked
584 7 14 $errs ? :
590 14 2 if defined &first(sub {
603 1 13 if ($pending and $to_idx < $plan->count - 1)
604 1 0 if (my(@pending) = map({$plan->change_at($_);} $to_idx + 1 .. $plan->count - 1))
623 11 9 if (-e $file)
661 7 2 unless $seen{$_->id // ""}
666 2 8 if (my $req = $seen{$_->id // ''}) { }
675 5 3 if (@conflicts or @required)
680 4 1 if @conflicts = &$listof(@conflicts)
687 2 3 if @required = &$listof(@required)
698 1 2 if (my(@ids) = $self->are_deployed_changes(@changes))
718 1 4 unless my(@requiring) = grep({not $seen{$_->{'change_id'}};} $self->changes_requiring_change($change))
730 3 3 $_->{'project'} eq $proj ? :
735 3 1 if @msg
745 1 16 unless defined $dep->id or defined $dep->change or defined $dep->tag
768 7 19 if $tag
769 2 17 if $cname =~ /^[0-9a-f]{40}$/
770 2 15 if $cname eq "HEAD" or $cname eq "ROOT"
820 1 44 unless $params
829 5 39 if (defined(my $prev_idx = $seen{$params->{'name'}}))
841 2 42 if (defined(my $reworked_idx = eval {
877 0 1 if @{$ids;} <= 1
890 0 2 if (my $change = $plan->find($id)) { }
915 10 0 if (my(@run) = reverse(@_))
916 3 7 $tagged ? :
917 6 4 $tagged ? :
943 8 14 if ($change->tags)
949 4 1 if (my $ident = eval {
950 2 2 unless $ident eq "private"
971 4 1 if (my $ident = &try(sub {
972 2 2 unless $ident eq "private"
986 1 20 if ($self->_no_registry) { }
8 12 elsif (my $state = $self->current_state) { }
993 0 0 unless $state->{'tags'}
998 1 7 unless (exists $state->{'script_hash'})
1007 3 5 if $state->{'script_hash'} and $state->{'script_hash'} eq $state->{'change_id'}
1011 7 1 if (my(@tags) = $change->tags) { }
1026 1 1 $thing->isa('App::Sqitch::Plan::Tag') ? :
1042 58 16 unless $self->log_only
1044 5 61 if $self->with_verify
1057 6 3 unless $self->log_only
1085 30 10 unless $self->log_only
1107 1 3 if $self->_locked
1108 1 2 if $self->try_lock
1119 1 1 if $self->wait_lock
1139 0 0 if (my $ret = &$code())
1143 0 0 if $secs < 0
1179 31 5 if $newver == $oldver
1181 3 2 if $oldver == 0 and not $self->initialized
1186 1 1 if $newver < $oldver
1192 1 0 if $newver > $oldver
1201 0 0 unless $self->needs_upgrade
1207 0 0 if $newver < $oldver
1222 0 0 unless @scripts and $scripts[-1][0] == $newver
1256 5 4 if $i + $from_idx >= $plan->count or $change->script_hash ne $plan->change_at($i + $from_idx)->script_hash
1268 0 1 if $divergent_idx == -1
1269 0 1 if $divergent_idx == 0
1286 2 6 unless (@deployed_changes)
1287 1 1 $plan->count ? :
1299 4 2 if ($divergent_change_idx != -1)
1308 4 2 if $num_failed
1324 0 4 if $_[0]->_no_registry
1335 0 0 unless $self->_initialize