Add tests from the old svn tree
We're losing the svn history (which we could probably keep if we tried hard enough) but don't consider that worthwhile. Note these tests are destructive, so run them only in a throwaway environment like a chroot, container, or vm. The tests/run.all script should be the one which launches all the tests. Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
		@@ -0,0 +1,10 @@
 | 
			
		||||
# no testsuite password
 | 
			
		||||
# root password: rootF00barbaz
 | 
			
		||||
# myuser password: myuserF00barbaz
 | 
			
		||||
 | 
			
		||||
user foo, in group users (only in /etc/group)
 | 
			
		||||
user foo, in group tty (only in /etc/gshadow)
 | 
			
		||||
user foo, in group floppy
 | 
			
		||||
user foo, admin of group disk
 | 
			
		||||
user foo, admin and member of group fax
 | 
			
		||||
user foo, admin and member of group cdrom (only in /etc/gshadow)
 | 
			
		||||
@@ -0,0 +1,41 @@
 | 
			
		||||
root:x:0:
 | 
			
		||||
daemon:x:1:
 | 
			
		||||
bin:x:2:
 | 
			
		||||
sys:x:3:
 | 
			
		||||
adm:x:4:
 | 
			
		||||
tty:x:5:
 | 
			
		||||
disk:x:6:
 | 
			
		||||
lp:x:7:
 | 
			
		||||
mail:x:8:
 | 
			
		||||
news:x:9:
 | 
			
		||||
uucp:x:10:
 | 
			
		||||
man:x:12:
 | 
			
		||||
proxy:x:13:
 | 
			
		||||
kmem:x:15:
 | 
			
		||||
dialout:x:20:
 | 
			
		||||
fax:x:21:
 | 
			
		||||
voice:x:22:
 | 
			
		||||
cdrom:x:24:
 | 
			
		||||
floppy:x:25:
 | 
			
		||||
tape:x:26:
 | 
			
		||||
sudo:x:27:
 | 
			
		||||
audio:x:29:
 | 
			
		||||
dip:x:30:
 | 
			
		||||
www-data:x:33:
 | 
			
		||||
backup:x:34:
 | 
			
		||||
operator:x:37:
 | 
			
		||||
list:x:38:
 | 
			
		||||
irc:x:39:
 | 
			
		||||
src:x:40:
 | 
			
		||||
gnats:x:41:
 | 
			
		||||
shadow:x:42:
 | 
			
		||||
utmp:x:43:
 | 
			
		||||
video:x:44:
 | 
			
		||||
sasl:x:45:
 | 
			
		||||
plugdev:x:46:
 | 
			
		||||
staff:x:50:
 | 
			
		||||
games:x:60:
 | 
			
		||||
users:x:100:
 | 
			
		||||
nogroup:x:65534:
 | 
			
		||||
crontab:x:101:
 | 
			
		||||
Debian-exim:x:102:
 | 
			
		||||
@@ -0,0 +1,41 @@
 | 
			
		||||
root:*::
 | 
			
		||||
daemon:*::
 | 
			
		||||
bin:*::
 | 
			
		||||
sys:*::
 | 
			
		||||
adm:*::
 | 
			
		||||
tty:*::
 | 
			
		||||
disk:*::
 | 
			
		||||
lp:*::
 | 
			
		||||
mail:*::
 | 
			
		||||
news:*::
 | 
			
		||||
uucp:*::
 | 
			
		||||
man:*::
 | 
			
		||||
proxy:*::
 | 
			
		||||
kmem:*::
 | 
			
		||||
dialout:*::
 | 
			
		||||
fax:*::
 | 
			
		||||
voice:*::
 | 
			
		||||
cdrom:*::
 | 
			
		||||
floppy:*::
 | 
			
		||||
tape:*::
 | 
			
		||||
sudo:*::
 | 
			
		||||
audio:*::
 | 
			
		||||
dip:*::
 | 
			
		||||
www-data:*::
 | 
			
		||||
backup:*::
 | 
			
		||||
operator:*::
 | 
			
		||||
list:*::
 | 
			
		||||
irc:*::
 | 
			
		||||
src:*::
 | 
			
		||||
gnats:*::
 | 
			
		||||
shadow:*::
 | 
			
		||||
utmp:*::
 | 
			
		||||
video:*::
 | 
			
		||||
sasl:*::
 | 
			
		||||
plugdev:*::
 | 
			
		||||
staff:*::
 | 
			
		||||
games:*::
 | 
			
		||||
users:*::
 | 
			
		||||
nogroup:*::
 | 
			
		||||
crontab:x::
 | 
			
		||||
Debian-exim:x::
 | 
			
		||||
@@ -0,0 +1,19 @@
 | 
			
		||||
root:x:0:0:root:/root:/bin/bash
 | 
			
		||||
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
 | 
			
		||||
bin:x:2:2:bin:/bin:/bin/sh
 | 
			
		||||
sys:x:3:3:sys:/dev:/bin/sh
 | 
			
		||||
sync:x:4:65534:sync:/bin:/bin/sync
 | 
			
		||||
games:x:5:60:games:/usr/games:/bin/sh
 | 
			
		||||
man:x:6:12:man:/var/cache/man:/bin/sh
 | 
			
		||||
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
 | 
			
		||||
mail:x:8:8:mail:/var/mail:/bin/sh
 | 
			
		||||
news:x:9:9:news:/var/spool/news:/bin/sh
 | 
			
		||||
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
 | 
			
		||||
proxy:x:13:13:proxy:/bin:/bin/sh
 | 
			
		||||
www-data:x:33:33:www-data:/var/www:/bin/sh
 | 
			
		||||
backup:x:34:34:backup:/var/backups:/bin/sh
 | 
			
		||||
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
 | 
			
		||||
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
 | 
			
		||||
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
 | 
			
		||||
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
 | 
			
		||||
Debian-exim:x:102:102::/var/spool/exim4:/bin/false
 | 
			
		||||
@@ -0,0 +1,19 @@
 | 
			
		||||
root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7:::
 | 
			
		||||
daemon:*:12977:0:99999:7:::
 | 
			
		||||
bin:*:12977:0:99999:7:::
 | 
			
		||||
sys:*:12977:0:99999:7:::
 | 
			
		||||
sync:*:12977:0:99999:7:::
 | 
			
		||||
games:*:12977:0:99999:7:::
 | 
			
		||||
man:*:12977:0:99999:7:::
 | 
			
		||||
lp:*:12977:0:99999:7:::
 | 
			
		||||
mail:*:12977:0:99999:7:::
 | 
			
		||||
news:*:12977:0:99999:7:::
 | 
			
		||||
uucp:*:12977:0:99999:7:::
 | 
			
		||||
proxy:*:12977:0:99999:7:::
 | 
			
		||||
www-data:*:12977:0:99999:7:::
 | 
			
		||||
backup:*:12977:0:99999:7:::
 | 
			
		||||
list:*:12977:0:99999:7:::
 | 
			
		||||
irc:*:12977:0:99999:7:::
 | 
			
		||||
gnats:*:12977:0:99999:7:::
 | 
			
		||||
nobody:*:12977:0:99999:7:::
 | 
			
		||||
Debian-exim:!:12977:0:99999:7:::
 | 
			
		||||
@@ -0,0 +1,14 @@
 | 
			
		||||
gpasswd: invalid option -- 'Z'
 | 
			
		||||
Usage: gpasswd [option] GROUP
 | 
			
		||||
 | 
			
		||||
Options:
 | 
			
		||||
  -a, --add USER                add USER to GROUP
 | 
			
		||||
  -d, --delete USER             remove USER from GROUP
 | 
			
		||||
  -h, --help                    display this help message and exit
 | 
			
		||||
  -Q, --root CHROOT_DIR         directory to chroot into
 | 
			
		||||
  -r, --remove-password         remove the GROUP's password
 | 
			
		||||
  -R, --restrict                restrict access to GROUP to its members
 | 
			
		||||
  -M, --members USER,...        set the list of members of GROUP
 | 
			
		||||
  -A, --administrators ADMIN,...
 | 
			
		||||
                                set the list of administrators for GROUP
 | 
			
		||||
Except for the -A and -M options, the options cannot be combined.
 | 
			
		||||
							
								
								
									
										54
									
								
								tests/grouptools/gpasswd/63_gpasswd_usage_bad_option/gpasswd.test
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										54
									
								
								tests/grouptools/gpasswd/63_gpasswd_usage_bad_option/gpasswd.test
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
cd $(dirname $0)
 | 
			
		||||
 | 
			
		||||
. ../../../common/config.sh
 | 
			
		||||
. ../../../common/log.sh
 | 
			
		||||
 | 
			
		||||
log_start "$0" "gpasswd displays its usage message in case of bad option"
 | 
			
		||||
 | 
			
		||||
save_config
 | 
			
		||||
 | 
			
		||||
# restore the files on exit
 | 
			
		||||
trap 'log_status "$0" "FAILURE"; restore_config' 0
 | 
			
		||||
 | 
			
		||||
change_config
 | 
			
		||||
 | 
			
		||||
echo -n "Use gpasswd invalid option (gpasswd -Z)..."
 | 
			
		||||
gpasswd -Z 2>tmp/usage.out && exit 1 || {
 | 
			
		||||
	status=$?
 | 
			
		||||
}
 | 
			
		||||
echo "OK"
 | 
			
		||||
 | 
			
		||||
echo -n "Check returned status ($status)..."
 | 
			
		||||
test "$status" = "2"
 | 
			
		||||
echo "OK"
 | 
			
		||||
 | 
			
		||||
echo "gpasswd reported:"
 | 
			
		||||
echo "======================================================================="
 | 
			
		||||
cat tmp/usage.out
 | 
			
		||||
echo "======================================================================="
 | 
			
		||||
echo -n "Check the usage message..."
 | 
			
		||||
diff -au data/usage.out tmp/usage.out
 | 
			
		||||
echo "usage message OK."
 | 
			
		||||
rm -f tmp/usage.out
 | 
			
		||||
 | 
			
		||||
echo -n "Check the passwd file..."
 | 
			
		||||
../../../common/compare_file.pl config/etc/passwd /etc/passwd
 | 
			
		||||
echo "OK"
 | 
			
		||||
echo -n "Check the group file..."
 | 
			
		||||
../../../common/compare_file.pl config/etc/group /etc/group
 | 
			
		||||
echo "OK"
 | 
			
		||||
echo -n "Check the shadow file..."
 | 
			
		||||
../../../common/compare_file.pl config/etc/shadow /etc/shadow
 | 
			
		||||
echo "OK"
 | 
			
		||||
echo -n "Check the gshadow file..."
 | 
			
		||||
../../../common/compare_file.pl config/etc/gshadow /etc/gshadow
 | 
			
		||||
echo "OK"
 | 
			
		||||
 | 
			
		||||
log_status "$0" "SUCCESS"
 | 
			
		||||
restore_config
 | 
			
		||||
trap '' 0
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user