summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/selftest
diff options
context:
space:
mode:
authorTrevor Woerner <twoerner@gmail.com>2025-04-28 11:13:35 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-04-29 09:59:01 +0100
commit69c5f722782317427d0e10f5a4cfe57344e8abfc (patch)
treea55c2c6ccbf933c43fdbf4f490e901409a6466bb /meta/lib/oeqa/selftest
parent161ff4d39d13435f8c68d48b8b0800dc2faa8609 (diff)
downloadpoky-69c5f722782317427d0e10f5a4cfe57344e8abfc.tar.gz
oe-selftest.wic: add PATH handling
The wic test_exclude_path_with_extra_space test succeeds on non-debian AB workers. Add PATH handling so parted from the wic-tools can be found on debian-based AB workers. Fixes [YOCTO #15838] (From OE-Core rev: 3994e727f10c5a0143d52bdd6e1d9ca037296d59) Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/selftest')
-rw-r--r--meta/lib/oeqa/selftest/cases/wic.py63
1 files changed, 35 insertions, 28 deletions
diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index d98af8713a..60dce33911 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -538,35 +538,42 @@ part /mnt --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/whoa
538 def test_exclude_path_with_extra_space(self): 538 def test_exclude_path_with_extra_space(self):
539 """Test having --exclude-path with IMAGE_ROOTFS_EXTRA_SPACE. [Yocto #15555]""" 539 """Test having --exclude-path with IMAGE_ROOTFS_EXTRA_SPACE. [Yocto #15555]"""
540 540
541 with NamedTemporaryFile("w", suffix=".wks") as wks: 541 oldpath = os.environ['PATH']
542 wks.writelines( 542 os.environ['PATH'] = get_bb_var("PATH", "wic-tools")
543 ['bootloader --ptable gpt\n',
544 'part /boot --size=100M --active --fstype=ext4 --label boot\n',
545 'part / --source rootfs --fstype=ext4 --label root --exclude-path boot/\n'])
546 wks.flush()
547 config = 'IMAGE_ROOTFS_EXTRA_SPACE = "500000"\n'\
548 'DEPENDS:pn-core-image-minimal += "wic-tools"\n'\
549 'IMAGE_FSTYPES += "wic"\n'\
550 'WKS_FILE = "%s"\n' % wks.name
551 self.append_config(config)
552 bitbake('core-image-minimal')
553 543
554 """ 544 try:
555 the output of "wic ls <image>.wic" will look something like: 545 with NamedTemporaryFile("w", suffix=".wks") as wks:
556 Num Start End Size Fstype 546 wks.writelines(
557 1 17408 136332287 136314880 ext4 547 ['bootloader --ptable gpt\n',
558 2 136332288 171464703 35132416 ext4 548 'part /boot --size=100M --active --fstype=ext4 --label boot\n',
559 we are looking for the size of partition 2 549 'part / --source rootfs --fstype=ext4 --label root --exclude-path boot/\n'])
560 i.e. in this case the number 35,132,416 550 wks.flush()
561 without the fix the size will be around 85,403,648 551 config = 'IMAGE_ROOTFS_EXTRA_SPACE = "500000"\n'\
562 with the fix the size should be around 799,960,064 552 'DEPENDS:pn-core-image-minimal += "wic-tools"\n'\
563 """ 553 'IMAGE_FSTYPES += "wic"\n'\
564 bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'MACHINE'], 'core-image-minimal') 554 'WKS_FILE = "%s"\n' % wks.name
565 deploy_dir = bb_vars['DEPLOY_DIR_IMAGE'] 555 self.append_config(config)
566 machine = bb_vars['MACHINE'] 556 bitbake('core-image-minimal')
567 wicout = glob(os.path.join(deploy_dir, "core-image-minimal-%s.rootfs-*.wic" % machine))[0] 557
568 size_of_root_partition = int(runCmd("wic ls %s" % wicout).output.split('\n')[2].split()[3]) 558 """
569 self.assertGreater(size_of_root_partition, 500000000) 559 the output of "wic ls <image>.wic" will look something like:
560 Num Start End Size Fstype
561 1 17408 136332287 136314880 ext4
562 2 136332288 171464703 35132416 ext4
563 we are looking for the size of partition 2
564 i.e. in this case the number 35,132,416
565 without the fix the size will be around 85,403,648
566 with the fix the size should be around 799,960,064
567 """
568 bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'MACHINE'], 'core-image-minimal')
569 deploy_dir = bb_vars['DEPLOY_DIR_IMAGE']
570 machine = bb_vars['MACHINE']
571 wicout = glob(os.path.join(deploy_dir, "core-image-minimal-%s.rootfs-*.wic" % machine))[0]
572 size_of_root_partition = int(runCmd("wic ls %s" % wicout).output.split('\n')[2].split()[3])
573 self.assertGreater(size_of_root_partition, 500000000)
574
575 finally:
576 os.environ['PATH'] = oldpath
570 577
571 def test_include_path(self): 578 def test_include_path(self):
572 """Test --include-path wks option.""" 579 """Test --include-path wks option."""