Branch Coverage

blib/lib/Devel/MAT/Tool/Future.pm
Criterion Covered Total %
branch 59 94 62.7


line true false branch
39 2 0 if eval { do { $pmat->find_symbol("%Future::") } }
58 150 151656 if $count % 1000 == 0
61 151166 640 unless $sv->type eq "STASH"
70 150 151656 if $count % 1000 == 0
73 151185 621 unless my $pkg = $sv->blessed
75 9 612 if $classes{$pkg->stashname}
89 0 4 unless $sv->is_future
102 0 1 unless @result
103 1 0 if @result
104 1 0 if @result > 1
111 1 3 if ($(Syntax::Keyword::Match/topic) eq 'done') { }
1 2 elsif ($(Syntax::Keyword::Match/topic) eq 'failed') { }
114 0 1 unless @failure
115 1 0 if (@failure)
116 1 0 defined $failure[0]->pv ? :
119 0 1 if @failure > 1
167 270 643 unless ref $pkg
177 0 638 if $pkg->stashname eq "Future"
179 377 261 unless my $isagv = $pkg->value("ISA")
180 0 261 unless my $isaav = $isagv->array
183 1 268 if $self->class_is_future($superclass->pv)
215 28 0 unless $sv->basetype eq "SV"
217 0 0 unless my $ref = $sv->maybe_outref_named("the FutureXS structure")
234 0 24 unless $sv->is_future
236 0 24 if (my $struct = $sv->_future_xs_struct) { }
238 0 0 if ($struct->field_named('cancelled')) { }
0 0 elsif ($struct->maybe_field_named('the failure AV')) { }
0 0 elsif ($struct->field_named('ready')) { }
254 6 18 if ($tmp = $sv->value('cancelled') and $tmp->uv) { }
6 12 elsif ($tmp = $sv->value('failure')) { }
6 6 elsif ($tmp = $sv->value('ready') and $tmp->uv) { }
281 0 2 unless $sv->is_future
283 0 2 if (my $struct = $sv->_future_xs_struct) { }
305 0 2 unless $sv->is_future
307 0 2 if (my $struct = $sv->_future_xs_struct) { }
322 0 0 unless $self->is_future($sv)
396 303772 16 unless $sv->is_future
400 12 4 if %only and not $only{$state}
410 0 1 unless @result
411 1 0 if @result
412 1 0 if @result > 1
414 1 3 if ($(Syntax::Keyword::Match/topic) eq 'done') { }
1 2 elsif ($(Syntax::Keyword::Match/topic) eq 'failed') { }
416 0 1 unless @failure
417 1 0 if (@failure)
418 1 0 defined $failure[0]->pv ? :
421 0 1 if @failure > 1