From 020eefe7325591cd31a51f3a3dc2d752386f60d1 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 6 Jul 2025 13:21:50 +0200 Subject: [PATCH] test: extend start-stop-sysv to verify stop:script support Signed-off-by: Joachim Wiberg --- test/start-stop-sysv.sh | 70 +++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/test/start-stop-sysv.sh b/test/start-stop-sysv.sh index 9d5f7e63..8060fc17 100755 --- a/test/start-stop-sysv.sh +++ b/test/start-stop-sysv.sh @@ -3,8 +3,11 @@ set -eu -STANZA="sysv [2345] pid:!/run/service.pid name:service.sh log:stdout \ - reload:'/etc/init.d/S01-service.sh reload' \ +STANZA1="sysv [2345] pid:!/run/service.pid name:service.sh log:stdout \ + /etc/init.d/S01-service.sh -- SysV test service" +STANZA2="sysv [2345] pid:!/run/service.pid name:service.sh log:stdout \ + reload:'/etc/init.d/S01-service.sh reload' \ + stop:'/etc/init.d/S01-service.sh stop' \ /etc/init.d/S01-service.sh -- SysV test service" TEST_DIR=$(dirname "$0") #DEBUG=1 @@ -15,36 +18,43 @@ test_teardown() assert "Running test teardown." "run rm -f $FINIT_RCSD/service.conf" } +test_one() +{ + say "Add sysv stanza #1 in $FINIT_CONF" + run "echo \"$1\" > $FINIT_RCSD/service.conf" + + say "Reload Finit" + run "initctl reload" + + retry 'assert_num_children 1 service.sh' + retry 'assert_cond service/service.sh/ready' + + sep 'Stop the sysv service' + run "initctl stop service.sh" + + retry 'assert_num_children 0 service.sh' + + sep 'Start the sysv service again' + run "initctl start service.sh" + + retry 'assert_num_children 1 service.sh' + retry 'assert_cond service/service.sh/ready' + + sep 'Touch the sysv service' + run "initctl touch service.conf" + run "initctl reload" + #run "initctl cond dump" + + retry 'assert_num_children 1 service.sh' + retry 'assert_cond service/service.sh/ready' +} + . "$TEST_DIR/lib/setup.sh" -sep "Test start $(date)" +sep "―― 1) Basic sysv daemon" +test_one "$STANZA1" -say "Add sysv stanza in $FINIT_CONF" -run "echo \"$STANZA\" > $FINIT_RCSD/service.conf" - -say "Reload Finit" -run "initctl reload" - -retry 'assert_num_children 1 service.sh' -retry 'assert_cond service/service.sh/ready' - -sep 'Stop the sysv service' -run "initctl stop service.sh" - -retry 'assert_num_children 0 service.sh' - -sep 'Start the sysv service again' -run "initctl start service.sh" - -retry 'assert_num_children 1 service.sh' -retry 'assert_cond service/service.sh/ready' - -sep 'Touch the sysv service' -run "initctl touch service.conf" -run "initctl reload" -#run "initctl cond dump" - -retry 'assert_num_children 1 service.sh' -retry 'assert_cond service/service.sh/ready' +sep "―― 2) Custom reload/start script for sysv daemon" +test_one "$STANZA2" return 0