Test-Unix-User
view release on metacpan or search on metacpan
lib/Test/Unix/User.pm view on Meta::CPAN
if(exists $spec->{$field}) {
if($sb->$field != $spec->{$field}) {
push @diag, " Field: $field\n";
push @diag, " expected: $spec->{$field}\n";
push @diag, " got: " . $sb->$field . "\n";
}
}
}
if(exists $spec->{owner}) {
my $owner = getpwuid($sb->uid)->name();
if($spec->{owner} ne $owner) {
push @diag, " Field: owner\n";
push @diag, " expected: $spec->{owner}\n";
push @diag, " got: $owner\n";
}
}
if(exists $spec->{group}) {
my $group = getgrgid($sb->gid);
if($spec->{group} ne $group) {
t/02-homedir_ok.t view on Meta::CPAN
{ ok => 1, name => "Home directory for user 'test' (name)", },
"Test for home dir existence (1 arg form)");
check_test(sub { homedir_ok({ name => 'test', uid => $sb->uid,
gid => $sb->gid, perm => $sb->mode & 07777}); },
{ ok => 1, name => "Home directory for user 'test' (gid, name, perm, uid)", },
"Test for home dir existence with all attributes");
# Get the current owner/group for the directory and make sure that they
# pass
my $owner = getpwuid($sb->uid)->name();
my $group = getgrgid($sb->gid);
check_test(sub { homedir_ok({ name => 'test', owner => $owner }); },
{ ok => 1, name => "Home directory for user 'test' (name, owner)",
diag => ''},
"Test for home dir existence with owner");
check_test(sub { homedir_ok({ name => 'test', group => $group }); },
{ ok => 1, name => "Home directory for user 'test' (group, name)", },
"Test for home dir existence with group");
# Find another valid owner/group, and make sure they fail
my $real_uid = $sb->uid;
my $real_gid = $sb->gid;
my($wrong_uid, $wrong_owner, $wrong_gid, $wrong_group);
for($wrong_uid = 0; $wrong_uid <= 32766; $wrong_uid++) {
next if $wrong_uid == $real_uid;
$wrong_owner = getpwuid($wrong_uid)->name();
last if defined $wrong_owner;
}
for($wrong_gid = 0; $wrong_gid <= 32768; $wrong_gid++) {
next if $wrong_gid == $real_gid;
$wrong_group = getgrgid($wrong_gid);
last if defined $wrong_group;
}
check_test(sub { homedir_ok({ name => 'test', owner => $wrong_owner }); },
( run in 0.401 second using v1.01-cache-2.11-cpan-8d75d55dd25 )