[RFC][PATCH 4/9] oe-selftest/cases/wic.py: update WicTestCase

Trevor Woerner
2026-02-02T13:54:38Z

The wic oe-selftest defines its own class, WicTestCase, for handling
setup, teardown, and other pieces needed to run the individual wic
oe-selftests. Now that wic is a tool external to oe-core, it, and the
tools on which it depends, need to be built natively before the test
can be run, need to be made available to the tests, and need to remain
available while the test is running.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
meta/lib/oeqa/selftest/cases/wic.py | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index 958f1d084fd2..8eb0d3dcc464 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -57,12 +57,24 @@ class WicTestCase(OESelftestTestCase):

image_is_ready = False
wicenv_cache = {}
+ oldpath = ""
+ pathPlusTools = ""
+ envfile = ""

def setUpLocal(self):
"""This code is executed before each test method."""
self.resultdir = os.path.join(self.builddir, "wic-tmp")
super(WicTestCase, self).setUpLocal()

+ wic_tools_depends = get_bb_var("DEPENDS", "wic-tools")
+ config = 'DEPENDS:pn-core-image-minimal += " %s"' % wic_tools_depends
+ self.append_config(config)
+ bitbake('wic-tools core-image-minimal core-image-minimal-mtdutils')
+ WicTestCase.envfile = self._get_image_env_path('core-image-minimal') + "/core-image-minimal.env"
+ WicTestCase.oldpath = os.environ['PATH']
+ WicTestCase.pathPlusTools = get_bb_var("PATH", "wic-tools") + ":" + os.environ['PATH']
+ os.environ['PATH'] = WicTestCase.pathPlusTools
+
# Do this here instead of in setUpClass as the base setUp does some
# clean up which can result in the native tools built earlier in
# setUpClass being unavailable.
@@ -78,6 +90,7 @@ class WicTestCase(OESelftestTestCase):
"""Remove resultdir as it may contain images."""
rmtree(self.resultdir, ignore_errors=True)
super(WicTestCase, self).tearDownLocal()
+ os.environ['PATH'] = WicTestCase.oldpath

def _get_image_env_path(self, image):
"""Generate and obtain the path to <image>.env"""
--
2.51.0