From e826a8bed447f3b3f9ad487f96ab7f8c7620c75b Mon Sep 17 00:00:00 2001 From: Ivan Kruglov Date: Fri, 20 Sep 2024 12:20:53 +0200 Subject: [PATCH] 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. --- test/units/TEST-13-NSPAWN.machinectl.sh | 9 +++++++++ 1 file changed, 9 insertions(+) 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 -- 2.47.3