53 lines
1.4 KiB
Bash
Executable file
53 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
TST_DIR="tst-pam_motd3.d"
|
|
|
|
function tst_cleanup() {
|
|
rm -rf "${TST_DIR}"
|
|
rm -f tst-pam_motd3.out
|
|
}
|
|
|
|
mkdir -p ${TST_DIR}
|
|
mkdir -p ${TST_DIR}/etc/motd.d
|
|
mkdir -p ${TST_DIR}/run/motd.d
|
|
mkdir -p ${TST_DIR}/usr/lib/motd.d
|
|
|
|
# Verify motd is still displayed when not overridden
|
|
echo "motd: test-show in run - show" > ${TST_DIR}/run/motd.d/test-show.motd
|
|
|
|
# Test overridden by a symlink to a file that isn't /dev/null; symlink target should show
|
|
echo "motd: hidden-by-symlink in usr/lib - not show" > ${TST_DIR}/usr/lib/motd.d/hidden-by-symlink.motd
|
|
echo "motd: test-from-symlink - show" > ${TST_DIR}/test-from-symlink.motd
|
|
ln -sr ${TST_DIR}/test-from-symlink.motd ${TST_DIR}/run/motd.d/hidden-by-symlink.motd
|
|
|
|
# Test hidden by a null symlink
|
|
echo "motd: hidden-by-null-symlink in run - not show" > ${TST_DIR}/run/motd.d/hidden-by-null-symlink.motd
|
|
ln -s /dev/null ${TST_DIR}/etc/motd.d/hidden-by-null-symlink.motd
|
|
|
|
./tst-pam_motd tst-pam_motd3 > tst-pam_motd3.out
|
|
|
|
RET=$?
|
|
|
|
motd_dir_not_show_output=$(cat tst-pam_motd3.out | grep "not show")
|
|
if [ -n "${motd_dir_not_show_output}" ];
|
|
then
|
|
tst_cleanup
|
|
exit 1
|
|
fi
|
|
|
|
motd_test_show_output=$(cat tst-pam_motd3.out | grep "test-show.*- show")
|
|
if [ -z "${motd_test_show_output}" ];
|
|
then
|
|
tst_cleanup
|
|
exit 1
|
|
fi
|
|
|
|
motd_general_symlink_show_output=$(cat tst-pam_motd3.out | grep "test-from-symlink.*- show")
|
|
if [ -z "${motd_general_symlink_show_output}" ];
|
|
then
|
|
tst_cleanup
|
|
exit 1
|
|
fi
|
|
|
|
tst_cleanup
|
|
exit $RET
|