1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

qemuxml2argvtest: Use real-caps testing for 'acpi-hotplug-bridge-disable'

We can use real example configs to prove the support without the
need for using fake capabilities. Fix the recently added test cases.

The negative case for 'pc-i440fx-acpi-hotplug-bridge-disable' is removed
completely as there is no real qemu libvirt supports which wouldn't
have the capability.

The input file for the negative test on aarch64 is modified so that it's
actually a reasonably valid VM config.

Fixes: bef0f0d8be6
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2021-10-11 14:30:58 +02:00
parent 2017b9f0c0
commit 2d20f0bb05
7 changed files with 23 additions and 46 deletions

View File

@ -1,33 +1,13 @@
<domain type='qemu'> <domain type='qemu'>
<name>i440fx</name> <name>test</name>
<uuid>56f5055c-1b8d-490c-844a-ad646a1caaaa</uuid>
<memory unit='KiB'>1048576</memory> <memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu> <vcpu placement='static'>1</vcpu>
<os> <os>
<type arch='aarch64' machine='virt'>hvm</type> <type arch='aarch64' machine='virt'>hvm</type>
<boot dev='network'/>
</os> </os>
<features> <features>
<pci> <pci>
<acpi-bridge-hotplug state='off'/> <acpi-bridge-hotplug state='off'/>
</pci> </pci>
</features> </features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-aarch64</emulator>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<audio id='1' type='none'/>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</memballoon>
</devices>
</domain> </domain>

View File

@ -6,26 +6,29 @@ LOGNAME=test \
XDG_DATA_HOME=/tmp/lib/domain--1-i440fx/.local/share \ XDG_DATA_HOME=/tmp/lib/domain--1-i440fx/.local/share \
XDG_CACHE_HOME=/tmp/lib/domain--1-i440fx/.cache \ XDG_CACHE_HOME=/tmp/lib/domain--1-i440fx/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-i440fx/.config \ XDG_CONFIG_HOME=/tmp/lib/domain--1-i440fx/.config \
QEMU_AUDIO_DRV=none \
/usr/bin/qemu-system-x86_64 \ /usr/bin/qemu-system-x86_64 \
-name guest=i440fx,debug-threads=on \ -name guest=i440fx,debug-threads=on \
-S \ -S \
-object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-i440fx/master-key.aes \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-i440fx/master-key.aes"}' \
-machine pc-i440fx-2.5,accel=tcg,usb=off,dump-guest-core=off \ -machine pc-i440fx-2.5,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
-cpu qemu64 \
-m 1024 \ -m 1024 \
-realtime mlock=off \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \ -smp 1,sockets=1,cores=1,threads=1 \
-uuid 56f5055c-1b8d-490c-844a-ad646a1caaaa \ -uuid 56f5055c-1b8d-490c-844a-ad646a1caaaa \
-display none \ -display none \
-no-user-config \ -no-user-config \
-nodefaults \ -nodefaults \
-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-i440fx/monitor.sock,server=on,wait=off \ -chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
-mon chardev=charmonitor,id=monitor,mode=control \ -mon chardev=charmonitor,id=monitor,mode=control \
-rtc base=utc \ -rtc base=utc \
-no-shutdown \ -no-shutdown \
-no-acpi \ -no-acpi \
-global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off \ -global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off \
-boot strict=on \ -boot strict=on \
-usb \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
-audiodev id=audio1,driver=none \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on -msg timestamp=on

View File

@ -1 +0,0 @@
unsupported configuration: acpi-bridge-hotplug is not available with this QEMU binary

View File

@ -6,20 +6,21 @@ LOGNAME=test \
XDG_DATA_HOME=/tmp/lib/domain--1-q35/.local/share \ XDG_DATA_HOME=/tmp/lib/domain--1-q35/.local/share \
XDG_CACHE_HOME=/tmp/lib/domain--1-q35/.cache \ XDG_CACHE_HOME=/tmp/lib/domain--1-q35/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-q35/.config \ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35/.config \
QEMU_AUDIO_DRV=none \
/usr/bin/qemu-system-x86_64 \ /usr/bin/qemu-system-x86_64 \
-name guest=q35,debug-threads=on \ -name guest=q35,debug-threads=on \
-S \ -S \
-object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-q35/master-key.aes \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-q35/master-key.aes"}' \
-machine pc-q35-2.5,accel=tcg,usb=off,dump-guest-core=off \ -machine pc-q35-2.5,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
-cpu qemu64 \
-m 1024 \ -m 1024 \
-realtime mlock=off \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":1073741824}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \ -smp 1,sockets=1,cores=1,threads=1 \
-uuid 56f5055c-1b8d-490c-844a-ad646a1caaaa \ -uuid 56f5055c-1b8d-490c-844a-ad646a1caaaa \
-display none \ -display none \
-no-user-config \ -no-user-config \
-nodefaults \ -nodefaults \
-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-q35/monitor.sock,server=on,wait=off \ -chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
-mon chardev=charmonitor,id=monitor,mode=control \ -mon chardev=charmonitor,id=monitor,mode=control \
-rtc base=utc \ -rtc base=utc \
-no-shutdown \ -no-shutdown \
@ -29,5 +30,8 @@ QEMU_AUDIO_DRV=none \
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \ -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \ -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
-device ioh3420,port=0x8,chassis=3,id=pci.3,bus=pcie.0,addr=0x1 \ -device ioh3420,port=0x8,chassis=3,id=pci.3,bus=pcie.0,addr=0x1 \
-device qemu-xhci,id=usb,bus=pci.3,addr=0x0 \
-audiodev id=audio1,driver=none \
-device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x1 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on -msg timestamp=on

View File

@ -2561,22 +2561,13 @@ mymain(void)
QEMU_CAPS_PIIX_DISABLE_S3, QEMU_CAPS_PIIX_DISABLE_S4); QEMU_CAPS_PIIX_DISABLE_S3, QEMU_CAPS_PIIX_DISABLE_S4);
DO_TEST_CAPS_LATEST("pc-i440fx-acpi-root-hotplug-disable"); DO_TEST_CAPS_LATEST("pc-i440fx-acpi-root-hotplug-disable");
DO_TEST_CAPS_VER_PARSE_ERROR("pc-i440fx-acpi-root-hotplug-disable", "5.1.0"); DO_TEST_CAPS_VER_PARSE_ERROR("pc-i440fx-acpi-root-hotplug-disable", "5.1.0");
DO_TEST("q35-acpi-hotplug-bridge-disable", DO_TEST_CAPS_LATEST("q35-acpi-hotplug-bridge-disable");
QEMU_CAPS_DEVICE_PCI_BRIDGE, DO_TEST_CAPS_LATEST("pc-i440fx-acpi-hotplug-bridge-disable");
QEMU_CAPS_DEVICE_IOH3420, DO_TEST_CAPS_VER_PARSE_ERROR("q35-acpi-hotplug-bridge-disable", "6.0.0");
QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE, QEMU_CAPS_ICH9_AHCI,
QEMU_CAPS_ICH9_ACPI_HOTPLUG_BRIDGE);
DO_TEST("pc-i440fx-acpi-hotplug-bridge-disable",
QEMU_CAPS_DEVICE_PCI_BRIDGE,
QEMU_CAPS_DEVICE_IOH3420,
QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
QEMU_CAPS_PIIX4_ACPI_HOTPLUG_BRIDGE);
DO_TEST_PARSE_ERROR_NOCAPS("q35-acpi-hotplug-bridge-disable");
DO_TEST_PARSE_ERROR_NOCAPS("pc-i440fx-acpi-hotplug-bridge-disable");
/* verify that we fail when acpi-bridge-hotplug option is specified for /* verify that we fail when acpi-bridge-hotplug option is specified for
* archs other than x86 * archs other than x86
*/ */
DO_TEST_PARSE_ERROR_NOCAPS("aarch64-acpi-hotplug-bridge-disable"); DO_TEST_CAPS_ARCH_LATEST_PARSE_ERROR("aarch64-acpi-hotplug-bridge-disable", "aarch64");
DO_TEST("q35-usb2", DO_TEST("q35-usb2",
QEMU_CAPS_DEVICE_PCI_BRIDGE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE, QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,