contrib
doc
etc
lib
libmisc
man
po
src
tests
chage
chroot
chsh
cktools
common
convtools
cptools
crypt
debian
expiry
failures
chage
chgpasswd
chpasswd-PAM
chsh
cppw
01_cppw_open_passwd_in_failure
02_cppw_open_passwd_backup_failure
03_cppw_rename_passwd_failure
config
data
config.txt
cppw.test
gpasswd
groupadd
groupdel
groupmems
groupmod
grpck
grpconv
grpunconv
newusers
pwck
pwconv
pwunconv
useradd
userdel
usermod
grouptools
log
login
newusers
passwd
split_groups
su
subids
usertools
README
bug332198-test.exp
bug334803-test.exp
cleanup.sh
coverage.sh
run_all
run_all.coverage
.gitignore
.travis.yml
COPYING
ChangeLog
Makefile.am
NEWS
README
TODO
acinclude.m4
autogen.sh
configure.ac
shadow.spec.in
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>
55 lines
1.3 KiB
Bash
Executable File
55 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
cd $(dirname $0)
|
|
|
|
. ../../../common/config.sh
|
|
. ../../../common/log.sh
|
|
|
|
log_start "$0" "cppw report failures to write the passwd file"
|
|
|
|
save_config
|
|
|
|
# restore the files on exit
|
|
trap 'log_status "$0" "FAILURE"; restore_config' 0
|
|
|
|
change_config
|
|
|
|
echo -n "Copy data/passwd (cppw data/passwd)..."
|
|
LD_PRELOAD=../../../common/rename_failure.so FAILURE_PATH=/etc/passwd cppw data/passwd 2>tmp/cppw.err && exit 1 || {
|
|
status=$?
|
|
}
|
|
echo "OK"
|
|
|
|
echo -n "Check returned status ($status)..."
|
|
test "$status" = "1"
|
|
echo "OK"
|
|
|
|
echo "cppw reported:"
|
|
echo "======================================================================="
|
|
cat tmp/cppw.err
|
|
echo "======================================================================="
|
|
echo -n "Check that there were a failure message..."
|
|
diff -au data/cppw.err tmp/cppw.err
|
|
echo "error message OK."
|
|
rm -f tmp/cppw.err
|
|
|
|
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
|
|
|