Condition Coverage

blib/lib/Perinci/Tx/Manager.pm
Criterion Covered Total %
condition 75 111 67.5


and 3 conditions

line !l l&&!r l&&r condition
385 295 0 372 $opts->{'qualify'} and not $a->[0] =~ /::/
573 15 257 0 $res->[0] == 200 and $res->[1]
595 157 0 115 $which eq 'action' and not $self->{'_in_undo'}
157 0 115 $which eq 'action' and not $self->{'_in_undo'} and not $self->{'_in_redo'}
639 249 0 23 $do_actions and @$do_actions
706 171 0 0 $self->{'_in_rollback'} and $which eq 'rollback'
958 0 0 234 defined $tx_id and length $tx_id
1111 54 0 0 $cur_tx->{'status'} ne 'i' and not $self->{'_in_rollback'}
1117 39 0 15 $res->[0] != 200 and $res->[0] != 304
1118 2 10 3 $self->{'_res'} and not $self->{'_res'}[0] =~ /200|304/
1278 24 0 10 $res->[0] != 200 and $res->[0] != 304
1279 0 10 0 $self->{'_res'} and not $self->{'_res'}[0] =~ /200|304/
1314 8 0 11 $res->[0] != 200 and $res->[0] != 304
1315 0 11 0 $self->{'_res'} and not $self->{'_res'}[0] =~ /200|304/

or 2 conditions

line l !l condition
358 665 1 $meta->{'features'} // {}
361 665 0 $ff->{'tx'}{'v'} // 1
376 295 171 $opts //= {}
552 0 275 $action->[5]{'deps'} // {}
574 257 15 $res->[3]{'undo_actions'} // []
688 130 41 $opts //= {}
693 23 54 $self->{'_action_nest_level'} // 0
760 22 12 $self->{'_action_nest_level'} // 0
818 116 0 $dbh->selectall_arrayref('SELECT ser_id FROM tx') // []
910 2 0 $statuses->{$s} // 'unknown (bug)'
1009 2 0 $res->[3]{'rollback'} // 1
1075 0 56 $args{'client_token'} // ''
1099 0 55 $args{'actions'} // [[$args{'f'}, $args{'args'}]]
1130 0 39 $self->{'_stash'}{'result_meta'} // {}
1131 0 39 $res->[3] // {}

or 3 conditions

line l !l&&r !l&&!r condition
424 6 2 44 $os eq 'u' || $ns eq 'v'
6 2 36 $os eq 'd' || $ns eq 'e'
500 24 0 70 $which eq 'redo' || $which eq 'rollback' && $tx->{'status'} eq 'v'
524 0 0 0 $which eq 'redo' || $which eq 'rollback' && $tx->{'status'} eq 'v' || $which eq 'action' && !$self->{'_in_undo'}
571 257 15 3 $res->[0] == 200 or $res->[0] == 304
611 42 23 207 $which eq 'rollback' or $do_actions
660 234 0 0 $res->[0] == 200 or $res->[0] == 304
689 23 127 21 $opts->{'rollback'} //= $_settings{'default_rollback_on_action_failure'}
737 241 0 54 $_->[2] // $_->[1]
759 43 12 116 $eval_err or $eval_res->[0] != 200
760 9 7 27 not $opts->{'rollback'} or ($self->{'_action_nest_level'} // 0) > 1
954 179 55 0 $margs->{'tx_id'} //= $self->{'_tx_id'}
1009 34 0 2 $wargs{'rollback'} // ($res->[3]{'rollback'} // 1)