summaryrefslogtreecommitdiff
path: root/lib/User/grent.t
blob: 8803429bee379e9c2e215d968d9c37a8bc937a1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!./perl

BEGIN {
    chdir 't' if -d 't';
    @INC = '../lib';
}

use Test::More;

BEGIN {
    our $hasgr;
    eval { my @n = getgrgid 0 };
    $hasgr = 1 unless $@ && $@ =~ /unimplemented/;
    unless ($hasgr) { plan skip_all => "no getgrgid"; }
    use Config;
    $hasgr = 0 unless $Config{'i_grp'} eq 'define';
    unless ($hasgr) { plan skip_all => "no grp.h"; }
}

BEGIN {
    our @grent = getgrgid 0; # This is the function getgrgid.
    unless (@grent) { plan skip_all => "no gid 0"; }
}

plan tests => 5;

BEGIN { use_ok('User::grent'); }
can_ok(__PACKAGE__, 'getgrgid');

my $grent = getgrgid 0;

is( $grent->name, $grent[0],    'name matches core getgrgid' );

is( $grent->passwd, $grent[1],  '   passwd' );

is( $grent->gid, $grent[2],     '   gid' );


# Testing pretty much anything else is unportable.