]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: reorder the machinectl signal tests
authorFrantisek Sumsal <frantisek@sumsal.cz>
Mon, 10 Jul 2023 08:39:00 +0000 (10:39 +0200)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 10 Jul 2023 14:26:32 +0000 (15:26 +0100)
So the multiple-machines tests run last to avoid a race where the
checked signal would get ignored while the stub init is still processing
the previous signals:

[   17.380417] testsuite-13.sh[376]: + machinectl reboot long-running long-running long-running
[   17.389888] systemd-nspawn[495]: ++ touch /reboot
[   17.390904] testsuite-13.sh[376]: + rm -f /var/lib/machines/long-running/trap
[   17.393937] testsuite-13.sh[376]: + machinectl kill --signal=SIGTRAP --kill-whom=leader long-running
[   17.408905] testsuite-13.sh[376]: + timeout 10 bash -c 'while ! test -e /var/lib/machines/long-running/trap; do sleep .5; done'
[   27.413210] testsuite-13.sh[376]: + at_exit
...
[   27.993376] testsuite-13.sh[373]: + echo 'Subtest /usr/lib/systemd/tests/testdata/units/testsuite-13.machinectl.sh failed'

test/units/testsuite-13.machinectl.sh

index e104a225cc95aed131ef985b52f643056a34fc94..e27bb36270cf4c6a24735109e6a5ccd6100138b2 100755 (executable)
@@ -91,16 +91,17 @@ machinectl disable long-running long-running long-running container1
 rm -f /var/lib/machines/long-running/poweroff
 machinectl poweroff long-running
 timeout 10 bash -c "while ! test -e /var/lib/machines/long-running/poweroff; do sleep .5; done"
-machinectl poweroff long-running long-running long-running
 # Equivalent to machinectl kill --signal=SIGINT --kill-whom=leader
 rm -f /var/lib/machines/long-running/reboot
 machinectl reboot long-running
 timeout 10 bash -c "while ! test -e /var/lib/machines/long-running/reboot; do sleep .5; done"
-machinectl reboot long-running long-running long-running
 # Skip machinectl terminate for now, as it doesn't play well with our "init"
 rm -f /var/lib/machines/long-running/trap
 machinectl kill --signal=SIGTRAP --kill-whom=leader long-running
 timeout 10 bash -c "while ! test -e /var/lib/machines/long-running/trap; do sleep .5; done"
+# Multiple machines at once
+machinectl poweroff long-running long-running long-running
+machinectl reboot long-running long-running long-running
 machinectl kill --signal=SIGTRAP --kill-whom=leader long-running long-running long-running
 # All used signals should've been caught by a handler
 [[ "$(machinectl show --property=State --value long-running)" == "running" ]]