Branch Coverage

blib/lib/App/Sqitch/Engine.pm
Criterion Covered Total %
branch 173 194 89.1


line true false branch
144 1 138 unless my $target = $p->{'target'}
147 1 137 unless my $ekey = $target->engine_key
152 2 135 unless eval "require $pkg"
160 1 5 if $class eq "App::Sqitch::Engine"
181 8 0 if $@
197 1 12 if $to_index < 0
199 8 4 if (defined $to)
206 1 6 if ($to_index == $position)
215 1 9 if ($position == $to_index) { }
7 2 elsif ($position == -1) { }
222 3 4 if ($self->initialized) { }
235 1 1 if $to_index < $position
241 5 3 defined $to ? :
257 3 1 $mode eq 'all' ? :
2 4 $mode eq 'tag' ? :
2 6 $mode eq 'change' ? :
283 7 6 if (defined $to) { }
286 3 4 unless (my($change) = $self->_load_changes($self->change_for_key($to)))
288 1 2 if ($plan->find($to))
304 1 3 unless (@changes = $self->deployed_changes_since($self->_load_changes($change)))
312 1 2 if ($self->no_prompt) { }
319 1 1 unless $sqitch->ask_yes_no(&__x("Revert changes to {change} from {destination}?", "change", $change->format_name_with_tags, "destination", $self->destination), $self->prompt_accept)
331 2 4 unless (@changes = $self->deployed_changes)
336 1 3 if ($self->no_prompt) { }
342 1 2 unless $sqitch->ask_yes_no(&__x("Revert all changes from {destination}?", "destination", $self->destination), $self->prompt_accept)
382 2 6 unless (@changes)
383 1 1 $plan->count ? :
390 1 5 if ($plan->count == 0)
400 1 4 if (my $count = $self->_verify_changes($from_idx, $to_idx, !$to, @changes))
404 0 1 if @changes > $num_changes
422 8 3 unless defined $from
429 3 9 if defined $to
430 1 8 if (my $id = $self->latest_change_id)
459 9 7 if ($pop) { }
495 20 1 if (defined $plan_index) { }
497 4 16 if ($plan_index != $from_idx + $i)
512 19 2 unless $reworked
515 7 14 $errs ? :
521 14 2 if defined &first(sub {
534 1 13 if ($pending and $to_idx < $plan->count - 1)
535 1 0 if (my(@pending) = map({$plan->change_at($_);} $to_idx + 1 .. $plan->count - 1))
554 11 9 if (-e $file)
592 7 2 unless $seen{$_->id // ""}
597 2 8 if (my $req = $seen{$_->id // ''}) { }
606 5 3 if (@conflicts or @required)
611 4 1 if @conflicts = &$listof(@conflicts)
618 2 3 if @required = &$listof(@required)
629 1 2 if (my(@ids) = $self->are_deployed_changes(@changes))
649 1 4 unless my(@requiring) = grep({not $seen{$_->{'change_id'}};} $self->changes_requiring_change($change))
661 3 3 $_->{'project'} eq $proj ? :
666 3 1 if @msg
676 1 16 unless defined $dep->id or defined $dep->change or defined $dep->tag
699 7 19 if $tag
700 2 17 if $cname =~ /^[0-9a-f]{40}$/
701 2 15 if $cname eq "HEAD" or $cname eq "ROOT"
751 1 44 unless $params
760 5 39 if (defined(my $prev_idx = $seen{$params->{'name'}}))
772 2 42 if (defined(my $reworked_idx = eval {
808 0 1 if @{$ids;} <= 1
821 0 2 if (my $change = $plan->find($id)) { }
846 10 0 if (my(@run) = reverse(@_))
847 3 7 $tagged ? :
848 6 4 $tagged ? :
874 8 14 if ($change->tags)
880 4 1 if (my $ident = eval {
881 2 2 unless $ident eq "private"
902 4 1 if (my $ident = &try(sub {
903 2 2 unless $ident eq "private"
917 8 12 if (my $state = $self->current_state) { }
921 0 0 unless $state->{'tags'}
926 1 7 unless (exists $state->{'script_hash'})
935 3 5 if $state->{'script_hash'} and $state->{'script_hash'} eq $state->{'change_id'}
939 7 1 if (my(@tags) = $change->tags) { }
954 1 1 $thing->isa('App::Sqitch::Plan::Tag') ? :
970 58 16 unless $self->log_only
972 5 61 if $self->with_verify
985 6 3 unless $self->log_only
1013 30 10 unless $self->log_only
1035 1 3 if $self->_locked
1036 1 2 if $self->try_lock
1047 1 1 if $self->wait_lock
1067 0 0 if (my $ret = &$code())
1071 0 0 if $secs < 0
1107 30 5 if $newver == $oldver
1109 3 2 if $oldver == 0 and not $self->initialized
1114 1 1 if $newver < $oldver
1120 1 0 if $newver > $oldver
1129 0 0 unless $self->needs_upgrade
1135 0 0 if $newver < $oldver
1150 0 0 unless @scripts and $scripts[-1][0] == $newver
1184 5 4 if $i + $from_idx >= $plan->count or $change->script_hash ne $plan->change_at($i + $from_idx)->script_hash
1196 0 1 if $divergent_idx == -1
1197 0 1 if $divergent_idx == 0
1214 2 6 unless (@deployed_changes)
1215 1 1 $plan->count ? :
1227 4 2 if ($divergent_change_idx != -1)
1236 4 2 if $num_failed