]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuxml2argvtest: Use real-caps testing for 'acpi-hotplug-bridge-disable'
authorPeter Krempa <pkrempa@redhat.com>
Mon, 11 Oct 2021 12:30:58 +0000 (14:30 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 12 Oct 2021 07:41:22 +0000 (09:41 +0200)
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>
tests/qemuxml2argvdata/aarch64-acpi-hotplug-bridge-disable.aarch64-latest.err [moved from tests/qemuxml2argvdata/aarch64-acpi-hotplug-bridge-disable.err with 100% similarity]
tests/qemuxml2argvdata/aarch64-acpi-hotplug-bridge-disable.xml
tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.x86_64-latest.args [moved from tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.args with 55% similarity]
tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.err [deleted file]
tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.x86_64-6.0.0.err [moved from tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.err with 100% similarity]
tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.x86_64-latest.args [moved from tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.args with 61% similarity]
tests/qemuxml2argvtest.c

index 0d5f945bd706d7bc50a5e05185671004c0bea112..47107e93f37274038a89537e92b8d2e852c8b9a9 100644 (file)
@@ -1,33 +1,13 @@
 <domain type='qemu'>
-  <name>i440fx</name>
-  <uuid>56f5055c-1b8d-490c-844a-ad646a1caaaa</uuid>
+  <name>test</name>
   <memory unit='KiB'>1048576</memory>
-  <currentMemory unit='KiB'>1048576</currentMemory>
   <vcpu placement='static'>1</vcpu>
   <os>
     <type arch='aarch64' machine='virt'>hvm</type>
-    <boot dev='network'/>
   </os>
   <features>
     <pci>
       <acpi-bridge-hotplug state='off'/>
     </pci>
   </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>
similarity index 55%
rename from tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.args
rename to tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.x86_64-latest.args
index a1e5dc85c71b44084210e50ddbb9bd0217a26a0a..26de6c81ec2835baeb9acbff1f9a968918d302cb 100644 (file)
@@ -6,26 +6,29 @@ LOGNAME=test \
 XDG_DATA_HOME=/tmp/lib/domain--1-i440fx/.local/share \
 XDG_CACHE_HOME=/tmp/lib/domain--1-i440fx/.cache \
 XDG_CONFIG_HOME=/tmp/lib/domain--1-i440fx/.config \
-QEMU_AUDIO_DRV=none \
 /usr/bin/qemu-system-x86_64 \
 -name guest=i440fx,debug-threads=on \
 -S \
--object 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 \
+-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,memory-backend=pc.ram \
+-cpu qemu64 \
 -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 \
 -uuid 56f5055c-1b8d-490c-844a-ad646a1caaaa \
 -display none \
 -no-user-config \
 -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 \
 -rtc base=utc \
 -no-shutdown \
 -no-acpi \
 -global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off \
 -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 \
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.err b/tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.err
deleted file mode 100644 (file)
index 8c09a3c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-unsupported configuration: acpi-bridge-hotplug is not available with this QEMU binary
similarity index 61%
rename from tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.args
rename to tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.x86_64-latest.args
index 007c22c64663a52f61ec8216ebd40303742906ad..0c29f3673828a30284a1609dd364c1faa945b0cb 100644 (file)
@@ -6,20 +6,21 @@ LOGNAME=test \
 XDG_DATA_HOME=/tmp/lib/domain--1-q35/.local/share \
 XDG_CACHE_HOME=/tmp/lib/domain--1-q35/.cache \
 XDG_CONFIG_HOME=/tmp/lib/domain--1-q35/.config \
-QEMU_AUDIO_DRV=none \
 /usr/bin/qemu-system-x86_64 \
 -name guest=q35,debug-threads=on \
 -S \
--object 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 \
+-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,memory-backend=pc.ram \
+-cpu qemu64 \
 -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 \
 -uuid 56f5055c-1b8d-490c-844a-ad646a1caaaa \
 -display none \
 -no-user-config \
 -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 \
 -rtc base=utc \
 -no-shutdown \
@@ -29,5 +30,8 @@ QEMU_AUDIO_DRV=none \
 -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 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 \
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
 -msg timestamp=on
index 0224bd18546737eacf31d83747fcde36b4605e2e..0fad076877acfb8f5b688474079942c1c72e4a41 100644 (file)
@@ -2561,22 +2561,13 @@ mymain(void)
             QEMU_CAPS_PIIX_DISABLE_S3, QEMU_CAPS_PIIX_DISABLE_S4);
     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("q35-acpi-hotplug-bridge-disable",
-            QEMU_CAPS_DEVICE_PCI_BRIDGE,
-            QEMU_CAPS_DEVICE_IOH3420,
-            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");
+    DO_TEST_CAPS_LATEST("q35-acpi-hotplug-bridge-disable");
+    DO_TEST_CAPS_LATEST("pc-i440fx-acpi-hotplug-bridge-disable");
+    DO_TEST_CAPS_VER_PARSE_ERROR("q35-acpi-hotplug-bridge-disable", "6.0.0");
     /* verify that we fail when acpi-bridge-hotplug option is specified for
      * 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",
             QEMU_CAPS_DEVICE_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,