Initial devel changes.
[p5sagit/p5-mst-13.2.git] / t / op / groups.t
1 #!./perl
2
3 if (-x '/usr/ucb/groups') {
4     $groups_command = '/usr/ucb/groups';
5 } elsif (-x '/usr/bin/groups') {
6     $groups_command = '/usr/bin/groups';
7 } else {
8     print "1..0\n";
9     exit 0;
10 }
11
12 print "1..2\n";
13
14 $pwgid = $( + 0;
15 ($pwgnam) = getgrgid($pwgid);
16 @basegroup{$pwgid,$pwgnam} = (1,1);
17
18 $seen{$pwgid}++;
19
20 for (split(' ', $()) {
21     next if $seen{$_}++;
22     ($group) = getgrgid($_);
23     if (defined $group) {
24         push(@gr, $group);
25     }
26     else {
27         push(@gr, $_);
28     }
29
30
31 $gr1 = join(' ', sort @gr);
32
33 $gr2 = join(' ', grep(!$basegroup{$_}++, sort split(' ',`$groups_command`)));
34
35 if ($gr1 eq $gr2) {
36     print "ok 1\n";
37 }
38 else {
39     print "#gr1 is <$gr1>\n";
40     print "#gr2 is <$gr2>\n";
41     print "not ok 1\n";
42 }
43
44 # multiple 0's indicate GROUPSTYPE is currently long but should be short
45
46 if ($pwgid == 0 || $seen{0} < 2) {
47     print "ok 2\n";
48 }
49 else {
50     print "not ok 2 (groupstype should be type short, not long)\n";
51 }