1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 12:29:55 +00:00

oeqa/selftest/runqemu: don't hardcode qemux86-64

Don't hardcode qemux86-64. This has some complications: the
IMAGE_FSTYPES needs to be constructed to reflect what the machine can
do (only x86 machines can build ISO images), and several tests which need
a wic file are currently limited to qemux86-64.

(From OE-Core rev: a30680a869ff3be63d26468f6365751c56bbb006)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2022-11-09 19:31:31 +00:00
committed by Richard Purdie
parent 31926bd1c1
commit aa2016bcee
+17 -9
View File
@@ -9,6 +9,7 @@ import tempfile
import time import time
import oe.types import oe.types
from oeqa.core.decorator import OETestTag from oeqa.core.decorator import OETestTag
from oeqa.core.decorator.data import skipIfNotArch, skipIfNotMachine
from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake, runqemu, get_bb_var, runCmd from oeqa.utils.commands import bitbake, runqemu, get_bb_var, runCmd
@@ -22,23 +23,25 @@ class RunqemuTests(OESelftestTestCase):
def setUpLocal(self): def setUpLocal(self):
super(RunqemuTests, self).setUpLocal() super(RunqemuTests, self).setUpLocal()
self.recipe = 'core-image-minimal' self.recipe = 'core-image-minimal'
self.machine = 'qemux86-64' self.machine = self.td['MACHINE']
self.fstypes = "ext4 iso hddimg wic.vmdk wic.qcow2 wic.vdi"
self.cmd_common = "runqemu nographic"
kvm = oe.types.qemu_use_kvm(get_bb_var('QEMU_USE_KVM'), 'x86_64') self.fstypes = "ext4"
if self.td["HOST_ARCH"] in ('i586', 'i686', 'x86_64'):
self.fstypes += " iso hddimg"
if self.machine == "qemux86-64":
self.fstypes += " wic.vmdk wic.qcow2 wic.vdi"
self.cmd_common = "runqemu nographic"
kvm = oe.types.qemu_use_kvm(get_bb_var('QEMU_USE_KVM'), self.td["TARGET_ARCH"])
if kvm: if kvm:
self.cmd_common += " kvm" self.cmd_common += " kvm"
self.write_config( self.write_config(
""" """
MACHINE = "%s"
IMAGE_FSTYPES = "%s" IMAGE_FSTYPES = "%s"
# 10 means 1 second # 10 means 1 second
SYSLINUX_TIMEOUT = "10" SYSLINUX_TIMEOUT = "10"
""" """ % self.fstypes)
% (self.machine, self.fstypes)
)
if not RunqemuTests.image_is_ready: if not RunqemuTests.image_is_ready:
RunqemuTests.deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE') RunqemuTests.deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE')
@@ -59,6 +62,7 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f: with open(qemu.qemurunnerlog) as f:
self.assertIn('rootfs.ext4', f.read(), "Failed: %s" % cmd) self.assertIn('rootfs.ext4', f.read(), "Failed: %s" % cmd)
@skipIfNotArch(['i586', 'i686', 'x86_64'])
def test_boot_machine_iso(self): def test_boot_machine_iso(self):
"""Test runqemu machine iso""" """Test runqemu machine iso"""
cmd = "%s %s iso" % (self.cmd_common, self.machine) cmd = "%s %s iso" % (self.cmd_common, self.machine)
@@ -73,7 +77,8 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f: with open(qemu.qemurunnerlog) as f:
self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read())) self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read()))
# https://bugzilla.yoctoproject.org/show_bug.cgi?id=14963
@skipIfNotMachine("qemux86-64", "tests are qemux86-64 specific currently")
def test_boot_recipe_image_vmdk(self): def test_boot_recipe_image_vmdk(self):
"""Test runqemu recipe-image vmdk""" """Test runqemu recipe-image vmdk"""
cmd = "%s %s wic.vmdk" % (self.cmd_common, self.recipe) cmd = "%s %s wic.vmdk" % (self.cmd_common, self.recipe)
@@ -81,6 +86,7 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f: with open(qemu.qemurunnerlog) as f:
self.assertIn('format=vmdk', f.read(), "Failed: %s" % cmd) self.assertIn('format=vmdk', f.read(), "Failed: %s" % cmd)
@skipIfNotMachine("qemux86-64", "tests are qemux86-64 specific currently")
def test_boot_recipe_image_vdi(self): def test_boot_recipe_image_vdi(self):
"""Test runqemu recipe-image vdi""" """Test runqemu recipe-image vdi"""
cmd = "%s %s wic.vdi" % (self.cmd_common, self.recipe) cmd = "%s %s wic.vdi" % (self.cmd_common, self.recipe)
@@ -96,6 +102,7 @@ SYSLINUX_TIMEOUT = "10"
self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read())) self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read()))
@skipIfNotArch(['i586', 'i686', 'x86_64'])
def test_boot_deploy_hddimg(self): def test_boot_deploy_hddimg(self):
"""Test runqemu deploy_dir_image hddimg""" """Test runqemu deploy_dir_image hddimg"""
cmd = "%s %s hddimg" % (self.cmd_common, self.deploy_dir_image) cmd = "%s %s hddimg" % (self.cmd_common, self.deploy_dir_image)
@@ -110,6 +117,7 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f: with open(qemu.qemurunnerlog) as f:
self.assertIn(' -netdev user', f.read(), "Failed: %s" % cmd) self.assertIn(' -netdev user', f.read(), "Failed: %s" % cmd)
@skipIfNotMachine("qemux86-64", "tests are qemux86-64 specific currently")
def test_boot_machine_slirp_qcow2(self): def test_boot_machine_slirp_qcow2(self):
"""Test runqemu machine slirp qcow2""" """Test runqemu machine slirp qcow2"""
cmd = "%s slirp wic.qcow2 %s" % (self.cmd_common, self.machine) cmd = "%s slirp wic.qcow2 %s" % (self.cmd_common, self.machine)