diff mbox series

[v2] oe-selftest.wic: add native sysroot handling

Message ID 20250501012825.36492-1-twoerner@gmail.com
State Accepted, archived
Commit 306e4831f07d4a8db6ab880487813a6abd0ffa08
Headers show
Series [v2] oe-selftest.wic: add native sysroot handling | expand

Commit Message

Trevor Woerner May 1, 2025, 1:28 a.m. UTC
The wic test_exclude_path_with_extra_space test succeeds on non-debian AB
workers. Add native sysroot handling so parted from the wic-tools can be
found on debian-based AB workers.

Fixes [YOCTO #15838]

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
changes in v2:
- It was previously suggested that the fix might be to copy the PATH
  handling with a try...finally block that other tests perform; that did
  not work on the debian workers either. The proper fix is this one
  which is to explicitly pass the native sysroot path to wic explicitly.
  In fact the wic help message explaining the purpose of the -n argument
  explicitly mentions that it is for passing "the path to the native
  sysroot containing the tools(parted and mtools) to use".
- This was tested by moving my system /usr/sbin/parted out of the path
  so it could not be invoked by this test. A test with parted out of the
  way was done to demonstrate it would fail, then (with parted still out
  of the way) this change was tested to demonstrate it working.
---
 meta/lib/oeqa/selftest/cases/wic.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index d98af8713a19..267c7105c5ec 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -564,8 +564,9 @@  part /mnt --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/whoa
         bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'MACHINE'], 'core-image-minimal')
         deploy_dir = bb_vars['DEPLOY_DIR_IMAGE']
         machine = bb_vars['MACHINE']
+        nativesysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools')
         wicout = glob(os.path.join(deploy_dir, "core-image-minimal-%s.rootfs-*.wic" % machine))[0]
-        size_of_root_partition = int(runCmd("wic ls %s" % wicout).output.split('\n')[2].split()[3])
+        size_of_root_partition = int(runCmd("wic ls %s --native-sysroot %s" % (wicout, nativesysroot)).output.split('\n')[2].split()[3])
         self.assertGreater(size_of_root_partition, 500000000)
 
     def test_include_path(self):