b999d48941
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>
63 lines
1.1 KiB
Bash
Executable File
63 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
cd $(dirname $0)
|
|
|
|
# Rational:
|
|
# Test that useradd can add an user and userdel removes it.
|
|
|
|
save()
|
|
{
|
|
[ ! -d tmp ] && mkdir tmp
|
|
for i in passwd group shadow gshadow
|
|
do
|
|
[ -f /etc/$i ] && cp /etc/$i tmp/$i
|
|
done
|
|
|
|
true
|
|
}
|
|
|
|
restore()
|
|
{
|
|
rm -f tmp/err tmp/out
|
|
for i in passwd group shadow gshadow
|
|
do
|
|
[ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i
|
|
done
|
|
rmdir tmp
|
|
}
|
|
|
|
save
|
|
|
|
# restore the files on exit
|
|
trap 'restore' 0
|
|
|
|
for i in passwd group shadow gshadow
|
|
do
|
|
cp data/$i /etc
|
|
done
|
|
|
|
lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ")
|
|
lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ")
|
|
lines_group=$(wc -l /etc/group | cut -f1 -d" ")
|
|
lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ")
|
|
|
|
echo -n "Add an user without an entry in shadow "
|
|
echo "test:x:10002:10002::/tmp:/bin/false" >> /etc/passwd
|
|
echo "OK"
|
|
|
|
echo "Check that pwck detects it "
|
|
pwck -r > tmp/out 2> tmp/err || true
|
|
diff -au data/run2.out tmp/out
|
|
diff -au data/run2.err tmp/err
|
|
echo " OK"
|
|
echo "grpck accepts valid password file "
|
|
msg=$(grpck -r)
|
|
test "$msg" = ""
|
|
echo " OK"
|
|
|
|
#echo -n "Make sure pwck can fix it "
|
|
#pwcd
|
|
#echo "OK"
|