Condition Coverage

blib/lib/AnyEvent/BitTorrent.pm
Criterion Covered Total %
condition 13 108 12.0


and 3 conditions

line !l l&&!r l&&r condition
148 0 7 8409 $prio && !vec($s->bitfield, $index, 1)
394 0 0 6312 defined $length and $length > 0
406 6312 0 0 -f $s->files->[$file_index]{'path'} && $s->_open($file_index, 'r')
459 0 0 0 defined $data and length $data > 0
516 0 6303 9 defined $piece && $expected eq $reality
985 0 0 0 $_->[0] == $index and $_->[1] == $offset
1042 0 0 0 $_->[0] == $index and $_->[1] == $offset
1072 0 0 0 $_->[0] == $index and $_->[1] == $offset
1173 0 0 0 vec $p->{'bitfield'}, $index, 1 and not vec($s->bitfield, $index, 1)
1197 0 0 0 ref $s->working_pieces->{$index}{$_} && (defined $s->working_pieces->{$index}{$_}[4] || defined $s->working_pieces->{$index}{$_}[3])
1315 0 4 0 $s->start and &AE::log('debug', 'Calling ->start()')
1317 0 0 0 $s->paused and &AE::log('debug', 'Calling ->paused() ')

or 2 conditions

line l !l condition
295 0 0 $s // (return)
314 0 0 $s // (return)
357 0 6312 $s->piece_cache->{$f} // (return)
358 0 0 $s->piece_cache->{$f}{$o} // (return)
423 0 0 $s // (return)
444 0 0 $offset || 0
487 0 0 $s // (return)
571 0 0 $s->peers->{$h} // (return)
597 1 3 $shuffle //= sub { my $deck = shift(); return unless @$deck; my $i = @$deck; while (--$i) { my $j = int rand $i + 1; @$deck[$i, $j] = @$deck[$j, $i]; } ; }
699 0 0 $reply->{'interval'} // 900
0 0 $reply->{'interval'} // 900
843 0 0 $msg // 'Connection timed out'
871 0 0 $h->rbuf // (return)
884 0 0 ref $packet->{'payload'} // (return)
919 0 0 ref $packet->{'payload'} // (return)
980 0 0 $s->working_pieces->{$index} // (return)
1095 0 0 $h->rbuf // ''
1116 0 0 $qualifier //= sub { 1; }
1166 0 0 $p // (return)
1167 0 0 $p->{'handle'} // (return)
1192 0 0 $s->working_pieces->{$index} //= {map({$_, {};} @offsets)}
1203 0 0 $offset // (return)
1224 0 0 $p // (return)
1225 0 0 $p->{'handle'} // (return)

or 3 conditions

line l !l&&r !l&&!r condition
408 0 6312 0 $s->_read_cache($file_index, $total_offset, $this_read) // "\000" x $this_read
506 0 0 6312 $index < 0 or $index > $s->piece_count
639 0 4 0 $tier->{'announcer'} //= $s->_announce_tier($e, $tier)
991 0 0 0 $_->[0] != $index or $_->[1] != $offset
1048 0 0 0 $_->[0] != $index or $_->[1] != $offset
1079 0 0 0 $_->[0] != $index or $_->[1] != $offset
1204 0 0 0 $piece_size % $block_size || $block_size
1231 0 0 0 $_->[0] != $index or $_->[1] != $offset