diff mbox series

[1/6] oeqa runtime ping.py: make run_network_serialdebug() specific to qemu

Message ID 20250627063004.781560-1-mikko.rapeli@linaro.org
State New
Headers show
Series [1/6] oeqa runtime ping.py: make run_network_serialdebug() specific to qemu | expand

Commit Message

Mikko Rapeli June 27, 2025, 6:29 a.m. UTC
Only qemu runner supports self.targets.runner. ssh runner does not
define this and on error path this function causes another exception.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
 meta/lib/oeqa/runtime/cases/ping.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Antonin Godard June 27, 2025, 1:41 p.m. UTC | #1
On Fri Jun 27, 2025 at 8:29 AM CEST, Mikko Rapeli via lists.openembedded.org wrote:
> Only qemu runner supports self.targets.runner. ssh runner does not
> define this and on error path this function causes another exception.
>
> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> ---
>  meta/lib/oeqa/runtime/cases/ping.py | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/meta/lib/oeqa/runtime/cases/ping.py b/meta/lib/oeqa/runtime/cases/ping.py
> index efb91d4cc9da..515d376602bd 100644
> --- a/meta/lib/oeqa/runtime/cases/ping.py
> +++ b/meta/lib/oeqa/runtime/cases/ping.py
> @@ -10,6 +10,7 @@ from time import sleep
>  from oeqa.runtime.case import OERuntimeTestCase, run_network_serialdebug
>  from oeqa.core.decorator.oetimeout import OETimeout
>  from oeqa.core.exception import OEQATimeoutError
> +from oeqa.core.target.qemu import OEQemuTarget
>  
>  class PingTest(OERuntimeTestCase):
>  
> @@ -36,7 +37,8 @@ class PingTest(OERuntimeTestCase):
>                      count = 0
>                      sleep(1)
>          except OEQATimeoutError:
> -            run_network_serialdebug(self.target.runner)
> +            if isinstance(self.target, OEQemuTarget):
> +                run_network_serialdebug(self.target.runner)
>              self.fail("Ping timeout error for address %s, count %s, output: %s" % (self.target.ip, count, output))
>          msg = ('Expected 5 consecutive, got %d.\n'
>                 'ping output is:\n%s' % (count,output))

Hi,

I think this series is causing issues on the autobuilder:

Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemuarm-tc/build/scripts/oe-selftest", line 58, in <module>
    ret = main()
  File "/srv/pokybuild/yocto-worker/qemuarm-tc/build/scripts/oe-selftest", line 45, in main
    results = args.func(logger, args)
  File "/srv/pokybuild/yocto-worker/qemuarm-tc/build/meta/lib/oeqa/selftest/context.py", line 413, in run
    self._process_args(logger, args)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/srv/pokybuild/yocto-worker/qemuarm-tc/build/meta/lib/oeqa/selftest/context.py", line 260, in _process_args
    super(OESelftestTestContextExecutor, self)._process_args(logger, args)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/srv/pokybuild/yocto-worker/qemuarm-tc/build/meta/lib/oeqa/core/context.py", line 183, in _process_args
    test_suites = self.tc_kwargs['init']['td'].get("TEST_SUITES").split()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'split'

Can you have a look?
https://autobuilder.yoctoproject.org/valkyrie/#/builders/42/builds/1848

Antonin
diff mbox series

Patch

diff --git a/meta/lib/oeqa/runtime/cases/ping.py b/meta/lib/oeqa/runtime/cases/ping.py
index efb91d4cc9da..515d376602bd 100644
--- a/meta/lib/oeqa/runtime/cases/ping.py
+++ b/meta/lib/oeqa/runtime/cases/ping.py
@@ -10,6 +10,7 @@  from time import sleep
 from oeqa.runtime.case import OERuntimeTestCase, run_network_serialdebug
 from oeqa.core.decorator.oetimeout import OETimeout
 from oeqa.core.exception import OEQATimeoutError
+from oeqa.core.target.qemu import OEQemuTarget
 
 class PingTest(OERuntimeTestCase):
 
@@ -36,7 +37,8 @@  class PingTest(OERuntimeTestCase):
                     count = 0
                     sleep(1)
         except OEQATimeoutError:
-            run_network_serialdebug(self.target.runner)
+            if isinstance(self.target, OEQemuTarget):
+                run_network_serialdebug(self.target.runner)
             self.fail("Ping timeout error for address %s, count %s, output: %s" % (self.target.ip, count, output))
         msg = ('Expected 5 consecutive, got %d.\n'
                'ping output is:\n%s' % (count,output))