Condition Coverage

blib/lib/Minion/Backend/Sereal.pm
Criterion Covered Total %
condition 114 135 84.4


and 2 conditions

line l !l condition
116 0 40 push @$locks, $this_expires and return 1
277 0 199 $job = $candidate and last CANDIDATE

and 3 conditions

line !l l&&!r l&&r condition
85 15 15 90 (!defined($options->{'queue'}) || $_->{'queue'} eq $options->{'queue'}) && (!defined($options->{'state'}) || $_->{'state'} eq $options->{'state'}) && (!defined($options->{'task'}) || $_->{'task'} eq $options->{'task'})
87 0 0 60 ($_->{'children'} = $guard->_children($_->{'id'})) && $_
169 3 5 0 $_->{'notified'} < $after and delete $$workers{$_->{'id'}}
174 88 53 31 $job->{'state'} eq 'finished' and $job->{'finished'} <= $after
181 126 1 16 $_->{'state'} eq 'active' && !exists($$workers{$_->{'worker'}})
201 91 15 0 exists $options->{$_} and $job->{$_} = $options->{$_}
216 226 5 18 $job->{'state'} eq 'active' and not $seen{$job->{'worker'}}++
218 194 53 2 $job->{'state'} eq 'inactive' and &Minion::Backend::Sereal::time() < $job->{'delayed'} || @{$job->{'parents'};}
242 20 35 45 $i < $length and ($locks->[$i] // 0) <= $now
271 20 10 263 $_->{'state'} eq 'inactive' && $queues{$_->{'queue'}} && $$tasks{$_->{'task'}} && $_->{'delayed'} <= $now
280 2 7 6 exists $jobs->{$parent} and grep(($jobs->{$parent}{'state'} eq $_), ('active', 'failed', 'inactive'))
303 99 53 5 $fail and $job->{'attempts'} > $retries + 1
311 10 5 85 $id and my $worker = $guard->_workers->{$id}
314 170 0 15 $_->{'state'} eq 'active' && $_->{'worker'} eq $id

or 2 conditions

line l !l condition
20 5 2 shift() // []
4 3 shift() // []
28 9 1 $inboxes->{$_} //= []
42 106 69 shift() // []
32 143 shift() // {}
55 6 169 $options->{'attempts'} // 1
5 170 $options->{'delay'} // 0
5 170 $options->{'notes'} // {}
3 172 $options->{'parents'} // []
5 170 $options->{'priority'} // 0
8 167 $options->{'queue'} // 'default'
99 45 30 shift() // {}
100 45 30 $options->{'limit'} || 1
103 55 20 $guard->_locks->{$name} //= []
107 70 10 $_ // 0
116 15 25 $$locks[$#$locks] // 0
119 0 0 $a // 0
0 0 $b // 0
135 4 1 $inboxes->{$id} // []
141 152 0 shift() // {}
148 152 0 $options->{'status'} // {}
192 25 40 shift() // {}
229 18 50 $states{'active'} // 0
13 55 $states{'failed'} // 0
30 38 $states{'finished'} // 0
42 26 $states{'inactive'} // 0
237 55 0 $guard->_locks->{$name} //= []
242 35 45 $locks->[$i] // 0
263 27 249 $options->{'queues'} // ['default']
277 208 0 $candidate->{'parents'} // []
346 4649 0 $job->{'parents'} // []
359 107 12 $_[0]->_data->{'inboxes'} //= {}
367 58 10 $_[0]->_data->{'job_count'} //= 0
376 2150 12 $_[0]->_data->{'jobs'} //= {}
391 125 10 (shift())->_data->{'locks'} //= {}
400 1111 0 syswrite($file, $payload) // -1
405 590 12 $_[0]->_data->{'workers'} //= {}

or 3 conditions

line l !l&&r !l&&!r condition
35 202 0 37 $self->_try($id, $options) || do { &usleep($wait * 1000000); $self->_try($id, $options) }
218 5 2 48 &Minion::Backend::Sereal::time() < $job->{'delayed'} || @{$job->{'parents'};}
351 2503 1851 0 $_[0]{'data'} //= $_[0]->_load($_[0]{'backend'}{'file'})
380 1844 7 0 $self->{'backend'}{'_guard_decoder'} //= 'Sereal::Decoder'->new
395 1104 7 0 $self->{'backend'}{'_guard_encoder'} //= 'Sereal::Encoder'->new