From 38d8a12353698b2133667042d7c2c10c2a656c6a Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Sat, 10 Aug 2019 16:03:07 +0200 Subject: [PATCH 1/2] test: introduce TEST-37-EXECRELOAD A simple test case for #13098 --- test/TEST-37-EXECRELOAD/Makefile | 1 + test/TEST-37-EXECRELOAD/test.sh | 45 +++++++++++++++++++ test/TEST-37-EXECRELOAD/testsuite.sh | 64 ++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+) create mode 120000 test/TEST-37-EXECRELOAD/Makefile create mode 100755 test/TEST-37-EXECRELOAD/test.sh create mode 100644 test/TEST-37-EXECRELOAD/testsuite.sh diff --git a/test/TEST-37-EXECRELOAD/Makefile b/test/TEST-37-EXECRELOAD/Makefile new file mode 120000 index 0000000000..e9f93b1104 --- /dev/null +++ b/test/TEST-37-EXECRELOAD/Makefile @@ -0,0 +1 @@ +../TEST-01-BASIC/Makefile \ No newline at end of file diff --git a/test/TEST-37-EXECRELOAD/test.sh b/test/TEST-37-EXECRELOAD/test.sh new file mode 100755 index 0000000000..7eb9db415a --- /dev/null +++ b/test/TEST-37-EXECRELOAD/test.sh @@ -0,0 +1,45 @@ +#!/bin/bash +set -e +TEST_DESCRIPTION="Test ExecReload= (PR #13098)" + +. $TEST_BASE_DIR/test-functions + +test_setup() { + create_empty_image_rootdir + + # Create what will eventually be our root filesystem onto an overlay + ( + LOG_LEVEL=5 + eval $(udevadm info --export --query=env --name=${LOOPDEV}p2) + + setup_basic_environment + dracut_install mktemp + + # mask some services that we do not want to run in these tests + ln -fs /dev/null $initdir/etc/systemd/system/systemd-hwdb-update.service + ln -fs /dev/null $initdir/etc/systemd/system/systemd-journal-catalog-update.service + ln -fs /dev/null $initdir/etc/systemd/system/systemd-networkd.service + ln -fs /dev/null $initdir/etc/systemd/system/systemd-networkd.socket + ln -fs /dev/null $initdir/etc/systemd/system/systemd-resolved.service + ln -fs /dev/null $initdir/etc/systemd/system/systemd-machined.service + + # setup the testsuite service + cat >$initdir/etc/systemd/system/testsuite.service < "$SERVICE_PATH" << EOF +[Service] +ExecStart=/bin/sleep infinity +ExecReload=/bin/false +EOF + +systemctl daemon-reload +systemctl start $SERVICE_NAME +systemctl status $SERVICE_NAME +# The reload SHOULD fail but SHOULD NOT affect the service state +! systemctl reload $SERVICE_NAME +systemctl status $SERVICE_NAME +systemctl stop $SERVICE_NAME + + +echo "[#2] Failing ExecReload= should not kill the service (multiple ExecReload=)" +cat > "$SERVICE_PATH" << EOF +[Service] +ExecStart=/bin/sleep infinity +ExecReload=/bin/true +ExecReload=/bin/false +ExecReload=/bin/true +EOF + +systemctl daemon-reload +systemctl start $SERVICE_NAME +systemctl status $SERVICE_NAME +# The reload SHOULD fail but SHOULD NOT affect the service state +! systemctl reload $SERVICE_NAME +systemctl status $SERVICE_NAME +systemctl stop $SERVICE_NAME + +echo "[#3] Failing ExecReload=- should not affect reload's exit code" +cat > "$SERVICE_PATH" << EOF +[Service] +ExecStart=/bin/sleep infinity +ExecReload=-/bin/false +EOF + +systemctl daemon-reload +systemctl start $SERVICE_NAME +systemctl status $SERVICE_NAME +systemctl reload $SERVICE_NAME +systemctl status $SERVICE_NAME +systemctl stop $SERVICE_NAME + +systemd-analyze log-level info + +echo OK > /testok + +exit 0 From 67c434b03f8a24f5350f017dfb4b2464406046db Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Sat, 10 Aug 2019 16:05:07 +0200 Subject: [PATCH 2/2] test: drop the missed || exit 1 expression ...as we've already done in the rest of the testsuite, see cc469c3dfc398210f38f819d367e68646c71d8da --- test/TEST-36-NUMAPOLICY/test.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/TEST-36-NUMAPOLICY/test.sh b/test/TEST-36-NUMAPOLICY/test.sh index f0a321e7a1..3b3b120423 100755 --- a/test/TEST-36-NUMAPOLICY/test.sh +++ b/test/TEST-36-NUMAPOLICY/test.sh @@ -1,5 +1,6 @@ #!/bin/bash set -e + TEST_DESCRIPTION="test MUMAPolicy= and NUMAMask= options" TEST_NO_NSPAWN=1 QEMU_OPTIONS="-numa node,nodeid=0" @@ -41,7 +42,7 @@ EOF cp testsuite.sh $initdir/ setup_testsuite - ) || return 1 + ) setup_nspawn_root ddebug "umount $TESTDIR/root"