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:
42
tests/convtools/01/data/1/group
Normal file
42
tests/convtools/01/data/1/group
Normal file
@@ -0,0 +1,42 @@
|
||||
root:*:0:
|
||||
daemon:*:1:
|
||||
bin:*:2:
|
||||
sys:*:3:
|
||||
adm:*:4:
|
||||
tty:*:5:
|
||||
disk:*:6:
|
||||
lp:*:7:
|
||||
mail:*:8:
|
||||
news:*:9:
|
||||
uucp:*:10:
|
||||
man:*:12:
|
||||
proxy:*:13:
|
||||
kmem:*:15:
|
||||
dialout:*:20:
|
||||
fax:*:21:
|
||||
voice:*:22:
|
||||
cdrom:*:24:
|
||||
floppy:*:25:
|
||||
tape:*:26:
|
||||
sudo:*:27:
|
||||
audio:*:29:
|
||||
dip:*:30:
|
||||
www-data:*:33:
|
||||
backup:*:34:
|
||||
operator:*:37:
|
||||
list:*:38:
|
||||
irc:*:39:
|
||||
src:*:40:
|
||||
gnats:*:41:
|
||||
shadow:*:42:
|
||||
utmp:*:43:
|
||||
video:*:44:
|
||||
sasl:*:45:
|
||||
plugdev:*:46:
|
||||
staff:*:50:
|
||||
games:*:60:
|
||||
users:*:100:
|
||||
nogroup:*:65534:
|
||||
crontab:x:101:
|
||||
Debian-exim:x:102:
|
||||
myuser:x:424242:
|
21
tests/convtools/01/data/1/passwd
Normal file
21
tests/convtools/01/data/1/passwd
Normal file
@@ -0,0 +1,21 @@
|
||||
root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:0:0:root:/root:/bin/bash
|
||||
daemon:*:1:1:daemon:/usr/sbin:/bin/sh
|
||||
bin:*:2:2:bin:/bin:/bin/sh
|
||||
sys:*:3:3:sys:/dev:/bin/sh
|
||||
sync:*:4:65534:sync:/bin:/bin/sync
|
||||
games:*:5:60:games:/usr/games:/bin/sh
|
||||
man:*:6:12:man:/var/cache/man:/bin/sh
|
||||
lp:*:7:7:lp:/var/spool/lpd:/bin/sh
|
||||
mail:*:8:8:mail:/var/mail:/bin/sh
|
||||
news:*:9:9:news:/var/spool/news:/bin/sh
|
||||
uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh
|
||||
proxy:*:13:13:proxy:/bin:/bin/sh
|
||||
www-data:*:33:33:www-data:/var/www:/bin/sh
|
||||
backup:*:34:34:backup:/var/backups:/bin/sh
|
||||
list:*:38:38:Mailing List Manager:/var/list:/bin/sh
|
||||
irc:*:39:39:ircd:/var/run/ircd:/bin/sh
|
||||
gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
|
||||
nobody:*:65534:65534:nobody:/nonexistent:/bin/sh
|
||||
Debian-exim:!:102:102::/var/spool/exim4:/bin/false
|
||||
myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:424242:424242::/home:/bin/bash
|
||||
testsuite::424243:424243::/home:/bin/bash
|
42
tests/convtools/01/data/2/group
Normal file
42
tests/convtools/01/data/2/group
Normal file
@@ -0,0 +1,42 @@
|
||||
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:
|
||||
myuser:x:424242:
|
42
tests/convtools/01/data/2/gshadow
Normal file
42
tests/convtools/01/data/2/gshadow
Normal file
@@ -0,0 +1,42 @@
|
||||
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::
|
||||
myuser:x::
|
21
tests/convtools/01/data/2/passwd
Normal file
21
tests/convtools/01/data/2/passwd
Normal file
@@ -0,0 +1,21 @@
|
||||
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
|
||||
myuser:x:424242:424242::/home:/bin/bash
|
||||
testsuite:x:424243:424243::/home:/bin/bash
|
21
tests/convtools/01/data/2/shadow
Normal file
21
tests/convtools/01/data/2/shadow
Normal file
@@ -0,0 +1,21 @@
|
||||
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:::
|
||||
myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:::
|
||||
testsuite::12992:0:99999:7:::
|
117
tests/convtools/01/run
Executable file
117
tests/convtools/01/run
Executable file
@@ -0,0 +1,117 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
# Rational:
|
||||
# Test that su can be used to switch to root and to a normal account
|
||||
|
||||
# no testsuite password
|
||||
# root password: rootF00barbaz
|
||||
# myuser password: myuserF00barbaz
|
||||
|
||||
save()
|
||||
{
|
||||
[ ! -d tmp ] && mkdir tmp
|
||||
for i in passwd group shadow gshadow
|
||||
do
|
||||
[ -f /etc/$i ] && cp -dp /etc/$i tmp/$i
|
||||
[ -f /etc/$i- ] && cp -dp /etc/$i- tmp/$i-
|
||||
done
|
||||
DATE=$(date '+%s')
|
||||
DATE=$(( DATE/3600/24 ))
|
||||
WARN=$( egrep "^PASS_WARN_AGE" /etc/login.defs | { read var val ; echo $val; } )
|
||||
saveifs=$IFS
|
||||
IFS=":"
|
||||
cat data/2/shadow |
|
||||
while read f1 f2 f3 f4 f5 f6 f7 f8 fres
|
||||
do
|
||||
echo "$f1:$f2:$DATE:$f4:$f5:$WARN:::"
|
||||
done > tmp/shadow.2
|
||||
IFS=$saveifs
|
||||
}
|
||||
|
||||
restore()
|
||||
{
|
||||
for i in passwd group shadow gshadow
|
||||
do
|
||||
[ -f tmp/$i ] && cp -dp tmp/$i /etc/$i && rm tmp/$i
|
||||
[ -f tmp/$i- ] && cp -dp tmp/$i- /etc/$i- && rm tmp/$i-
|
||||
done
|
||||
rm tmp/shadow.2
|
||||
rmdir tmp
|
||||
}
|
||||
|
||||
save
|
||||
|
||||
# restore the files on exit
|
||||
trap 'restore' 0
|
||||
|
||||
for i in passwd group shadow gshadow
|
||||
do
|
||||
rm -f /etc/$i
|
||||
done
|
||||
for i in passwd group
|
||||
do
|
||||
cp -f data/1/$i /etc/
|
||||
done
|
||||
|
||||
echo -n "pwconv "
|
||||
pwconv
|
||||
echo -n "checking..."
|
||||
diff -au /etc/passwd data/2/passwd
|
||||
diff -au /etc/shadow tmp/shadow.2
|
||||
diff -au /etc/group data/1/group
|
||||
perms=$(stat -c "%a %u %G" /etc/shadow)
|
||||
if [ "$perms" != "440 0 shadow" ]
|
||||
then
|
||||
echo "Wrong mode or owners on /etc/shadow."
|
||||
exit 1
|
||||
fi
|
||||
if [ -f /etc/gshadow ]
|
||||
then
|
||||
echo "/etc/gshadow should not exist."
|
||||
exit 1
|
||||
fi
|
||||
echo "OK"
|
||||
|
||||
echo -n "grpconv "
|
||||
grpconv
|
||||
echo -n "checking..."
|
||||
diff -au /etc/passwd data/2/passwd
|
||||
diff -au /etc/shadow tmp/shadow.2
|
||||
diff -au /etc/group data/2/group
|
||||
diff -au /etc/gshadow data/2/gshadow
|
||||
echo "OK"
|
||||
|
||||
echo -n "pwunconv "
|
||||
pwunconv
|
||||
echo -n "checking..."
|
||||
diff -au /etc/passwd data/1/passwd
|
||||
if [ -f /etc/shadow ]
|
||||
then
|
||||
echo "/etc/shadow should not exist. "
|
||||
exit 1
|
||||
fi
|
||||
diff -au /etc/group data/2/group
|
||||
diff -au /etc/gshadow data/2/gshadow
|
||||
echo "OK"
|
||||
|
||||
echo -n "grpunconv "
|
||||
grpunconv
|
||||
echo -n "checking..."
|
||||
diff -au /etc/passwd data/1/passwd
|
||||
if [ -f /etc/shadow ]
|
||||
then
|
||||
echo "/etc/shadow should not exist. "
|
||||
exit 1
|
||||
fi
|
||||
diff -au /etc/group data/1/group
|
||||
if [ -f /etc/gshadow ]
|
||||
then
|
||||
echo "/etc/gshadow should not exist. "
|
||||
exit 1
|
||||
fi
|
||||
echo "OK"
|
||||
|
Reference in New Issue
Block a user