Condition Coverage

blib/lib/Unix/Passwd/File.pm
Criterion Covered Total %
condition 183 216 84.7


and 3 conditions

line !l l&&!r l&&r condition
316 0 0 2 $args{'_read_shadow'} == 2 and not $args{'_write_shadow'}
372 0 0 2 $args{'_read_gshadow'} == 2 and not $args{'_write_gshadow'}
429 15 1 12 $args{'_write_shadow'} and $stash{'write_shadow'} // 1
443 15 1 12 $args{'_write_passwd'} and $stash{'write_passwd'} // 1
457 6 1 21 $args{'_write_gshadow'} and $stash{'write_gshadow'} // 1
471 3 2 23 $args{'_write_group'} and $stash{'write_group'} // 1
492 44 28 23 $e and $e->[0] != 200
493 44 28 23 $e and $e->[0] != 200
613 8 40 8 defined $user and $passwd->[-1][0] eq $user
40 7 1 defined $uid and $passwd->[-1][2] == $uid
768 9 82 15 defined $gn and $group->[-1][0] eq $gn
82 8 1 defined $gid and $group->[-1][2] == $gid
1069 5 2 0 $members and ref $members eq 'ARRAY'
1130 10 5 1 $which eq 'group' and $cur_g
1330 16 1 1 defined $args{'uid'} and not $args{'uid'} =~ /$re_posint/o
1332 15 1 1 defined $args{'gid'} and not $args{'gid'} =~ /$re_posint/o
1334 14 1 1 defined $args{'gecos'} and not $args{'gecos'} =~ /$re_field/o
1336 13 1 1 defined $args{'home'} and not $args{'home'} =~ /$re_field/o
1338 12 1 1 defined $args{'shell'} and not $args{'shell'} =~ /$re_field/o
1344 8 3 2 defined $args{'encpass'} and not $args{'encpass'} =~ /$re_field/o
1346 9 1 1 defined $args{'last_pwchange'} and not $args{'last_pwchange'} =~ /$re_posint/o
1348 8 1 1 defined $args{'min_pass_age'} and not $args{'min_pass_age'} =~ /$re_posint/o
1350 7 1 1 defined $args{'max_pass_age'} and not $args{'max_pass_age'} =~ /$re_posint/o
1352 6 1 1 defined $args{'pass_warn_period'} and not $args{'pass_warn_period'} =~ /$re_posint/o
1354 5 1 1 defined $args{'pass_inactive_period'} and not $args{'pass_inactive_period'} =~ /$re_posint/o
1357 4 1 1 defined $args{'expire_date'} and not $args{'expire_date'} =~ /$re_posint/o
1363 11 1 1 defined $args{'gid'} and not $args{'gid'} =~ /$re_posint/o
1369 10 1 1 defined $args{'encpass'} and not $args{'encpass'} =~ /$re_field/o
1657 10 0 2 $l->[0] ~~ $add and not $user ~~ \@mm
1661 11 0 1 $l->[0] ~~ $del and $user ~~ \@mm
1720 3 1 2 $l->[0] ~~ $gg and not $user ~~ \@mm
1724 3 2 1 not $l->[0] ~~ $gg and $user ~~ \@mm

or 2 conditions

line l !l condition
291 95 0 $args{'etc_dir'} // '/etc'
293 57 38 $args{'with_field_names'} // 1
429 1 12 $stash{'write_shadow'} // 1
436 594 0 $_ // ''
443 1 12 $stash{'write_passwd'} // 1
450 462 0 $_ // ''
457 1 21 $stash{'write_gshadow'} // 1
464 540 0 $_ // ''
471 2 23 $stash{'write_group'} // 1
478 588 0 $_ // ''
494 95 0 $stash{'res'} //= [500, 'BUG: res not set']
594 0 16 $args{'with_field_names'} // 1
749 0 23 $args{'with_field_names'} // 1
1064 2 21 $args{'min_gid'} // 1000
1065 2 21 $args{'max_gid'} // 65535
1072 2 5 $members //= ''
1085 2 14 $args{'min_uid'} // 1000
1086 2 14 $args{'max_uid'} // 65535
1088 1 15 $args{'pass'} // ''
1091 1 15 $args{'gecos'} // ''
1094 7 8 $args{'home'} // ''
1097 7 7 $args{'shell'} // ''
1104 0 12 $args{'min_pass_age'} // 0
1105 0 12 $args{'max_pass_age'} // 99999
1106 0 12 $args{'max_pass_age'} // 7
1107 1 11 $args{'pass_inactive_period'} // ''
1110 1 10 $args{'expire_date'} // ''
1640 2 0 $args{'add_to'} // []
1641 2 0 $args{'delete_from'} // []

or 3 conditions

line l !l&&r !l&&!r condition
313 19 18 58 $args{'_read_shadow'} or $args{'_write_shadow'}
341 29 18 48 $args{'_read_passwd'} or $args{'_write_passwd'}
369 26 30 29 $args{'_read_gshadow'} or $args{'_write_gshadow'}
397 37 33 15 $args{'_read_group'} or $args{'_write_group'}
492 0 23 0 $stash{'res'} //= $e
493 23 0 0 $stash{'res'} //= $e
525 1 1 2 $args{'with_field_names'} // ($detail ? 1 : 0)
613 8 1 47 defined $user and $passwd->[-1][0] eq $user or defined $uid and $passwd->[-1][2] == $uid
681 1 1 3 $args{'with_field_names'} // ($detail ? 1 : 0)
768 15 1 90 defined $gn and $group->[-1][0] eq $gn or defined $gid and $group->[-1][2] == $gid
807 1 1 2 $args{'with_field_names'} // ($detail ? 1 : 0)
916 0 0 5 $args{'with_field_names'} // ($detail ? 1 : 0)
937 10 0 14 $user ~~ \@mm or $group->[$i][0] eq $user
1055 3 13 0 $args{'group'} // $user
1058 16 8 1 $gn //= $args{'group'}
1100 1 12 0 $args{'encpass'} // ($pass eq '' ? '*' : _enc_pass($pass))
1103 1 11 0 $args{'last_pwchange'} // time / 86400
1774 3 2 0 $gn //= $args{'group'}

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
597 1 13 2 0 defined $user xor defined $uid
752 1 20 2 0 defined $gn xor defined $gid