Condition Coverage

blib/lib/IPC/Shareable.pm
Criterion Covered Total %
condition 145 220 65.9


and 3 conditions

line !l l&&!r l&&r condition
180 367 1 93 ref $val and $knot->_need_tie($val, $key)
186 138 0 36 ref $val and $knot->_need_tie($val, $i)
191 76 0 17 $knot->{'_data'} and ref $knot->{'_data'}
194 77 1 15 ref $val and $knot->_need_tie($val)
239 470 0 511 ref $val and my $inner = _is_child($val)
495 135 9 1 defined $code and ref $code ne "CODE"
508 0 2 1 $code and $flags == 2
539 48 0 93 $flags == 2 and $lock_success
48 88 5 $flags == 2 and $lock_success and $code
651 9 0 35 defined $_[0] and not ref $_[0]
9 0 35 defined $_[0] and not ref $_[0] and UNIVERSAL::isa($_[0], __PACKAGE__)
706 0 0 0 $^O eq 'freebsd' && $IPC::Shareable::Config{'longsize'} == 8
0 0 0 $^O eq 'openbsd' && $IPC::Shareable::Config{'longsize'} == 8
0 0 0 $^O eq 'dragonfly' && $IPC::Shareable::Config{'longsize'} == 8
850 0 0 1 $child_knot and $child_knot->{'_key_hex'}
858 0 0 5 $knot_filter and $knot_filter->{'_key_hex'}
1055 0 0 8 $stored_key and $stored_key == $protect_key
1114 0 348 1 $sem_remove_status != 1 and $sem_remove_status ne "0 but true"
1124 0 1 348 $seg_removed and $sem_removed
1134 1 1 79 defined $dist_name and length $dist_name
1139 5 0 1 @_ > 1 and not ref $_[0]
5 0 1 @_ > 1 and not ref $_[0] and defined $_[0]
0 0 1 @_ > 1 and not ref $_[0] and defined $_[0] and UNIVERSAL::isa($_[0], __PACKAGE__)
1143 0 0 6 defined $dist_name and length $dist_name
1266 1171 0 68 ref $val and _is_child($val)
1277 74 0 72 ref $val && _is_child($val)
1289 322 0 26 ref $val and _is_child($val)
1299 7 0 43 ref $_ && _is_child($_)
1309 9 0 6 ref $val && _is_child($val)
1339 0 872 418 defined $knot and index($json, "\"__ics__\"") != -1
1343 0 1188 102 defined $knot and $knot->{'_type_int'} == 2
1188 17 85 defined $knot and $knot->{'_type_int'} == 2 and ref $data eq "HASH"
1346 1 0 43 defined $prev && ref $prev
1375 230 44 392 ref $data->{$key} eq "HASH" and exists $data->{$key}{'__ics__'}
1387 44 0 187 ref $data->[$i] eq "HASH" and exists $data->[$i]{'__ics__'}
1389 20 2 165 $prev_is_array && $i <= $prev_max
1400 3 0 555 ref $existing && _is_child($existing)
1401 3 8 547 $inner and $inner->{'_key'} == $info->{'child_key'}
1491 1 537 2 $knot->attributes("limit") and $shm_size > 1073741824
1541 0 1 1 $knot->attributes("create") and $knot->attributes("exclusive")
1601 0 0 4 $thaw_ok and defined $storable_data
1653 0 121 3 defined $stored_protected and $stored_protected != 0
1671 95 20 30 $parent->{'_key'} == IPC_PRIVATE() and $parent->attributes("serializer") ne "json"
1744 678 0 27 ref $val and my $child = _is_child($val)
1830 0 0 32 $child and $child->seg
1881 0 0 1 $child && $child->{'_key_hex'}
1901 0 0 0 $child && $child->{'_key_hex'}
1982 114 1 124 not $verified_exclusive and $check_count < 10
2148 3 229 308 $_testing_dist and not $testing_explicit

or 2 conditions

line l !l condition
462 4 3 $opts{'var'} || 'HASH'
555 128 0 $knot->{'_locked_children'} // []
748 2 1 $int_to_hex{$k_int} // (next)
837 8 0 builtin::reftype($data) // ""
845 1 0 builtin::reftype($v) // ""
864 6 0 $segs->{$h}{'child_keys'} // []
865 1 5 $extra_child_keys{$h} // []
896 6 0 $segs->{$hex} // {}
903 6 0 $id_by_hex{$hex} // "?"
914 6 0 $sem->id // "?"
915 6 0 $sem->getval(0) // "?"
916 6 0 $sem->getval(1) // "?"
917 6 0 $sem->getval(2) // "?"
918 6 0 $sem->getval(3) // "?"
941 6 0 $seg->{'child_keys'} // []
942 1 5 $extra_child_keys{$hex} // []
963 1 6 delete $opts{'_proc_dir'} // "/proc/sys/kernel"
1693 144 0 builtin::reftype($val) || ''
1819 184 4 builtin::reftype($data) // ""
1863 6 0 builtin::reftype($data) // ""
1875 1 0 builtin::reftype($v) // ""
1895 0 0 builtin::reftype($v) // ""
1932 457 84 $knot->attributes('key') || ''
2109 398 0 $h || 1
2115 135 0 $sem->getval(4) // 0
2144 219 321 $opts->{'magic'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
589 1 2 5 not defined $_[0] or $_[0] ne __PACKAGE__
651 1 39 5 ref $_[0] or defined $_[0] and not ref $_[0] and UNIVERSAL::isa($_[0], __PACKAGE__)
1307 9 6 1 $type eq "SCALAR" or $type eq "REF"
1563 124 400 1 "IPC::Semaphore"->new($key, 0, $seg->flags & 511) // "IPC::Semaphore"->new($key, $nsems, $seg->flags)
1634 0 399 0 $process_register{$knot->seg->id} ||= $knot
1932 26 541 0 $key_str //= $knot->attributes('key') || ''
2143 220 320 0 $opts->{'owner'} || $$