mirror of https://gitee.com/openkylin/qemu.git
Acceptance tests: use avocado tags for machine type
The same way the arch tag is being used as a fallback for the arch parameter, let's do the same for QEMU's machine and avoid some boiler plate code. This is now possible because, since Avocado 72.0, it's possible to use tags with names that match the machine types on QEMU. Signed-off-by: Cleber Rosa <crosa@redhat.com> Message-Id: <20191104151323.9883-4-crosa@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Cleber Rosa <crosa@redhat.com>
This commit is contained in:
parent
f108934fca
commit
ba21bde930
|
@ -746,6 +746,17 @@ name. If one is not given explicitly, it will either be set to
|
|||
``None``, or, if the test is tagged with one (and only one)
|
||||
``:avocado: tags=arch:VALUE`` tag, it will be set to ``VALUE``.
|
||||
|
||||
machine
|
||||
~~~~~~~
|
||||
|
||||
The machine type that will be set to all QEMUMachine instances created
|
||||
by the test.
|
||||
|
||||
The ``machine`` attribute will be set to the test parameter of the same
|
||||
name. If one is not given explicitly, it will either be set to
|
||||
``None``, or, if the test is tagged with one (and only one)
|
||||
``:avocado: tags=machine:VALUE`` tag, it will be set to ``VALUE``.
|
||||
|
||||
qemu_bin
|
||||
~~~~~~~~
|
||||
|
||||
|
@ -781,6 +792,13 @@ architecture of a kernel or disk image to boot a VM with.
|
|||
This parameter has a direct relation with the ``arch`` attribute. If
|
||||
not given, it will default to None.
|
||||
|
||||
machine
|
||||
~~~~~~~
|
||||
|
||||
The machine type that will be set to all QEMUMachine instances created
|
||||
by the test.
|
||||
|
||||
|
||||
qemu_bin
|
||||
~~~~~~~~
|
||||
|
||||
|
|
|
@ -115,6 +115,9 @@ def setUp(self):
|
|||
self.arch = self.params.get('arch',
|
||||
default=self._get_unique_tag_val('arch'))
|
||||
|
||||
self.machine = self.params.get('machine',
|
||||
default=self._get_unique_tag_val('machine'))
|
||||
|
||||
default_qemu_bin = pick_default_qemu_bin(arch=self.arch)
|
||||
self.qemu_bin = self.params.get('qemu_bin',
|
||||
default=default_qemu_bin)
|
||||
|
@ -136,6 +139,8 @@ def get_vm(self, *args, name=None):
|
|||
name = str(uuid.uuid4())
|
||||
if self._vms.get(name) is None:
|
||||
self._vms[name] = self._new_vm(*args)
|
||||
if self.machine is not None:
|
||||
self._vms[name].set_machine(self.machine)
|
||||
return self._vms[name]
|
||||
|
||||
def tearDown(self):
|
||||
|
|
|
@ -62,7 +62,6 @@ def test_x86_64_pc(self):
|
|||
kernel_hash = '23bebd2680757891cf7adedb033532163a792495'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
|
||||
self.vm.set_machine('pc')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
|
||||
self.vm.add_args('-kernel', kernel_path,
|
||||
|
@ -85,7 +84,6 @@ def test_mips_malta(self):
|
|||
kernel_path = self.extract_from_deb(deb_path,
|
||||
'/boot/vmlinux-2.6.32-5-4kc-malta')
|
||||
|
||||
self.vm.set_machine('malta')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
|
||||
self.vm.add_args('-kernel', kernel_path,
|
||||
|
@ -118,7 +116,6 @@ def test_mips64el_malta(self):
|
|||
kernel_path = self.extract_from_deb(deb_path,
|
||||
'/boot/vmlinux-2.6.32-5-5kc-malta')
|
||||
|
||||
self.vm.set_machine('malta')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
|
||||
self.vm.add_args('-kernel', kernel_path,
|
||||
|
@ -148,7 +145,6 @@ def test_mips_malta_cpio(self):
|
|||
initrd_path = self.workdir + "rootfs.cpio"
|
||||
archive.gzip_uncompress(initrd_path_gz, initrd_path)
|
||||
|
||||
self.vm.set_machine('malta')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE
|
||||
+ 'console=ttyS0 console=tty '
|
||||
|
@ -188,7 +184,6 @@ def test_mips64el_malta_5KEc_cpio(self):
|
|||
initrd_path = self.workdir + "rootfs.cpio"
|
||||
archive.gzip_uncompress(initrd_path_gz, initrd_path)
|
||||
|
||||
self.vm.set_machine('malta')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE
|
||||
+ 'console=ttyS0 console=tty '
|
||||
|
@ -215,7 +210,6 @@ def do_test_mips_malta32el_nanomips(self, kernel_url, kernel_hash):
|
|||
with open(kernel_path, 'wb') as f_out:
|
||||
shutil.copyfileobj(f_in, f_out)
|
||||
|
||||
self.vm.set_machine('malta')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE
|
||||
+ 'mem=256m@@0x0 '
|
||||
|
@ -275,7 +269,6 @@ def test_aarch64_virt(self):
|
|||
kernel_hash = '8c73e469fc6ea06a58dc83a628fc695b693b8493'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
|
||||
self.vm.set_machine('virt')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
|
||||
'console=ttyAMA0')
|
||||
|
@ -297,7 +290,6 @@ def test_arm_virt(self):
|
|||
kernel_hash = 'e9826d741b4fb04cadba8d4824d1ed3b7fb8b4d4'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
|
||||
self.vm.set_machine('virt')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
|
||||
'console=ttyAMA0')
|
||||
|
@ -310,7 +302,7 @@ def test_arm_virt(self):
|
|||
def test_arm_emcraft_sf2(self):
|
||||
"""
|
||||
:avocado: tags=arch:arm
|
||||
:avocado: tags=machine:emcraft_sf2
|
||||
:avocado: tags=machine:emcraft-sf2
|
||||
:avocado: tags=endian:little
|
||||
"""
|
||||
uboot_url = ('https://raw.githubusercontent.com/'
|
||||
|
@ -324,7 +316,6 @@ def test_arm_emcraft_sf2(self):
|
|||
spi_hash = '85f698329d38de63aea6e884a86fbde70890a78a'
|
||||
spi_path = self.fetch_asset(spi_url, asset_hash=spi_hash)
|
||||
|
||||
self.vm.set_machine('emcraft-sf2')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE
|
||||
self.vm.add_args('-kernel', uboot_path,
|
||||
|
@ -351,7 +342,6 @@ def do_test_arm_raspi2(self, uart_id):
|
|||
kernel_path = self.extract_from_deb(deb_path, '/boot/kernel7.img')
|
||||
dtb_path = self.extract_from_deb(deb_path, '/boot/bcm2709-rpi-2-b.dtb')
|
||||
|
||||
self.vm.set_machine('raspi2')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
|
||||
serial_kernel_cmdline[uart_id])
|
||||
|
@ -393,7 +383,6 @@ def test_arm_exynos4210_initrd(self):
|
|||
initrd_path = os.path.join(self.workdir, 'rootfs.cpio')
|
||||
archive.gzip_uncompress(initrd_path_gz, initrd_path)
|
||||
|
||||
self.vm.set_machine('smdkc210')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
|
||||
'earlycon=exynos4210,0x13800000 earlyprintk ' +
|
||||
|
@ -414,7 +403,7 @@ def test_arm_exynos4210_initrd(self):
|
|||
def test_s390x_s390_ccw_virtio(self):
|
||||
"""
|
||||
:avocado: tags=arch:s390x
|
||||
:avocado: tags=machine:s390_ccw_virtio
|
||||
:avocado: tags=machine:s390-ccw-virtio
|
||||
"""
|
||||
kernel_url = ('https://archives.fedoraproject.org/pub/archive'
|
||||
'/fedora-secondary/releases/29/Everything/s390x/os/images'
|
||||
|
@ -422,7 +411,6 @@ def test_s390x_s390_ccw_virtio(self):
|
|||
kernel_hash = 'e8e8439103ef8053418ef062644ffd46a7919313'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
|
||||
self.vm.set_machine('s390-ccw-virtio')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=sclp0'
|
||||
self.vm.add_args('-nodefaults',
|
||||
|
@ -444,7 +432,6 @@ def test_alpha_clipper(self):
|
|||
|
||||
uncompressed_kernel = archive.uncompress(kernel_path, self.workdir)
|
||||
|
||||
self.vm.set_machine('clipper')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0'
|
||||
self.vm.add_args('-vga', 'std',
|
||||
|
@ -465,7 +452,6 @@ def test_ppc64_pseries(self):
|
|||
kernel_hash = '3fe04abfc852b66653b8c3c897a59a689270bc77'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
|
||||
self.vm.set_machine('pseries')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=hvc0'
|
||||
self.vm.add_args('-kernel', kernel_path,
|
||||
|
@ -487,7 +473,6 @@ def test_m68k_q800(self):
|
|||
kernel_path = self.extract_from_deb(deb_path,
|
||||
'/boot/vmlinux-5.3.0-1-m68k')
|
||||
|
||||
self.vm.set_machine('q800')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
|
||||
'console=ttyS0 vga=off')
|
||||
|
|
|
@ -20,8 +20,8 @@ class QueryCPUModelExpansion(Test):
|
|||
def test(self):
|
||||
"""
|
||||
:avocado: tags=arch:x86_64
|
||||
:avocado: tags=machine:none
|
||||
"""
|
||||
self.vm.set_machine('none')
|
||||
self.vm.add_args('-S')
|
||||
self.vm.launch()
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ class LinuxInitrd(Test):
|
|||
Checks QEMU evaluates correctly the initrd file passed as -initrd option.
|
||||
|
||||
:avocado: tags=arch:x86_64
|
||||
:avocado: tags=machine:pc
|
||||
"""
|
||||
|
||||
timeout = 300
|
||||
|
@ -67,7 +68,6 @@ def test_with_2gib_file_should_work_with_linux_v4_16(self):
|
|||
initrd.write(b'\0')
|
||||
initrd.flush()
|
||||
|
||||
self.vm.set_machine('pc')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = 'console=ttyS0'
|
||||
self.vm.add_args('-kernel', kernel_path,
|
||||
|
|
|
@ -111,7 +111,6 @@ def boot_debian_wheezy_image_and_ssh_login(self, endianess, kernel_path):
|
|||
image_url, image_hash = self.get_image_info(endianess)
|
||||
image_path = self.fetch_asset(image_url, asset_hash=image_hash)
|
||||
|
||||
self.vm.set_machine('malta')
|
||||
self.vm.set_console()
|
||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE
|
||||
+ 'console=ttyS0 root=/dev/sda1')
|
||||
|
@ -215,7 +214,6 @@ def check_mips_malta(self, uname_m, endianess):
|
|||
def test_mips_malta32eb_kernel3_2_0(self):
|
||||
"""
|
||||
:avocado: tags=arch:mips
|
||||
:avocado: tags=machine:malta
|
||||
:avocado: tags=endian:big
|
||||
:avocado: tags=device:pcnet32
|
||||
"""
|
||||
|
@ -224,7 +222,6 @@ def test_mips_malta32eb_kernel3_2_0(self):
|
|||
def test_mips_malta32el_kernel3_2_0(self):
|
||||
"""
|
||||
:avocado: tags=arch:mipsel
|
||||
:avocado: tags=machine:malta
|
||||
:avocado: tags=endian:little
|
||||
:avocado: tags=device:pcnet32
|
||||
"""
|
||||
|
@ -233,7 +230,6 @@ def test_mips_malta32el_kernel3_2_0(self):
|
|||
def test_mips_malta64eb_kernel3_2_0(self):
|
||||
"""
|
||||
:avocado: tags=arch:mips64
|
||||
:avocado: tags=machine:malta
|
||||
:avocado: tags=endian:big
|
||||
:avocado: tags=device:pcnet32
|
||||
"""
|
||||
|
@ -242,7 +238,6 @@ def test_mips_malta64eb_kernel3_2_0(self):
|
|||
def test_mips_malta64el_kernel3_2_0(self):
|
||||
"""
|
||||
:avocado: tags=arch:mips64el
|
||||
:avocado: tags=machine:malta
|
||||
:avocado: tags=endian:little
|
||||
:avocado: tags=device:pcnet32
|
||||
"""
|
||||
|
|
|
@ -43,6 +43,11 @@ def tesseract_available(expected_version):
|
|||
|
||||
|
||||
class NextCubeMachine(Test):
|
||||
"""
|
||||
:avocado: tags=arch:m68k
|
||||
:avocado: tags=machine:next-cube
|
||||
:avocado: tags=device:framebuffer
|
||||
"""
|
||||
|
||||
timeout = 15
|
||||
|
||||
|
@ -52,7 +57,6 @@ def check_bootrom_framebuffer(self, screenshot_path):
|
|||
rom_hash = 'b3534796abae238a0111299fc406a9349f7fee24'
|
||||
rom_path = self.fetch_asset(rom_url, asset_hash=rom_hash)
|
||||
|
||||
self.vm.set_machine('next-cube')
|
||||
self.vm.add_args('-bios', rom_path)
|
||||
self.vm.launch()
|
||||
|
||||
|
@ -66,11 +70,6 @@ def check_bootrom_framebuffer(self, screenshot_path):
|
|||
|
||||
@skipUnless(PIL_AVAILABLE, 'Python PIL not installed')
|
||||
def test_bootrom_framebuffer_size(self):
|
||||
"""
|
||||
:avocado: tags=arch:m68k
|
||||
:avocado: tags=machine:next_cube
|
||||
:avocado: tags=device:framebuffer
|
||||
"""
|
||||
screenshot_path = os.path.join(self.workdir, "dump.png")
|
||||
self.check_bootrom_framebuffer(screenshot_path)
|
||||
|
||||
|
@ -80,11 +79,6 @@ def test_bootrom_framebuffer_size(self):
|
|||
|
||||
@skipUnless(tesseract_available(3), 'tesseract v3 OCR tool not available')
|
||||
def test_bootrom_framebuffer_ocr_with_tesseract_v3(self):
|
||||
"""
|
||||
:avocado: tags=arch:m68k
|
||||
:avocado: tags=machine:next_cube
|
||||
:avocado: tags=device:framebuffer
|
||||
"""
|
||||
screenshot_path = os.path.join(self.workdir, "dump.png")
|
||||
self.check_bootrom_framebuffer(screenshot_path)
|
||||
|
||||
|
@ -101,11 +95,6 @@ def test_bootrom_framebuffer_ocr_with_tesseract_v3(self):
|
|||
# that it is still alpha-level software.
|
||||
@skipUnless(tesseract_available(4), 'tesseract v4 OCR tool not available')
|
||||
def test_bootrom_framebuffer_ocr_with_tesseract_v4(self):
|
||||
"""
|
||||
:avocado: tags=arch:m68k
|
||||
:avocado: tags=machine:next_cube
|
||||
:avocado: tags=device:framebuffer
|
||||
"""
|
||||
screenshot_path = os.path.join(self.workdir, "dump.png")
|
||||
self.check_bootrom_framebuffer(screenshot_path)
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ class Leon3Machine(Test):
|
|||
def test_leon3_helenos_uimage(self):
|
||||
"""
|
||||
:avocado: tags=arch:sparc
|
||||
:avocado: tags=machine:leon3
|
||||
:avocado: tags=machine:leon3_generic
|
||||
:avocado: tags=binfmt:uimage
|
||||
"""
|
||||
kernel_url = ('http://www.helenos.org/releases/'
|
||||
|
@ -24,7 +24,6 @@ def test_leon3_helenos_uimage(self):
|
|||
kernel_hash = 'a88c9cfdb8430c66650e5290a08765f9bf049a30'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
|
||||
self.vm.set_machine('leon3_generic')
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-kernel', kernel_path)
|
||||
|
||||
|
|
|
@ -39,7 +39,6 @@ def test_factory_firmware_and_netbsd(self):
|
|||
drive_hash = 'dbcfc09912e71bd5f0d82c7c1ee43082fb596ceb'
|
||||
drive_path = self.fetch_asset(drive_url, asset_hash=drive_hash)
|
||||
|
||||
self.vm.set_machine('40p')
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-bios', bios_path,
|
||||
'-fda', drive_path)
|
||||
|
@ -53,7 +52,6 @@ def test_openbios_192m(self):
|
|||
:avocado: tags=arch:ppc
|
||||
:avocado: tags=machine:40p
|
||||
"""
|
||||
self.vm.set_machine('40p')
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-m', '192') # test fw_cfg
|
||||
|
||||
|
@ -73,7 +71,6 @@ def test_openbios_and_netbsd(self):
|
|||
drive_hash = 'ac6fa2707d888b36d6fa64de6e7fe48e'
|
||||
drive_path = self.fetch_asset(drive_url, asset_hash=drive_hash,
|
||||
algorithm='md5')
|
||||
self.vm.set_machine('40p')
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-cdrom', drive_path,
|
||||
'-boot', 'd')
|
||||
|
|
|
@ -75,12 +75,15 @@ def validate_variant_aliases(self, cpus):
|
|||
"EPYC-IBPB shouldn't be versioned")
|
||||
|
||||
def test_4_0_alias_compatibility(self):
|
||||
"""Check if pc-*-4.0 unversioned CPU model won't be reported as aliases"""
|
||||
"""
|
||||
Check if pc-*-4.0 unversioned CPU model won't be reported as aliases
|
||||
|
||||
:avocado: tags=machine:pc-i440fx-4.0
|
||||
"""
|
||||
# pc-*-4.0 won't expose non-versioned CPU models as aliases
|
||||
# We do this to help management software to keep compatibility
|
||||
# with older QEMU versions that didn't have the versioned CPU model
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('pc-i440fx-4.0')
|
||||
self.vm.launch()
|
||||
cpus = dict((m['name'], m) for m in self.vm.command('query-cpu-definitions'))
|
||||
|
||||
|
@ -105,9 +108,12 @@ def test_4_0_alias_compatibility(self):
|
|||
self.assertNotIn('alias-of', c, "%s shouldn't be an alias" % (name))
|
||||
|
||||
def test_4_1_alias(self):
|
||||
"""Check if unversioned CPU model is an alias pointing to right version"""
|
||||
"""
|
||||
Check if unversioned CPU model is an alias pointing to right version
|
||||
|
||||
:avocado: tags=machine:pc-i440fx-4.1
|
||||
"""
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('pc-i440fx-4.1')
|
||||
self.vm.launch()
|
||||
|
||||
cpus = dict((m['name'], m) for m in self.vm.command('query-cpu-definitions'))
|
||||
|
@ -207,9 +213,12 @@ def test_4_1_alias(self):
|
|||
self.validate_aliases(cpus)
|
||||
|
||||
def test_none_alias(self):
|
||||
"""Check if unversioned CPU model is an alias pointing to some version"""
|
||||
"""
|
||||
Check if unversioned CPU model is an alias pointing to some version
|
||||
|
||||
:avocado: tags=machine:none
|
||||
"""
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('none')
|
||||
self.vm.launch()
|
||||
|
||||
cpus = dict((m['name'], m) for m in self.vm.command('query-cpu-definitions'))
|
||||
|
@ -242,68 +251,84 @@ def get_cpu_prop(self, prop):
|
|||
return self.vm.command('qom-get', path=cpu_path, property=prop)
|
||||
|
||||
def test_4_1(self):
|
||||
"""
|
||||
:avocado: tags=machine:pc-i440fx-4.1
|
||||
"""
|
||||
# machine-type only:
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('pc-i440fx-4.1')
|
||||
self.vm.add_args('-cpu', 'Cascadelake-Server,x-force-features=on,check=off,enforce=off')
|
||||
self.vm.launch()
|
||||
self.assertFalse(self.get_cpu_prop('arch-capabilities'),
|
||||
'pc-i440fx-4.1 + Cascadelake-Server should not have arch-capabilities')
|
||||
|
||||
def test_4_0(self):
|
||||
"""
|
||||
:avocado: tags=machine:pc-i440fx-4.0
|
||||
"""
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('pc-i440fx-4.0')
|
||||
self.vm.add_args('-cpu', 'Cascadelake-Server,x-force-features=on,check=off,enforce=off')
|
||||
self.vm.launch()
|
||||
self.assertFalse(self.get_cpu_prop('arch-capabilities'),
|
||||
'pc-i440fx-4.0 + Cascadelake-Server should not have arch-capabilities')
|
||||
|
||||
def test_set_4_0(self):
|
||||
"""
|
||||
:avocado: tags=machine:pc-i440fx-4.0
|
||||
"""
|
||||
# command line must override machine-type if CPU model is not versioned:
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('pc-i440fx-4.0')
|
||||
self.vm.add_args('-cpu', 'Cascadelake-Server,x-force-features=on,check=off,enforce=off,+arch-capabilities')
|
||||
self.vm.launch()
|
||||
self.assertTrue(self.get_cpu_prop('arch-capabilities'),
|
||||
'pc-i440fx-4.0 + Cascadelake-Server,+arch-capabilities should have arch-capabilities')
|
||||
|
||||
def test_unset_4_1(self):
|
||||
"""
|
||||
:avocado: tags=machine:pc-i440fx-4.1
|
||||
"""
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('pc-i440fx-4.1')
|
||||
self.vm.add_args('-cpu', 'Cascadelake-Server,x-force-features=on,check=off,enforce=off,-arch-capabilities')
|
||||
self.vm.launch()
|
||||
self.assertFalse(self.get_cpu_prop('arch-capabilities'),
|
||||
'pc-i440fx-4.1 + Cascadelake-Server,-arch-capabilities should not have arch-capabilities')
|
||||
|
||||
def test_v1_4_0(self):
|
||||
"""
|
||||
:avocado: tags=machine:pc-i440fx-4.0
|
||||
"""
|
||||
# versioned CPU model overrides machine-type:
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('pc-i440fx-4.0')
|
||||
self.vm.add_args('-cpu', 'Cascadelake-Server-v1,x-force-features=on,check=off,enforce=off')
|
||||
self.vm.launch()
|
||||
self.assertFalse(self.get_cpu_prop('arch-capabilities'),
|
||||
'pc-i440fx-4.0 + Cascadelake-Server-v1 should not have arch-capabilities')
|
||||
|
||||
def test_v2_4_0(self):
|
||||
"""
|
||||
:avocado: tags=machine:pc-i440fx-4.0
|
||||
"""
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('pc-i440fx-4.0')
|
||||
self.vm.add_args('-cpu', 'Cascadelake-Server-v2,x-force-features=on,check=off,enforce=off')
|
||||
self.vm.launch()
|
||||
self.assertTrue(self.get_cpu_prop('arch-capabilities'),
|
||||
'pc-i440fx-4.0 + Cascadelake-Server-v2 should have arch-capabilities')
|
||||
|
||||
def test_v1_set_4_0(self):
|
||||
"""
|
||||
:avocado: tags=machine:pc-i440fx-4.0
|
||||
"""
|
||||
# command line must override machine-type and versioned CPU model:
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('pc-i440fx-4.0')
|
||||
self.vm.add_args('-cpu', 'Cascadelake-Server-v1,x-force-features=on,check=off,enforce=off,+arch-capabilities')
|
||||
self.vm.launch()
|
||||
self.assertTrue(self.get_cpu_prop('arch-capabilities'),
|
||||
'pc-i440fx-4.0 + Cascadelake-Server-v1,+arch-capabilities should have arch-capabilities')
|
||||
|
||||
def test_v2_unset_4_1(self):
|
||||
"""
|
||||
:avocado: tags=machine:pc-i440fx-4.1
|
||||
"""
|
||||
self.vm.add_args('-S')
|
||||
self.vm.set_machine('pc-i440fx-4.1')
|
||||
self.vm.add_args('-cpu', 'Cascadelake-Server-v2,x-force-features=on,check=off,enforce=off,-arch-capabilities')
|
||||
self.vm.launch()
|
||||
self.assertFalse(self.get_cpu_prop('arch-capabilities'),
|
||||
|
|
Loading…
Reference in New Issue