Branch Coverage

blib/lib/Paranoid/IO/FileMultiplexer.pm
Criterion Covered Total %
branch 127 210 60.4


line true false branch
98 22 132 unless defined $args{'file'} and length $args{'file'}
100 132 22 if (defined $self) { }
106 0 132 if ($self->{'ro'}) { }
107 0 0 unless $self->_oldFile
109 44 88 unless $self->_newFile or $self->_oldFile
137 132 0 if (not $self->{'readOnly'}) { }
143 99 33 if (defined $header)
147 77 22 if ($rv)
153 77 0 if $rv = $header->allocate
154 77 0 if $rv
188 22 33 if (defined $header)
192 0 22 $self->{'readOnly'} ? :
193 22 0 if ($rv)
200 11 11 if ($rv)
241 8 0 if (pflock($file, 1))
242 8 0 if ($header->readSig and $header->readStreams) { }
272 2948 0 if (defined $sname and length $sname)
275 8 2940 unless $header->validateBlocks
278 34 2914 unless (exists $self->{'streams'}{$sname})
280 34 0 if (exists $streams{$sname}) { }
285 34 0 if (pflock($file, 1))
286 34 0 if $stream->readSig and $stream->readBATs
291 0 34 unless (exists $self->{'streams'}{$sname})
305 2948 0 exists $self->{'streams'}{$sname} ? :
309 2948 0 if (defined $stream)
310 0 2948 unless ($stream->validateEOS)
311 0 0 unless ($stream->readSig and $stream->readBATs)
346 1215 0 if (defined $stream)
351 1215 0 if ($seq <= $#bats)
354 1215 0 if (pflock($file, 1))
355 1215 0 if defined $bat and $bat->readSig and $bat->readData
361 0 1215 unless $rv
391 0 22 unless ($rv)
425 0 22 unless ($rv)
431 22 0 if ($rv)
433 0 22 unless $self->_chkData($_)
463 11 33 unless ($rv)
470 33 11 if ($rv)
474 0 22 unless $self->_chkBAT($_, $sname, $i)
518 22 0 if (pflock($file, 1)) { }
521 22 0 if ($header->readSig and $header->readStreams) { }
526 11 33 unless $self->_chkStream($streams{$_}, $_)
542 11 11 if ($rv) { }
572 114 0 if defined $data and $data->allocate and $header->incrBlocks
600 44 0 if defined $bat and $bat->allocate and $bat->writeSig and $header->incrBlocks
606 44 0 if defined $rv
633 33 0 if defined $stream and $stream->allocate and $stream->writeSig and $header->incrBlocks
639 33 0 if defined $rv
663 33 11 unless ($bypass)
666 33 0 if (pflock($file, 2)) { }
670 0 33 unless $header->validateBlocks
673 33 0 if $rv
703 549 859 if ($pos < $bsize) { }
709 859 0 if (defined $bat)
740 0 1702 unless defined $whence
741 0 1702 unless defined $whence
743 1180 522 if ($whence == 0) { }
746 522 0 if exists $self->{'streamPos'}{$sname}
748 0 522 if ($whence == 1) { }
522 0 elsif ($whence == 2) { }
759 0 1702 if $self->{'streamPos'}{$sname} < 0
761 1702 0 if defined $rv
762 526 1176 if $rv == 0
780 32 1124 unless exists $self->{'streamPos'}{$sname}
810 11 566 if ($#bats < $addr[0])
814 11 0 if ($rv) { }
825 647 0 $#bats == $addr[0] ? :
832 70 0 if ($rv) { }
840 577 0 if $#bats == $addr[0]
843 0 577 unless $rv
865 555 0 defined $content ? :
872 555 0 if (pflock($file, 2))
875 555 0 if (defined $stream and defined $content and length $content)
884 555 0 if ($self->_growStream($sname, @addr))
896 555 0 if (defined $bat and defined $block)
908 555 70 $clength <= $blkLeft ? :
919 0 625 unless ($bw == $chunk)
927 70 555 if ($rv < length $content)
929 0 70 unless ($bat->sequence == $addr[0])
944 555 0 if ($rv)
946 544 11 if $stream->eos < $pos
971 0 555 if $bypass
975 0 555 $bypass ? :
997 68 0 if (pflock($file, 1))
1000 68 0 if (defined $stream and defined $cref and ref $cref eq 'SCALAR') { }
1017 83 0 if (defined $bat)
1024 83 0 if (defined $block)
1027 0 83 unless $pos < $eos
1034 55 28 if $ctr > $btr - $rv
1037 24 59 if $ctr > $eos - $pos
1047 0 83 unless ($br == $ctr)
1062 0 0 if (defined $stream)
1088 0 68 if $bypass
1091 0 68 $bypass ? :
1106 511 0 defined $content ? :
1111 511 0 if (pflock($file, 2))
1113 511 0 if (defined $stream)
1115 511 0 if ($self->strmSeek($sname, 0, 2))
1144 11 0 if (pflock($file, 2))
1146 11 0 if (defined $stream)
1149 11 0 if ($neos < $eos)
1154 11 0 if $rv = $self->strmSeek($sname, $neos, 0) and $self->strmWrite($sname, $zeroes)
1178 0 11 if $bypass
1182 0 11 $bypass ? :
1190 132 22 if defined $self->{'file'} and length $self->{'file'}