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
322 0 0 2 $args{'_read_shadow'} == 2 and not $args{'_write_shadow'}
378 0 0 2 $args{'_read_gshadow'} == 2 and not $args{'_write_gshadow'}
435 15 1 12 $args{'_write_shadow'} and $stash{'write_shadow'} // 1
449 15 1 12 $args{'_write_passwd'} and $stash{'write_passwd'} // 1
463 6 1 21 $args{'_write_gshadow'} and $stash{'write_gshadow'} // 1
477 3 2 23 $args{'_write_group'} and $stash{'write_group'} // 1
498 44 28 23 $e and $e->[0] != 200
499 44 28 23 $e and $e->[0] != 200
621 8 40 8 defined $user and $passwd->[-1][0] eq $user
40 7 1 defined $uid and $passwd->[-1][2] == $uid
780 9 82 15 defined $gn and $group->[-1][0] eq $gn
82 8 1 defined $gid and $group->[-1][2] == $gid
1086 5 2 0 $members and ref $members eq 'ARRAY'
1147 10 5 1 $which eq 'group' and $cur_g
1351 16 1 1 defined $args{'uid'} and not $args{'uid'} =~ /$re_posint/o
1353 15 1 1 defined $args{'gid'} and not $args{'gid'} =~ /$re_posint/o
1355 14 1 1 defined $args{'gecos'} and not $args{'gecos'} =~ /$re_field/o
1357 13 1 1 defined $args{'home'} and not $args{'home'} =~ /$re_field/o
1359 12 1 1 defined $args{'shell'} and not $args{'shell'} =~ /$re_field/o
1365 8 3 2 defined $args{'encpass'} and not $args{'encpass'} =~ /$re_field/o
1367 9 1 1 defined $args{'last_pwchange'} and not $args{'last_pwchange'} =~ /$re_posint/o
1369 8 1 1 defined $args{'min_pass_age'} and not $args{'min_pass_age'} =~ /$re_posint/o
1371 7 1 1 defined $args{'max_pass_age'} and not $args{'max_pass_age'} =~ /$re_posint/o
1373 6 1 1 defined $args{'pass_warn_period'} and not $args{'pass_warn_period'} =~ /$re_posint/o
1375 5 1 1 defined $args{'pass_inactive_period'} and not $args{'pass_inactive_period'} =~ /$re_posint/o
1378 4 1 1 defined $args{'expire_date'} and not $args{'expire_date'} =~ /$re_posint/o
1384 11 1 1 defined $args{'gid'} and not $args{'gid'} =~ /$re_posint/o
1390 10 1 1 defined $args{'encpass'} and not $args{'encpass'} =~ /$re_field/o
1685 10 0 2 $l->[0] ~~ $add and not $user ~~ \@mm
1689 11 0 1 $l->[0] ~~ $del and $user ~~ \@mm
1750 3 1 2 $l->[0] ~~ $gg and not $user ~~ \@mm
1754 3 2 1 not $l->[0] ~~ $gg and $user ~~ \@mm

or 2 conditions

line l !l condition
297 95 0 $args{'etc_dir'} // '/etc'
299 57 38 $args{'with_field_names'} // 1
435 1 12 $stash{'write_shadow'} // 1
442 594 0 $_ // ''
449 1 12 $stash{'write_passwd'} // 1
456 462 0 $_ // ''
463 1 21 $stash{'write_gshadow'} // 1
470 540 0 $_ // ''
477 2 23 $stash{'write_group'} // 1
484 588 0 $_ // ''
500 95 0 $stash{'res'} //= [500, 'BUG: res not set']
602 0 16 $args{'with_field_names'} // 1
761 0 23 $args{'with_field_names'} // 1
1081 2 21 $args{'min_gid'} // 1000
1082 2 21 $args{'max_gid'} // 65535
1089 2 5 $members //= ''
1102 2 14 $args{'min_uid'} // 1000
1103 2 14 $args{'max_uid'} // 65535
1105 1 15 $args{'pass'} // ''
1108 1 15 $args{'gecos'} // ''
1111 7 8 $args{'home'} // ''
1114 7 7 $args{'shell'} // ''
1121 0 12 $args{'min_pass_age'} // 0
1122 0 12 $args{'max_pass_age'} // 99999
1123 0 12 $args{'max_pass_age'} // 7
1124 1 11 $args{'pass_inactive_period'} // ''
1127 1 10 $args{'expire_date'} // ''
1668 2 0 $args{'add_to'} // []
1669 2 0 $args{'delete_from'} // []

or 3 conditions

line l !l&&r !l&&!r condition
319 19 18 58 $args{'_read_shadow'} or $args{'_write_shadow'}
347 29 18 48 $args{'_read_passwd'} or $args{'_write_passwd'}
375 26 30 29 $args{'_read_gshadow'} or $args{'_write_gshadow'}
403 37 33 15 $args{'_read_group'} or $args{'_write_group'}
498 0 23 0 $stash{'res'} //= $e
499 23 0 0 $stash{'res'} //= $e
531 1 1 2 $args{'with_field_names'} // ($detail ? 1 : 0)
621 8 1 47 defined $user and $passwd->[-1][0] eq $user or defined $uid and $passwd->[-1][2] == $uid
691 1 1 3 $args{'with_field_names'} // ($detail ? 1 : 0)
780 15 1 90 defined $gn and $group->[-1][0] eq $gn or defined $gid and $group->[-1][2] == $gid
819 1 1 2 $args{'with_field_names'} // ($detail ? 1 : 0)
931 0 0 5 $args{'with_field_names'} // ($detail ? 1 : 0)
952 10 0 14 $user ~~ \@mm or $group->[$i][0] eq $user
1072 3 13 0 $args{'group'} // $user
1075 16 8 1 $gn //= $args{'group'}
1117 1 12 0 $args{'encpass'} // ($pass eq '' ? '*' : _enc_pass($pass))
1120 1 11 0 $args{'last_pwchange'} // time / 86400
1805 3 2 0 $gn //= $args{'group'}

xor 4 conditions

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