Condition Coverage

blib/lib/Future/PP.pm
Criterion Covered Total %
condition 140 171 81.8


and 3 conditions

line !l l&&!r l&&r condition
90 2 1 5 $self->{'ready'} and $self->{'reported'} || !$self->{'failure'}
98 2 0 1 $self->{'ready'} and $self->{'failure'}
117 17 0 62 $self->{'ready'} && !$self->{'failure'} && !$self->{'cancelled'}
123 2 1 6 $self->{'ready'} && !!$self->{'failure'}
153 3 193 0 $_->[0] and $_->[0]->_revoke_on_cancel($_->[1])
168 276 0 63 builtin::blessed($code) && $code->isa('Future')
170 125 174 40 $done and not $flags & 1
171 248 48 3 $fail and not $flags & 2
172 222 42 32 $cancelled and not $flags & 4
191 21 3 34 $done and $flags & 32
3 3 18 $fail and $flags & 64
213 3 0 41 builtin::blessed($f2) and $f2->isa("Future")
306 118 0 220 builtin::blessed($code) && $code->isa('Future')
353 81 88 3 @$on_cancel >= 8 and $self->{'empty_on_cancel_slots'} >= "0.5" * @$on_cancel
369 141 0 36 builtin::blessed($code) && $code->isa('Future')
408 2 6 3 !ref($exception) && $exception =~ /\n$/u
434 63 0 26 builtin::blessed($code) && $code->isa('Future')
466 26 0 62 builtin::blessed($code) && $code->isa('Future')
494 27 0 21 builtin::blessed($code) && $code->isa('Future')
561 10 28 2 $f1->is_done and not $flags & 32
28 9 1 $f1->{'failure'} and not $flags & 64
582 8 0 23 builtin::blessed($fseq) and $fseq->isa("Future")
613 2 1 47 $done_code and not @catch_list
3 4 43 $done_code and not @catch_list and not $fail_code
677 0 1 10 $done_code and not @catch_list
1 7 3 $done_code and not @catch_list and not $fail_code
753 93 0 8 not builtin::blessed($subs->[$i]) and $subs->[$i] eq "also"
756 0 0 101 builtin::blessed($sub) and $sub->isa("Future")
786 8 0 64 not $flags & 1 and $sub
8 45 19 not $flags & 1 and $sub and not $sub->{'ready'}
847 24 1 2 $sub->{'ready'} and not $sub->{'cancelled'}
870 5 8 2 --$pending and $_[0]{'cancelled'}
914 27 1 1 $sub->{'ready'} and $sub->{'failure'}
983 18 2 2 $sub->{'ready'} and not $sub->{'failure'}
20 1 1 $sub->{'ready'} and not $sub->{'failure'} and not $sub->{'cancelled'}
1016 7 5 2 --$pending and $_[0]{'cancelled'}
1060 1 2 15 $_->{'ready'} and not $_->{'failure'}

or 3 conditions

line l !l&&r !l&&!r condition
55 483 0 0 builtin::reftype($cb) eq "CODE" or overload::Method($cb, "&{}")
65 142 586 0 ref $proto || $proto
90 0 5 1 $self->{'reported'} || !$self->{'failure'}
160 104 115 341 $fail || $cancelled
191 34 18 6 $done and $flags & 32 or $fail and $flags & 64
307 220 118 0 $is_future or _callable($code)
370 36 141 0 $is_future or _callable($code)
375 11 3 26 $fail || $self->{'cancelled'}
435 26 63 0 $is_future or _callable($code)
439 10 2 15 $self->{'failure'} or $self->{'cancelled'}
467 62 26 0 $is_future or _callable($code)
551 12 101 0 $flags & 384 or _callable($code)
561 2 2 36 $f1->is_done and not $flags & 32 or $f1->{'failure'} and not $flags & 64
763 92 7 0 ref $_ eq "Future" or $self = $_->new, last
766 7 50 0 $self ||= "Future"->new
804 4 16 0 $_->{'ready'} or ++$pending
868 4 2 15 $self->{'result'} or $self->{'failure'}
926 1 26 0 $_->{'ready'} or ++$pending
938 0 5 19 $self->{'result'} or $self->{'failure'}
1014 2 0 14 $self->{'result'} or $self->{'failure'}