cron02: Use lib to restart crond service
Use restart_daemon() to restart crond service.
Signed-off-by: Peng Haitao <penght@cn.fujitsu.com>
Acked-by: Cyril Hrubis <chrubis@suse.cz>
Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
diff --git a/testcases/commands/cron/cron02 b/testcases/commands/cron/cron02
index f8615dc..16b425d 100755
--- a/testcases/commands/cron/cron02
+++ b/testcases/commands/cron/cron02
@@ -52,29 +52,10 @@
}
fi
- # running under systemd?
- if command -v systemctl >/dev/null 2>&1; then
- HAVE_SYSTEMCTL=true
+ if [ -n "$CROND_DAEMON" ]; then
+ restart_daemon $CROND_DAEMON
else
- HAVE_SYSTEMCTL=false
- fi
-
- # restart cron daemon
- # Red Hat uses crond, SuSE/Other uses cron.
- if [ -x /etc/init.d/crond ]; then
- /etc/init.d/crond restart
- elif [ -x /etc/init.d/cron ]; then
- /etc/init.d/cron restart
- elif $HAVE_SYSTEMCTL; then
- for crond in "crond" "cron"; do
- if systemctl is-enabled $crond.service >/dev/null 2>&1; then
- systemctl restart $crond.service
- break
- fi
- done
- else
- echo "Could not determine cron init.d script."
- exit 1
+ tst_brkm TBROK "Couldn't find crond or cron"
fi
}
@@ -90,6 +71,8 @@
#-----------------------------------------------------------------------
# FUNCTION: MAIN
#-----------------------------------------------------------------------
+. cmdlib.sh
+
do_setup
cron_pos_tests.sh $TEST_USER
EXIT_CODE=$?
diff --git a/testcases/lib/cmdlib.sh b/testcases/lib/cmdlib.sh
index b1ea15e..d6f43d2 100644
--- a/testcases/lib/cmdlib.sh
+++ b/testcases/lib/cmdlib.sh
@@ -168,6 +168,14 @@
SYSLOG_DAEMON="rsyslog"
fi
+# Check to see if cron or crond exists
+CROND_DAEMON=""
+if command -v crond >/dev/null 2>&1; then
+ CROND_DAEMON="crond"
+elif command -v cron >/dev/null 2>&1; then
+ CROND_DAEMON="cron"
+fi
+
start_daemon()
{
if [ $HAVE_SYSTEMCTL -eq 1 ]; then