public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Introduce PTEST_RUNNER_TIMEOUT variable
@ 2026-02-27 19:39 Tim Orling
  2026-02-27 19:39 ` [PATCH 1/3] oeqa/runtime/ptest: Make ptest-runner timeout configurable Tim Orling
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Tim Orling @ 2026-02-27 19:39 UTC (permalink / raw)
  To: openembedded-core

In https://bugzilla.yoctoproject.org/show_bug.cgi?id=16163 analysis showed
that one of the root causes is the hard coded 450 second timeout passed to
ptest-runner in lib/oeqa/runtime/cases/ptest.py.

This series introduces the PTEST_RUNNER_TIMEOUT variable, which is consumed
in lib/oeqa/runtime/cases/ptest.py but needs to be updated in testimage.bbclass
to make sure the value of the variable is consumed at runtime.

For python3-cffi which drove the change, the value is set in core-image-ptest.bb
to 600 seconds, as an example of how a per recipe change can be enabled.

The test run on the AutoBuilder cluster that proves this works is:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/3136
https://valkyrie.yocto.io/pub/non-release/20260227-113/testresults/qemuarm64-ptest/core-image-ptest-python3-cffi/
where you can see:
PATH=/usr/sbin:/sbin:/usr/bin:/bin; ptest-runner -t 600 -d "/usr/lib"
in https://valkyrie.yocto.io/pub/non-release/20260227-113/testresults/qemuarm64-ptest/core-image-ptest-python3-cffi/log.do_testimage.2323256.20260227191837

[YOCTO #16163]

Tim Orling (3):
  oeqa/runtime/ptest: Make ptest-runner timeout configurable
  core-image-ptest: add PTEST_RUNNER_TIMEOUT
  testimage.bbclass: enable PTEST_RUNNER_TIMEOUT variable

 meta/classes-recipe/testimage.bbclass        | 4 +++-
 meta/lib/oeqa/runtime/cases/ptest.py         | 3 ++-
 meta/recipes-core/images/core-image-ptest.bb | 1 +
 3 files changed, 6 insertions(+), 2 deletions(-)

-- 
2.50.1 (Apple Git-155)



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/3] oeqa/runtime/ptest: Make ptest-runner timeout configurable
  2026-02-27 19:39 [PATCH 0/3] Introduce PTEST_RUNNER_TIMEOUT variable Tim Orling
@ 2026-02-27 19:39 ` Tim Orling
  2026-02-27 19:39 ` [PATCH 2/3] core-image-ptest: add PTEST_RUNNER_TIMEOUT Tim Orling
  2026-02-27 19:39 ` [PATCH 3/3] testimage.bbclass: enable PTEST_RUNNER_TIMEOUT variable Tim Orling
  2 siblings, 0 replies; 4+ messages in thread
From: Tim Orling @ 2026-02-27 19:39 UTC (permalink / raw)
  To: openembedded-core

Replace the hardcoded 450 second timeout with a configurable
PTEST_RUNNER_TIMEOUT variable, defaulting to 450 seconds.

[YOCTO #16163]

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 meta/lib/oeqa/runtime/cases/ptest.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/runtime/cases/ptest.py b/meta/lib/oeqa/runtime/cases/ptest.py
index 75165101af4..1a0782374d0 100644
--- a/meta/lib/oeqa/runtime/cases/ptest.py
+++ b/meta/lib/oeqa/runtime/cases/ptest.py
@@ -59,7 +59,8 @@ class PtestRunnerTest(OERuntimeTestCase):
         ptest_dirs = [ '/usr/lib' ]
         if not libdir in ptest_dirs:
             ptest_dirs.append(libdir)
-        status, output = self.target.run('ptest-runner -t 450 -d \"{}\"'.format(' '.join(ptest_dirs)), 0)
+        ptest_timeout = self.td.get('PTEST_RUNNER_TIMEOUT', '450')
+        status, output = self.target.run('ptest-runner -t {} -d \"{}\"'.format(ptest_timeout, ' '.join(ptest_dirs)), 0)
         os.makedirs(ptest_log_dir)
         with open(ptest_runner_log, 'w') as f:
             f.write(output)
-- 
2.50.1 (Apple Git-155)



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] core-image-ptest: add PTEST_RUNNER_TIMEOUT
  2026-02-27 19:39 [PATCH 0/3] Introduce PTEST_RUNNER_TIMEOUT variable Tim Orling
  2026-02-27 19:39 ` [PATCH 1/3] oeqa/runtime/ptest: Make ptest-runner timeout configurable Tim Orling
@ 2026-02-27 19:39 ` Tim Orling
  2026-02-27 19:39 ` [PATCH 3/3] testimage.bbclass: enable PTEST_RUNNER_TIMEOUT variable Tim Orling
  2 siblings, 0 replies; 4+ messages in thread
From: Tim Orling @ 2026-02-27 19:39 UTC (permalink / raw)
  To: openembedded-core

In lib/oeqa/runtime/cases/ptest.py, the timeout used to be hardcoded to 450 seconds.
Now that it is a variable, make that a bit more obvious by setting a default value.

Set PTEST_RUNNER_TIMEOUT for python3-cffi to 600 seconds as it is known to come close
to and surpass the 450 second limit under heavy load.

Fixes: [YOCTO #16163]

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 meta/recipes-core/images/core-image-ptest.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-core/images/core-image-ptest.bb b/meta/recipes-core/images/core-image-ptest.bb
index 0b1eeb1a580..c08561296fe 100644
--- a/meta/recipes-core/images/core-image-ptest.bb
+++ b/meta/recipes-core/images/core-image-ptest.bb
@@ -9,6 +9,7 @@ SUMMARY ?= "${MCNAME} ptest image."
 HOMEPAGE = "https://www.yoctoproject.org/"
 
 PTESTS = "${PTESTS_SLOW} ${PTESTS_FAST}"
+PTEST_RUNNER_TIMEOUT:virtclass-mcextend-python3-cffi = "600"
 
 IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
 
-- 
2.50.1 (Apple Git-155)



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] testimage.bbclass: enable PTEST_RUNNER_TIMEOUT variable
  2026-02-27 19:39 [PATCH 0/3] Introduce PTEST_RUNNER_TIMEOUT variable Tim Orling
  2026-02-27 19:39 ` [PATCH 1/3] oeqa/runtime/ptest: Make ptest-runner timeout configurable Tim Orling
  2026-02-27 19:39 ` [PATCH 2/3] core-image-ptest: add PTEST_RUNNER_TIMEOUT Tim Orling
@ 2026-02-27 19:39 ` Tim Orling
  2 siblings, 0 replies; 4+ messages in thread
From: Tim Orling @ 2026-02-27 19:39 UTC (permalink / raw)
  To: openembedded-core

QB_MEM works in recipe scope because testimage.bbclass reads it from the
current recipe datastore (d) at test time via the qemuboot.conf mechanism.
PTEST_RUNNER_TIMEOUT was only available through testdata.json (written
during image build via export2json). The testimage task reads td from the
potentially stale testdata.json, and PTEST_RUNNER_TIMEOUT was never
refreshed from the live recipe context.

[YOCTO #16163]

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
---
 meta/classes-recipe/testimage.bbclass | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/classes-recipe/testimage.bbclass b/meta/classes-recipe/testimage.bbclass
index 7a48ed6bfe3..9902b8a5682 100644
--- a/meta/classes-recipe/testimage.bbclass
+++ b/meta/classes-recipe/testimage.bbclass
@@ -112,7 +112,9 @@ TESTIMAGELOCK:qemuall = ""
 
 TESTIMAGE_DUMP_DIR ?= "${LOG_DIR}/runtime-hostdump/"
 
-TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR_IMAGE IMAGE_LINK_NAME IMAGE_NAME"
+TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR_IMAGE IMAGE_LINK_NAME IMAGE_NAME PTEST_RUNNER_TIMEOUT"
+
+PTEST_RUNNER_TIMEOUT ?= "450"
 
 testimage_dump_monitor () {
     query-status
-- 
2.50.1 (Apple Git-155)



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-02-27 19:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-27 19:39 [PATCH 0/3] Introduce PTEST_RUNNER_TIMEOUT variable Tim Orling
2026-02-27 19:39 ` [PATCH 1/3] oeqa/runtime/ptest: Make ptest-runner timeout configurable Tim Orling
2026-02-27 19:39 ` [PATCH 2/3] core-image-ptest: add PTEST_RUNNER_TIMEOUT Tim Orling
2026-02-27 19:39 ` [PATCH 3/3] testimage.bbclass: enable PTEST_RUNNER_TIMEOUT variable Tim Orling

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox