]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
oeqa/runtime/ssh: In case of failure, show exit code and handle -15 (SIGTERM)
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 4 Jul 2024 10:10:38 +0000 (11:10 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 4 Jul 2024 21:55:35 +0000 (22:55 +0100)
Ensure we show the failing exit code in case of failures.

We're seeing autobuilder failures with -15 (SIGTERM) which is probably from
slow boot/init. Retry in these cases for now.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/runtime/cases/ssh.py

index ae92bb34cd9c262ff51be3c3d82a8b2b8fdece9f..9a8deb3f25ea69e2a11a2b071e67adc445205081 100644 (file)
@@ -5,6 +5,7 @@
 #
 
 import time
+import signal
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
@@ -19,16 +20,18 @@ class SSHTest(OERuntimeTestCase):
           status, output = self.target.run("uname -a", timeout=5)
           if status == 0:
               break
-          elif status == 255:
+          elif status == 255 or status == -signal.SIGTERM:
               # ssh returns 255 only if a ssh error occurs.  This could
               # be an issue with "Connection refused" because the port
               # isn't open yet, and this could check explicitly for that
               # here.  However, let's keep it simple and just retry for
               # all errors a limited amount of times with a sleep to
               # give it time for the port to open.
+              # We sometimes see -15 (SIGTERM) on slow emulation machines too, likely
+              # from boot/init not being 100% complete, retry for these too.
               time.sleep(5)
               continue
           else:
-              self.fail("uname failed with \"%s\"" %output)
+              self.fail("uname failed with \"%s\" (exit code %s)" % (output, status))
         if status == 255:
             self.fail("ssh error %s" %output)