From: Adrian Freihofer <[email protected]> Add a test case for testimage.bbclass with qemu booted from a full rootfs-dbg image mounted via NFS, plus a slirp variant, sharing a common _test_testimage_nfs(slirp) implementation. Both also install cmake-example-ptest and ptest-runner with the ptest DISTRO_FEATURE enabled, so the ptest suite runs over NFS too.
test_testimage_slirp is switched to oe-selftest-image, which already provides an SSH server. Signed-off-by: Adrian Freihofer <[email protected]> Signed-off-by: Andrej Kozemcak <[email protected]> --- meta/lib/oeqa/selftest/cases/runtime_test.py | 51 ++++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index a3c3126036..b82c7c7294 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -137,14 +137,59 @@ class TestImage(OESelftestTestCase): features = ''' IMAGE_CLASSES:append = " testimage" -IMAGE_FEATURES:append = " ssh-server-dropbear" IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("IMAGE_CLASSES", "testimage", " + 5120", "", d)}" TEST_RUNQEMUPARAMS += " slirp" ''' self.write_config(features) - bitbake('core-image-minimal') - bitbake('-c testimage core-image-minimal') + bitbake('oe-selftest-image') + bitbake('-c testimage oe-selftest-image') + + def _test_testimage_nfs(self, slirp=False): + """ + Check testimage functionality with an NFS rootfs-dbg image + (image-combined-dbg), the same rootfs devtool ide-sdk --nfs=rootfs-dbg + boots. runqemu recognizes the rootfs tarball and extracts it itself + for NFS boot, the same way test_qemu_can_boot_nfs_and_shutdown + (runqemu.py) does. Also installs cmake-example-ptest and runs the + ptest suite on top of it. + """ + + # IMAGE_LINK_NAME/DEPLOY_DIR_IMAGE don't depend on the features below, + # so the rootfs-dbg tarball path can be derived before building it. + bb_vars = get_bb_vars(('DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'), 'oe-selftest-image') + rootfs_tar = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], '%s-dbg.tar.zst' % bb_vars['IMAGE_LINK_NAME']) + + features = ''' +IMAGE_CLASSES:append = " testimage image-combined-dbg" +IMAGE_GEN_DEBUGFS = "1" +IMAGE_FSTYPES_DEBUGFS:append = " tar.zst" +DISTRO_FEATURES:append = " ptest" +IMAGE_INSTALL:append = " ptest-runner cmake-example-ptest" +QB_DEFAULT_FSTYPE = "tar.zst" +QB_FSINFO = "tar.zst:rootfs-dbg" +''' + if slirp: + features += 'TEST_RUNQEMUPARAMS += " slirp"\n' + self.write_config(features) + + bitbake('oe-selftest-image') + self.assertExists(rootfs_tar) + + bitbake('-c testimage oe-selftest-image') + + def test_testimage_nfs(self): + """ + Summary: Check testimage functionality with an NFS rootfs-dbg image. + """ + self._test_testimage_nfs(slirp=False) + + def test_testimage_slirp_nfs(self): + """ + Summary: Check testimage functionality with qemu slirp networking and + an NFS rootfs-dbg image. + """ + self._test_testimage_nfs(slirp=True) def test_testimage_dnf(self): """
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#247111): https://lists.openembedded.org/g/openembedded-core/message/247111 Mute This Topic: https://lists.openembedded.org/mt/121544904/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
