2017-12-12 16:50:57 +00:00
#!/bin/bash
# vim: dict=/usr/share/rhts-library/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/initscripts/Sanity/init-scripts-LSB
# Description: Init scripts should meet LSB specifications
# Author: Jan Scotka <jscotka@redhat.com>, Yulia Kopkova <ykopkova@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2009 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include rhts environment
. /usr/bin/rhts-environment.sh
. /usr/share/rhts-library/rhtslib.sh
PACKAGE = "initscripts"
SRV_NETCONSOLE = netconsole
SRV_NETFS = netfs
2017-12-19 17:00:08 +00:00
TRG_REMOTEFS = remote-fs.target
2017-12-12 16:50:57 +00:00
SRV_NETWORK = network
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "useradd testuserqa" 0 "Add test user"
rlFileBackup /etc/sysconfig/netconsole
if rlIsRHEL '<7' ; then #there is no syslog in rhel7 and highier
rlRun "sed -i -e 's,^# SYSLOGADDR=,SYSLOGADDR=redhat.com,' /etc/sysconfig/netconsole" 0 "Set remote syslog server address /etc/sysconfig/netconsole"
fi
rlPhaseEnd
rlPhaseStartTest "netconsole service LSB compliance test"
if ls /lib*/modules/*/kernel/drivers/net/netconsole.ko*; then
rlRun "ls /lib*/modules/*/kernel/drivers/net/netconsole.ko*" 0
if rlIsRHEL '<7' ; then
SERVICE = $SRV_NETCONSOLE
rlServiceStop $SERVICE
rlLog ">>>>>>>>> service start"
2017-12-19 17:00:08 +00:00
rlRun " service $SERVICE start " 0 " Service must start without problem "
2017-12-12 16:50:57 +00:00
rlRun " service $SERVICE status " 0 " Then Status command "
rlRun " service $SERVICE start " 0 " Already started service "
rlRun " service $SERVICE status " 0 " Again status command "
rlLog ">>>>>>>>> service restart"
2017-12-19 17:00:08 +00:00
rlRun " service $SERVICE restart " 0 " Restarting of service "
2017-12-12 16:50:57 +00:00
rlRun " service $SERVICE status " 0 " Status command "
rlLog ">>>>>>>>> service stop"
rlRun " service $SERVICE stop " 0 " Stopping service "
rlRun " service $SERVICE status " 3 " Status of stopped service "
rlRun " service $SERVICE stop " 0 " Stopping service again "
rlRun " service $SERVICE status " 3 " Status of stopped service "
rlLog ">>>>>>>>> insufficient rights"
rlRun " service $SERVICE start " 0 " Starting service for restarting under nonpriv user "
2017-12-19 17:00:08 +00:00
rlRun " su testuserqa -c 'service $SERVICE restart' " 1 "Insufficient rights, restarting resrvice under nonprivileged user must fail "
2017-12-12 16:50:57 +00:00
rlLog ">>>>>>>>> operations"
rlServiceStop $SERVICE
rlRun " service $SERVICE start " 0 " Service have to implement start function "
rlRun " service $SERVICE restart " 0 " Service have to implement restart function "
rlRun " service $SERVICE status " 0 " Service have to implement status function "
rlRun " service $SERVICE condrestart " 0 " Service have to implement condrestart function "
rlRun " service $SERVICE reload " 0 " Service have to implement reload function "
rlRun " service $SERVICE force-reload " 0 " Service have to implement force-reload function "
rlLog ">>>>>>>>> nonexist operations"
2017-12-19 17:00:08 +00:00
rlRun " service $SERVICE noexistop " 2 " Testing proper return code when nonexisting function "
2017-12-12 16:50:57 +00:00
rlServiceRestore $SERVICE
fi # rhel 6 or less
else
rlLog ">>>> no netconsole kernel module appear here"
rlRun "ls /lib*/modules/*/kernel/drivers/net/netconsole.ko*" 1,2
fi
rlLog "NIC should support polling, NETPOLL should be compliled in kernel and netconsole module should be loaded"
rlLog " `cat /usr/src/kernels/ $( uname -r) /.config | grep -i poll` "
rlLog "netconsole module: `lsmod | grep -i netconsole && echo true || echo false`"
rlLog "`cat /var/log/messages | grep -i netconsole | tail -n 10`"
rlPhaseEnd
# for RHEL6 and lower
if rlIsRHEL '<7' ; then
rlPhaseStartTest "netfs service LSB compliance test"
SERVICE = $SRV_NETFS
rlServiceStop $SERVICE
rlLog ">>>>>>>>> service start"
2017-12-19 17:00:08 +00:00
rlRun " service $SERVICE start " 0 " Service must start without problem "
2017-12-12 16:50:57 +00:00
rlRun " service $SERVICE status " 0 " Then Status command "
rlRun " service $SERVICE start " 0 " Already started service "
rlRun " service $SERVICE status " 0 " Again status command "
rlLog ">>>>>>>>> service restart"
2017-12-19 17:00:08 +00:00
rlRun " service $SERVICE restart " 0 " Restarting of service "
2017-12-12 16:50:57 +00:00
rlRun " service $SERVICE status " 0 " Status command "
rlLog ">>>>>>>>> service stop"
rlRun " service $SERVICE stop " 0 " Stopping service "
rlRun " service $SERVICE status " 3 " Status of stopped service "
rlRun " service $SERVICE stop " 0 " Stopping service again "
rlRun " service $SERVICE status " 3 " Status of stopped service "
rlLog ">>>>>>>>> insufficient rights"
rlRun " service $SERVICE start " 0 " Starting service for restarting under nonpriv user "
2017-12-19 17:00:08 +00:00
rlRun " su testuserqa -c 'service $SERVICE restart' " 4 "Insufficient rights, restarting resrvice under nonprivileged user must fail "
2017-12-12 16:50:57 +00:00
rlLog ">>>>>>>>> operations"
rlServiceStop $SERVICE
rlRun " service $SERVICE start " 0 " Service have to implement start function "
rlRun " service $SERVICE restart " 0 " Service have to implement restart function "
rlRun " service $SERVICE status " 0 " Service have to implement status function "
rlLog ">>>>>>>>> nonexist operations"
2017-12-19 17:00:08 +00:00
rlRun " service $SERVICE noexistop " 2 " Testing proper return code when nonexisting function "
2017-12-12 16:50:57 +00:00
rlServiceRestore $SERVICE
rlPhaseEnd
2017-12-19 17:00:08 +00:00
else
rlPhaseStartTest "remote-fs target LSB compliance test"
TARGET = $TRG_REMOTEFS
rlServiceStop $TARGET
rlLog ">>>>>>>>> target start"
rlRun " service $TARGET start " 0 " Target must start without problem "
rlRun " service $TARGET status " 0 " Then Status command "
rlRun " service $TARGET start " 0 " Already started target "
rlRun " service $TARGET status " 0 " Again status command "
rlLog ">>>>>>>>> target restart"
rlRun " service $TARGET restart " 0 " Restarting target "
rlRun " service $TARGET status " 0 " Status command "
rlLog ">>>>>>>>> target stop"
rlRun " service $TARGET stop " 0 " Stopping target "
rlRun " service $TARGET status " 3 " Status of stopped target "
rlRun " service $TARGET stop " 0 " Stopping target again "
rlRun " service $TARGET status " 3 " Status of stopped target "
rlLog ">>>>>>>>> insufficient rights"
rlRun " service $TARGET start " 0 " Starting target for restarting under nonpriv user "
rlRun " su testuserqa -c 'service $TARGET restart' " 1 " Insufficient rights, restarting target under nonprivileged user must fail " # returns 1 instead of 4 because of polkit
rlLog ">>>>>>>>> operations"
rlServiceStop $TARGET
rlRun " service $TARGET start " 0 " Target have to implement start function "
rlRun " service $TARGET restart " 0 " Target have to implement restart function "
rlRun " service $TARGET status " 0 " Target have to implement status function "
rlLog ">>>>>>>>> nonexist operations"
rlRun " service $TARGET noexistop " 2 " Testing proper return code when nonexisting function "
rlServiceRestore $TARGET
rlPhaseEnd
fi
2017-12-12 16:50:57 +00:00
# rlPhaseStartTest "$SRV_NETWORK service LSB compliance test"
#
# SERVICE=$SRV_NETWORK
# rlServiceStop $SERVICE
# rlLog ">>>>>>>>> service start"
2017-12-19 17:00:08 +00:00
# rlRun "service $SERVICE start" 0 " Service must start without problem "
2017-12-12 16:50:57 +00:00
# rlRun "service $SERVICE status" 0 " Then Status command "
# rlRun "service $SERVICE start" 1,0 " Already started service "
# rlRun "service $SERVICE status" 0 " Again status command "
# rlLog ">>>>>>>>> service restart"
2017-12-19 17:00:08 +00:00
# rlRun "service $SERVICE restart" 0 " Restarting of service "
2017-12-12 16:50:57 +00:00
# rlRun "service $SERVICE status" 0 " Status command "
# rlLog ">>>>>>>>> service stop"
# rlRun "service $SERVICE stop" 0 " Stopping service "
# rlRun "service $SERVICE status" 0 " Status of stopped service "
# rlRun "service $SERVICE stop" 0 " Stopping service again "
# rlRun "service $SERVICE status" 0 " Status of stopped service "
# rlLog ">>>>>>>>> insufficient rights"
# rlRun "service $SERVICE start " 0 " Starting service for restarting under nonpriv user "
2017-12-19 17:00:08 +00:00
# rlRun "su testuserqa -c 'service $SERVICE restart'" 4 "Insufficient rights, restarting resrvice under nonprivileged user must fail "
2017-12-12 16:50:57 +00:00
# rlLog ">>>>>>>>> operations"
# rlServiceStop $SERVICE
# rlRun "service $SERVICE start" 0 " Service have to implement start function "
# rlRun "service $SERVICE restart" 0 " Service have to implement restart function "
# rlRun "service $SERVICE status" 0 " Service have to implement status function "
# rlRun "service $SERVICE reload" 0 " Service have to implement reload function "
# rlRun "service $SERVICE force-reload" 0 " Service have to implement force-reload function "
# rlLog ">>>>>>>>> nonexist operations"
2017-12-19 17:00:08 +00:00
# rlRun "service $SERVICE noexistop" 2 " Testing proper return code when nonexisting function "
2017-12-12 16:50:57 +00:00
# rlServiceRestore $SERVICE
# service $SERVICE start
rlPhaseEnd
rlPhaseStartCleanup
rlRun "userdel -fr testuserqa" 0 "Remove test user"
rlFileRestore
rlPhaseEnd
rlJournalPrintText
rlJournalEnd