From: Ivan Kruglov Date: Fri, 20 Sep 2024 10:20:53 +0000 (+0200) Subject: machine: resolve race condition in TEST-13-NSPAWN.machinectl.sh X-Git-Tag: v257-rc1~369 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e826a8bed447f3b3f9ad487f96ab7f8c7620c75b;p=thirdparty%2Fsystemd.git machine: resolve race condition in TEST-13-NSPAWN.machinectl.sh I encountered this race condition while working on TEST-13-NSPAWN.varlinkctl.sh. The long-running machine's init script sometimes does not have time to start and register signals. As result, occasiounally failed tests. --- diff --git a/test/units/TEST-13-NSPAWN.machinectl.sh b/test/units/TEST-13-NSPAWN.machinectl.sh index 7ff953bae9e..0b0f90fb8fd 100755 --- a/test/units/TEST-13-NSPAWN.machinectl.sh +++ b/test/units/TEST-13-NSPAWN.machinectl.sh @@ -47,12 +47,21 @@ trap 'kill $PID' EXIT # We need to wait for the sleep process asynchronously in order to allow # bash to process signals sleep infinity & + +# notify that the process is ready +touch /ready + PID=$! while :; do wait || : done EOF + +rm -f /var/lib/machines/long-running/ready machinectl start long-running +# !!!! DO NOT REMOVE THIS TEST +# The test makes sure that the long-running's init script has enough time to start and registered signal traps +timeout 10 bash -c "until test -e /var/lib/machines/long-running/ready; do sleep .5; done" machinectl machinectl --no-pager --help