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.296 second using v1.01-cache-2.11-cpan-8d75d55dd25 )