From patchwork Tue Oct 7 17:38:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Dubois-Briand X-Patchwork-Id: 71795 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1773BCCD187 for ; Tue, 7 Oct 2025 17:38:26 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.web10.25066.1759858700857135838 for ; Tue, 07 Oct 2025 10:38:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=O9wX+Tmi; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: mathieu.dubois-briand@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 34CD54E40F62 for ; Tue, 7 Oct 2025 17:38:19 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 0424C606E5 for ; Tue, 7 Oct 2025 17:38:19 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 3A022102F2176; Tue, 7 Oct 2025 19:38:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1759858698; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=VqYIXcjbYi1yMYIATlweK7Cw+lrMnKm18pbx0Tp2Po8=; b=O9wX+TmixBufTsghr5J6hKztRHA2lmXtAjpyYfELP1o/XGsyLQkDHxwU/pRZjOrRA8KJFG 0gXk57RHMRJD9vXBGpD9jIr72SodJWY4Mh4qF835XNjRK6joIo6hqPx5crkp2Rjzd8q+Em AyYVvbwIXWtbskwr61ORqmUM9sxxZ9tkfBob+sFAOA5130RMzkkq8igg+ITltjT6rExWzD /L2bG2IOvWnSEs0CGM1JShdThYBSeZWiuocUw7CYPzhcrUk3PnE73Fx0KiAVzj5UmG7QPb tSVfU4fmVSUuYr9GhlavNevdhr1UMtUPDoSgHNRwKbj6t2/2IBAdTiMF7dzSfw== From: Mathieu Dubois-Briand Date: Tue, 07 Oct 2025 19:38:06 +0200 Subject: [PATCH 1/4] oeqa: target: ssh: Fail on SSH error even when errors are ignored MIME-Version: 1.0 Message-Id: <20251007-mathieu-ssh-fails-v1-1-a6affee3571b@bootlin.com> References: <20251007-mathieu-ssh-fails-v1-0-a6affee3571b@bootlin.com> In-Reply-To: <20251007-mathieu-ssh-fails-v1-0-a6affee3571b@bootlin.com> To: openembedded-core@lists.openembedded.org Cc: Thomas Petazzoni , Mathieu Dubois-Briand X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1759858696; l=3114; i=mathieu.dubois-briand@bootlin.com; s=20241219; h=from:subject:message-id; bh=kS6W95WkE26eZ1QwymKiYYYZkfmbaMoYSwqqt48EUpw=; b=BChzXtzPsWIhdFFdp8+iHFnArj1yUMWlVwxzX/OfXf0aaLPUY+P9pA0NvU6kjc6VnaiRdGq8y 6KdRnqg02M5BJzJDTGODadzC6/Vx0JJ+0HWIctDkOK7HtOyUaOJ/yOK X-Developer-Key: i=mathieu.dubois-briand@bootlin.com; a=ed25519; pk=1PVTmzPXfKvDwcPUzG0aqdGoKZJA3b9s+3DqRlm0Lww= X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 07 Oct 2025 17:38:26 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/224545 Most tests running SSH commands ask for no error to be raised when the returned status is not 0. As run() will return this status, they may later use its value to do a similar check on their own, or completely ignore it. But most of the tests do not check if the non-zero status is caused by a fail of the command run on the target or by a fail of SSH itself. This can lead to confusion when the error does not come from the command executed on the target but from SSH itself: test might wrongfully be marked as PASSED or might fail with incoherent errors. As SSH errors are always reported with exit code 255, we can easily filter these. Modify OESSHTarget.run() behaviour so an AssertionError is raised on SSH failures, even when ignore_status parameter is True. Still allow to explicitly ignore this error for the rare cases where this can be needed. Signed-off-by: Mathieu Dubois-Briand --- meta/lib/oeqa/core/target/ssh.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/core/target/ssh.py b/meta/lib/oeqa/core/target/ssh.py index 8b5c450a058fd172f36af6cbd9569983aa3d2d51..0ac3ae438895c97e89599b2dfb2797dabbf383dd 100644 --- a/meta/lib/oeqa/core/target/ssh.py +++ b/meta/lib/oeqa/core/target/ssh.py @@ -55,7 +55,7 @@ class OESSHTarget(OETarget): def stop(self, **kwargs): pass - def _run(self, command, timeout=None, ignore_status=True, raw=False): + def _run(self, command, timeout=None, ignore_status=True, raw=False, ignore_ssh_fails=False): """ Runs command in target using SSHProcess. """ @@ -66,13 +66,17 @@ class OESSHTarget(OETarget): self.logger.debug("[Command returned '%d' after %.2f seconds]" "" % (status, time.time() - starttime)) - if status and not ignore_status: + if status == 255 and not ignore_ssh_fails: + raise AssertionError("ssh exited with status '255' for command " + "'%s': this is likely an SSH failure\n%s" + % (command, output)) + elif status and not ignore_status: raise AssertionError("Command '%s' returned non-zero exit " "status %d:\n%s" % (command, status, output)) return (status, output) - def run(self, command, timeout=None, ignore_status=True, raw=False): + def run(self, command, timeout=None, ignore_status=True, raw=False, ignore_ssh_fails=False): """ Runs command in target. @@ -91,7 +95,7 @@ class OESSHTarget(OETarget): else: processTimeout = self.timeout - status, output = self._run(sshCmd, processTimeout, ignore_status, raw) + status, output = self._run(sshCmd, processTimeout, ignore_status, raw, ignore_ssh_fails) if len(output) > (64 * 1024): self.logger.debug('Command: %s\nStatus: %d Output length: %s\n' % (command, status, len(output))) else: From patchwork Tue Oct 7 17:38:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Dubois-Briand X-Patchwork-Id: 71794 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id EEC81CCD183 for ; Tue, 7 Oct 2025 17:38:25 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.web11.25227.1759858701247149930 for ; Tue, 07 Oct 2025 10:38:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=1VBNbwGa; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: mathieu.dubois-briand@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id E4A444E40F63 for ; Tue, 7 Oct 2025 17:38:19 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id BCB74606C8 for ; Tue, 7 Oct 2025 17:38:19 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id E3B33102F2179; Tue, 7 Oct 2025 19:38:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1759858699; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=zN36EiSZRvbN7+AT+HvXaFMfrqITKJTXCktJjj3AdR4=; b=1VBNbwGaW1YuVuKGg/T9Fds+WvLpZRuamb8xeM/ERk89sQ7jnVnF+sO6dSCGeBU4LhO87d TbAzGVSZI4fgNir/bdKL1+aloKuNOi6MHOkSxeTCAjiQajhrBx99ggwFs6rtG18ny5tMMe eFotOQiLvCmVSXnK669CI6P9VBsBD6O28eBjpXt1oToRKhx5/GRO6+iLWRE3jhIL3XZdWU tOcQtaRmbcVhndK48nsIac2/iFn8C8PmV+F3umrYOY6tPjEriGv2cKD2v9Vy5eLw5ACben PgMC6HkwFrPs2S/OFdIexNcKVnjlPFWwCQ1nnR0S3mVeHcgdGiXOiaOOo8k37Q== From: Mathieu Dubois-Briand Date: Tue, 07 Oct 2025 19:38:07 +0200 Subject: [PATCH 2/4] oeqa: runtime: Ignore SSH errors during setup and tear down MIME-Version: 1.0 Message-Id: <20251007-mathieu-ssh-fails-v1-2-a6affee3571b@bootlin.com> References: <20251007-mathieu-ssh-fails-v1-0-a6affee3571b@bootlin.com> In-Reply-To: <20251007-mathieu-ssh-fails-v1-0-a6affee3571b@bootlin.com> To: openembedded-core@lists.openembedded.org Cc: Thomas Petazzoni , Mathieu Dubois-Briand X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1759858696; l=2596; i=mathieu.dubois-briand@bootlin.com; s=20241219; h=from:subject:message-id; bh=k3qizJtLhjqMJJMz+nCQJyMISFN2eS0RDyyn8ti73mU=; b=mKmOarjSgJ69IKaO/NB8pe7wMLRpA69nJBhdFGv7P27NThF7Pcyq7LgNzFW9oTT52+PnmI67X s77PRlOUmYGDxq0WY4RUFyfmYkWS7PvMoFi9pUGC07c+F29IxfSAs1q X-Developer-Key: i=mathieu.dubois-briand@bootlin.com; a=ed25519; pk=1PVTmzPXfKvDwcPUzG0aqdGoKZJA3b9s+3DqRlm0Lww= X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 07 Oct 2025 17:38:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/224546 Tests using SSH will fail when no SSH server is present on the target. These tests are disabled in these cases, by being marked with a dependency on ssh.SSHTest.test_ssh, which in turns has a dependency on having either dropbear or openssh-sshd in the image. But setUpClass() and tearDownClass() functions are always executed, even on tests failing the dependency checks, leading to unexpected failed tests. Ignoring SSH errors in setup and tear down allows to avoid these test errors. Signed-off-by: Mathieu Dubois-Briand --- meta/lib/oeqa/runtime/cases/logrotate.py | 7 ++++--- meta/lib/oeqa/runtime/cases/weston.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/logrotate.py b/meta/lib/oeqa/runtime/cases/logrotate.py index 6ad980cb6adc0cc1660989228442633db3a9827d..7cb43d98c56d73865838ed8418a6a88732840a28 100644 --- a/meta/lib/oeqa/runtime/cases/logrotate.py +++ b/meta/lib/oeqa/runtime/cases/logrotate.py @@ -15,12 +15,13 @@ class LogrotateTest(OERuntimeTestCase): @classmethod def setUpClass(cls): - cls.tc.target.run('cp /etc/logrotate.d/wtmp $HOME/wtmp.oeqabak') + cls.tc.target.run('cp /etc/logrotate.d/wtmp $HOME/wtmp.oeqabak', + ignore_ssh_fails=True) @classmethod def tearDownClass(cls): - cls.tc.target.run('mv -f $HOME/wtmp.oeqabak /etc/logrotate.d/wtmp && rm -rf /var/log//logrotate_dir') - cls.tc.target.run('rm -rf /var/log/logrotate_testfile && rm -rf /etc/logrotate.d/logrotate_testfile') + cls.tc.target.run('mv -f $HOME/wtmp.oeqabak /etc/logrotate.d/wtmp && rm -rf /var/log//logrotate_dir', ignore_ssh_fails=True) + cls.tc.target.run('rm -rf /var/log/logrotate_testfile && rm -rf /etc/logrotate.d/logrotate_testfile', ignore_ssh_fails=True) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['logrotate']) diff --git a/meta/lib/oeqa/runtime/cases/weston.py b/meta/lib/oeqa/runtime/cases/weston.py index ee4d336482e5e7b4e61625599d38ab2fbf09ace0..e2cecffe83536c9bfeaae62892bad832f75cb541 100644 --- a/meta/lib/oeqa/runtime/cases/weston.py +++ b/meta/lib/oeqa/runtime/cases/weston.py @@ -16,7 +16,7 @@ class WestonTest(OERuntimeTestCase): @classmethod def tearDownClass(cls): - cls.tc.target.run('rm %s' % cls.weston_log_file) + cls.tc.target.run('rm %s' % cls.weston_log_file, ignore_ssh_fails=True) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['weston']) From patchwork Tue Oct 7 17:38:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Dubois-Briand X-Patchwork-Id: 71793 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id EDEBFCCA476 for ; Tue, 7 Oct 2025 17:38:25 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.web10.25068.1759858702295109464 for ; Tue, 07 Oct 2025 10:38:22 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=OFTLWZmQ; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: mathieu.dubois-briand@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id E0DDE4E40F65 for ; Tue, 7 Oct 2025 17:38:20 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id BAA29606C8 for ; Tue, 7 Oct 2025 17:38:20 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id CB597102F217A; Tue, 7 Oct 2025 19:38:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1759858700; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=xmtnF0W+Ks7IHSqgRS7Fd/MGzAuW1RN1fOKaHFvhZqs=; b=OFTLWZmQ42jqFSxhH2qReMp6GnsOEijhTy8FycIGPpyG4b0SPTYi4OIT2F+XLUylWdwt8r rs1fevaOlPoo5/mWh0oQkqrudExg/rRn8u+Z9zc3F+b9Ec/gvIw3jGXcg8AVNsJnY7gsv4 Ttr3eLH6AdK5WVeCjsP4UcTf11DGQ0HvqvWQEzd2pESx4NsXDNA1h2c8J/pMJEAJbtull6 gQXP8Pg0uWKRNwI2ROLAri/cqq2WsZE89zPjMsficEHwM+3PLOWSOKM8U7sn8YVhjP+F1l hDyanHnxJuj5jEjVrDYPW6vQoaJFVQ91twr3QmoKwL3q6F0BNKjOTkmnoAMPnA== From: Mathieu Dubois-Briand Date: Tue, 07 Oct 2025 19:38:08 +0200 Subject: [PATCH 3/4] oeqa: postactions: Ignore SSH errors MIME-Version: 1.0 Message-Id: <20251007-mathieu-ssh-fails-v1-3-a6affee3571b@bootlin.com> References: <20251007-mathieu-ssh-fails-v1-0-a6affee3571b@bootlin.com> In-Reply-To: <20251007-mathieu-ssh-fails-v1-0-a6affee3571b@bootlin.com> To: openembedded-core@lists.openembedded.org Cc: Thomas Petazzoni , Mathieu Dubois-Briand X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1759858696; l=1530; i=mathieu.dubois-briand@bootlin.com; s=20241219; h=from:subject:message-id; bh=w1NA7niLsdJFMcf75EMp2GCnCXhPsCYM5qplO9iDxlo=; b=Czj1ylsfsi86nOmM35Os1JNimAITobVsHFr4pYXsW6OFYTHOtyplG3uts8JiCP47gGkDZ2v3h jm5dL4pTz/kBovmFYTftYXuVUvRHz9/3FvjPwy19/CiyO8nzpEtJi9t X-Developer-Key: i=mathieu.dubois-briand@bootlin.com; a=ed25519; pk=1PVTmzPXfKvDwcPUzG0aqdGoKZJA3b9s+3DqRlm0Lww= X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 07 Oct 2025 17:38:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/224547 Postactions are not part of the tests but allow to retrieve useful data from the target. They try to do this using SSH, but this can fail when no SSH server is present on the target. Ignore these fails. Signed-off-by: Mathieu Dubois-Briand --- meta/lib/oeqa/utils/postactions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/utils/postactions.py b/meta/lib/oeqa/utils/postactions.py index c69481db6cbf29b5e3f267170151d85e73baa0d0..7b967edaad0f0a418347f18a7fa85073672ceeff 100644 --- a/meta/lib/oeqa/utils/postactions.py +++ b/meta/lib/oeqa/utils/postactions.py @@ -22,7 +22,7 @@ from oeqa.utils import get_artefact_dir def get_target_disk_usage(d, tc, artifacts_list, outputdir): output_file = os.path.join(outputdir, "target_disk_usage.txt") try: - (status, output) = tc.target.run('df -h') + (status, output) = tc.target.run('df -h', ignore_ssh_fails=True) with open(output_file, 'w') as f: f.write(output) f.write("\n") @@ -49,7 +49,7 @@ def get_artifacts_list(target, raw_list): for raw_path in raw_list.split(): cmd = f"for p in {raw_path}; do if [ -e $p ]; then echo $p; fi; done" try: - status, output = target.run(cmd) + status, output = target.run(cmd, ignore_ssh_fails=True) if status != 0 or not output: raise Exception() result += output.split() From patchwork Tue Oct 7 17:38:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Dubois-Briand X-Patchwork-Id: 71796 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0637CCCA470 for ; Tue, 7 Oct 2025 17:38:26 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.web10.25069.1759858702713401381 for ; Tue, 07 Oct 2025 10:38:23 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=2Hm0Z84c; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: mathieu.dubois-briand@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 5F1074E40F66 for ; Tue, 7 Oct 2025 17:38:21 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 35DD5606C8 for ; Tue, 7 Oct 2025 17:38:21 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 93C85102F217B; Tue, 7 Oct 2025 19:38:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1759858700; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=gcJFH7/eeVhtPWW/N4oPZXH0bJRM1l/YhWbSqqI3nyw=; b=2Hm0Z84cREwKiCZBGBGdfa71MxrRGoiXaNO8/o4hcMxblPf/9+soowq+NxZ5NKLFRBsMHY vnelYHl1XZq0A1eQPgmNUgDwDKqTZ7zGu9Vn4rSc+yoQp9AuEIu1YRKBUoisOFpmQyXGvi dIQ3xkoGCZzonIUQa8E5ivXLaDkn92ZdumgXEBzlIprONtvL2xKVKdoVZbjZUWKfsfl8eR Wac8fdKlbcjw/9i8IH4ivYwNRL8LTin+h5bbdBqEuk9uRywzknErgoYl4aEa/bCg5j8bFy che0xQfKgI73qYPi+TSrSbKLJhTA9Rvl52Pzl0Y1Hl2Rda7LomEk+2h0H+iVHw== From: Mathieu Dubois-Briand Date: Tue, 07 Oct 2025 19:38:09 +0200 Subject: [PATCH 4/4] oeqa: runtime: ssh: Manage any SSH failure locally MIME-Version: 1.0 Message-Id: <20251007-mathieu-ssh-fails-v1-4-a6affee3571b@bootlin.com> References: <20251007-mathieu-ssh-fails-v1-0-a6affee3571b@bootlin.com> In-Reply-To: <20251007-mathieu-ssh-fails-v1-0-a6affee3571b@bootlin.com> To: openembedded-core@lists.openembedded.org Cc: Thomas Petazzoni , Mathieu Dubois-Briand X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1759858696; l=1001; i=mathieu.dubois-briand@bootlin.com; s=20241219; h=from:subject:message-id; bh=Pa1J7RzXG4WabxlOIut/knoREgaptJndptNzu52f6XU=; b=cFtcKDieDi6dOhlpPRPUI73sQ5YIcuFy2HhLuUvaT1pZXrSK07DXsjM0Op6n8xsK2EL61Un7p Gt7nE4FieRJCDYVBT9r0uwABSHgmq/oSN5YWJKOUA7PzDDesgevnaQ8 X-Developer-Key: i=mathieu.dubois-briand@bootlin.com; a=ed25519; pk=1PVTmzPXfKvDwcPUzG0aqdGoKZJA3b9s+3DqRlm0Lww= X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 07 Oct 2025 17:38:26 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/224548 This is the SSH test, it makes sense to ignore SSH failures in the SSH helper and manage them in the test body. Signed-off-by: Mathieu Dubois-Briand --- meta/lib/oeqa/runtime/cases/ssh.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/runtime/cases/ssh.py b/meta/lib/oeqa/runtime/cases/ssh.py index b632a29a0178bf1c0015b84bca8e3fc3fd18fa74..3e9503277e39b281ffa7dc5f08f975ba2e96cee5 100644 --- a/meta/lib/oeqa/runtime/cases/ssh.py +++ b/meta/lib/oeqa/runtime/cases/ssh.py @@ -17,7 +17,7 @@ class SSHTest(OERuntimeTestCase): @OEHasPackage(['dropbear', 'openssh-sshd']) def test_ssh(self): for i in range(5): - status, output = self.target.run("uname -a", timeout=30) + status, output = self.target.run("uname -a", timeout=30, ignore_ssh_fails=True) if status == 0: break elif status == 255 or status == -signal.SIGTERM: