home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / PERL4036.ZIP / t / op / groups.t < prev    next >
Text File  |  1993-02-08  |  810b  |  48 lines

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