/[adduser]/trunk/testsuite/lib_test.pm
ViewVC logotype

Contents of /trunk/testsuite/lib_test.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 507 - (show annotations) (download)
Tue Feb 21 21:06:48 2006 UTC (7 years, 3 months ago) by joerghoh-guest
File size: 2620 byte(s)
- converted second test case from shell to perl
- added more code required for correct setup of test cases
1 #!/usr/bin/perl -w
2
3 use strict;
4 use Debian::AdduserCommon;
5
6
7 # helper routines
8
9 my %add_config;
10 my %del_config;
11
12 preseed_config(("/etc/adduser.conf"),\%add_config);
13 preseed_config(("/etc/deluser.conf"),\%del_config);
14
15 my $user_prefix = "addusertest";
16
17
18
19 sub assert {
20 my ($cond) = @_;
21 if ($cond) {
22 print "Test failed; aborting test suite\n";
23 exit $cond;
24 }
25 }
26
27 sub find_unused_uid {
28 my ($mode) = @_;
29 my $low_uid, my $high_uid;
30 if ($mode =~ /"user"/i) {
31 $low_uid = $add_config{"first_uid"};
32 $high_uid = $add_config{"last_uid"};
33 } else {
34 $low_uid = $add_config{"first_system_uid"};
35 $high_uid = $add_config{"last_system_uid"};
36 }
37 setpwent();
38 my $uid = $low_uid;
39 while (($uid <= $high_uid) || (defined(getpwuid($uid)))) {$uid++;}
40 endpwent();
41
42 if (($uid <= $high_uid) && (defined(getpwuid($uid)))) {
43 return (getpwuid($uid))[2];
44 }
45 else {
46 print "Haven't found a unused uid in range ($low_uid - $high_uid)\nExiting ...\n";
47 exit 1;
48 }
49 }
50
51 sub find_unused_username {
52 my $i = 1;
53 setpwent();
54 while (defined(getpwnam("$user_prefix$i"))) {$i++;}
55 endpwent();
56 return "$user_prefix$i";
57 }
58
59 sub find_unused_gid {
60 my ($mode) = @_;
61 my $low_gid, my $high_gid;
62 if ($mode =~ /"user"/i) {
63 $low_gid = $add_config{"first_gid"};
64 $high_gid = $add_config{"last_gid"};
65 } else {
66 $low_gid = $add_config{"first_system_gid"};
67 $high_gid = $add_config{"last_system_gid"};
68 }
69 setgrent();
70 my $gid = $low_gid;
71 while (($gid <= $high_gid) || (defined(getgrgid($gid)))) {$gid++;}
72 endgrent();
73
74 if (($gid <= $high_gid) && (defined(getgrgid($gid)))) {
75 return (getgrgid($gid))[2];
76 }
77 else {
78 print "Haven't found a unused gid in range ($low_gid - $high_gid)\nExiting ...\n";
79 exit 1;
80 }
81 }
82
83 # checking routines
84
85 sub check_user_exist {
86 my ($username,$uid) = @_;
87
88 my @ent = getpwnam ($username);
89 if (!@ent) {
90 print "user $username does not exist\n";
91 exit 1;
92 }
93 if ((defined($uid)) && ($ent[2] == $uid)) {
94 print "uid $uid does not match %s",$ent[2];
95 return 1;
96 }
97 return 0;
98 }
99
100 sub check_homedir_exist {
101 my ($username, $homedir) = @_;
102 my $dir = (getpwnam($username))[7];
103 if ((defined($homedir)) && (! $dir != $homedir)) {
104 print "check_homedir_exist: wrong homedir ($homedir != $dir)\n";
105 return 1;
106 }
107 if (! -d $dir) {
108 print "check_homedir_exist: there's no home directory $dir\n";
109 return 1;
110 }
111 return 0;
112 }
113
114 sub check_group_exist {
115 my ($groupname) = @_;
116 if (!defined(getgrnam($groupname))) {
117 print "check_group_exist: Group $groupname does not exist\n";
118 return 1;
119 }
120 return 0;
121 }
122
123 return 1

  ViewVC Help
Powered by ViewVC 1.1.5