Branch Coverage

blib/lib/Directory/Queue/Normal.pm
Criterion Covered Total %
branch 104 184 56.5


line true false branch
84 0 28 unless defined $value
85 0 28 if ref $value
105 56 0 if ($line =~ /^([^\x09\x0a]*)\x09([^\x09\x0a]*)$/o) { }
132 0 2 unless (@stat)
133 0 0 unless $! == 2
157 0 0 unless (@stat)
158 0 0 unless $! == 2
183 0 40 $self->{'nlink'} ? :
193 0 95 unless $element =~ m[^(?:$Directory::Queue::Normal::_DirectoryRegexp)/(?:$Directory::Queue::Normal::_ElementRegexp)$]o
219 1 13 if (defined $option{'maxelts'})
221 0 1 unless $option{'maxelts'} =~ /^\d+$/ and $option{'maxelts'} > 0
227 8 6 if (defined $option{'schema'})
229 0 8 unless ref $option{'schema'} eq "HASH"
231 0 9 unless $name =~ /^($_FileRegexp)$/ and $name ne "locked"
234 9 0 if ($option{'schema'}{$name} =~ /^(binary|string|table)([\?\*]{0,2})$/) { }
241 8 1 unless $options =~ /\?/
242 1 8 if $options =~ /\*/
244 0 1 if $self->{'type'}{$name} eq "table" and $self->{'ref'}{$name}
247 0 8 unless $self->{'mandatory'}
257 10 18 unless -d $path
274 13 20 if $name =~ /^($Directory::Queue::Normal::_DirectoryRegexp)$/o
279 9 4 if $subdirs
296 5 53 unless -d $path . "/" . "locked"
297 51 2 unless defined $time
299 0 2 unless (@stat)
300 0 0 unless $! == 2
328 37 0 unless defined $permissive
330 0 37 if (defined $self->{'umask'}) { }
337 3 34 unless ($success)
338 3 0 if ($permissive)
340 3 0 if $! == 17
342 0 0 if $! == 2
348 0 34 unless (lstat $path)
349 0 0 if ($permissive and $! == 2)
382 0 6 unless (rmdir $path)
383 0 0 if ($permissive)
385 0 0 if $! == 2
413 1 12 unless &_is_locked($self, $element)
421 12 0 if rename $path, $temp
422 0 0 unless $! == 39 or $! == 17
428 12 15 if $name eq "locked"
429 15 0 if ($name =~ /^($_FileRegexp)$/o) { }
434 15 0 if unlink $path
440 0 12 unless rmdir $path
441 12 0 if rmdir $temp
442 0 0 unless $! == 39 or $! == 17
475 36 0 unless $@
488 0 39 unless $self->{'type'}
490 1 38 unless &_is_locked($self, $element)
494 0 40 unless (lstat $path)
495 0 0 unless $! == 2
496 0 0 if ($self->{'mandatory'}{$name}) { }
502 8 32 if ($self->{'type'}{$name} =~ /^(binary|string)$/) { }
32 0 elsif ($self->{'type'}{$name} eq 'table') { }
503 4 4 if ($self->{'type'}{$name} eq 'string') { }
508 1 7 $self->{'ref'}{$name} ? :
515 21 17 unless wantarray
532 30 56 if $name =~ /^($Directory::Queue::Normal::_DirectoryRegexp)$/o
535 3 25 unless (@list)
544 25 0 if (defined $subdirs) { }
545 24 1 if $subdirs < $self->{'maxelts'}
567 0 32 unless $self->{'type'}{$name}
568 16 16 if ($self->{'type'}{$name} =~ /^(binary|string)$/) { }
16 0 elsif ($self->{'type'}{$name} eq 'table') { }
569 2 14 if ($self->{'ref'}{$name}) { }
572 1 1 unless ref $data->{$name} eq "SCALAR"
577 0 14 if ref $data->{$name}
584 0 16 unless ref $data->{$name} eq "HASH"
591 23 8 if ($utf8)
595 0 23 if ($@)
620 0 29 unless $self->{'type'}
621 10 19 if (@data == 1) { }
628 0 29 unless defined $data->{$name}
634 29 0 if &_special_mkdir($tempdir, $self->{'umask'})
641 28 0 if rename $tempdir, $path
642 0 0 unless $! == 39 or $! == 17
658 2 0 if $name =~ /^($Directory::Queue::Normal::_ElementRegexp)$/o
663 0 0 if $name =~ /^($Directory::Queue::Normal::_ElementRegexp)$/o
678 0 0 if $name eq "locked"
680 0 0 if unlink $path
681 0 0 unless $! == 2
701 2 0 unless defined $option{'maxtemp'}
702 1 1 unless defined $option{'maxlock'}
704 0 4 unless $name =~ /^(maxtemp|maxlock)$/
707 0 4 unless $option{$name} =~ /^\d+$/
712 4 4 if $name =~ /^($Directory::Queue::Normal::_DirectoryRegexp)$/o
715 2 0 if (@list > 1)
721 1 1 if $subdirs or not defined $subdirs
726 2 0 if ($option{'maxtemp'})
730 2 0 unless &_older($path, $oldtime)
736 2 0 if ($option{'maxlock'})
740 2 1 unless &_is_locked($self, $locked, $oldtime)