[PATCH 17/24] qemuxml2(argv|xml)test: Modernize 'shmem' test cases

Peter Krempa pkrempa at redhat.com
Thu Aug 17 11:41:37 UTC 2023


Upgrade the relevant test cases to use latest capabilities. Note that
the 'shmem' (ivshmem) device is no longer supported and will be dropped
later.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 ...> shmem-invalid-address.x86_64-latest.err} |  0
 .../shmem-invalid-address.xml                 |  1 +
 ...r => shmem-invalid-size.x86_64-latest.err} |  0
 tests/qemuxml2argvdata/shmem-invalid-size.xml |  1 +
 ...y.err => shmem-msi-only.x86_64-latest.err} |  0
 tests/qemuxml2argvdata/shmem-msi-only.xml     |  1 +
 .../shmem-plain-doorbell.args                 | 46 ------------------
 .../shmem-plain-doorbell.x86_64-latest.args   | 48 +++++++++++++++++++
 ...err => shmem-small-size.x86_64-latest.err} |  0
 tests/qemuxml2argvdata/shmem-small-size.xml   |  1 +
 tests/qemuxml2argvtest.c                      | 15 ++----
 ...=> shmem-plain-doorbell.x86_64-latest.xml} |  5 +-
 tests/qemuxml2xmltest.c                       |  3 +-
 13 files changed, 62 insertions(+), 59 deletions(-)
 rename tests/qemuxml2argvdata/{shmem-invalid-address.err => shmem-invalid-address.x86_64-latest.err} (100%)
 rename tests/qemuxml2argvdata/{shmem-invalid-size.err => shmem-invalid-size.x86_64-latest.err} (100%)
 rename tests/qemuxml2argvdata/{shmem-msi-only.err => shmem-msi-only.x86_64-latest.err} (100%)
 delete mode 100644 tests/qemuxml2argvdata/shmem-plain-doorbell.args
 create mode 100644 tests/qemuxml2argvdata/shmem-plain-doorbell.x86_64-latest.args
 rename tests/qemuxml2argvdata/{shmem-small-size.err => shmem-small-size.x86_64-latest.err} (100%)
 rename tests/qemuxml2xmloutdata/{shmem-plain-doorbell.xml => shmem-plain-doorbell.x86_64-latest.xml} (94%)

diff --git a/tests/qemuxml2argvdata/shmem-invalid-address.err b/tests/qemuxml2argvdata/shmem-invalid-address.x86_64-latest.err
similarity index 100%
rename from tests/qemuxml2argvdata/shmem-invalid-address.err
rename to tests/qemuxml2argvdata/shmem-invalid-address.x86_64-latest.err
diff --git a/tests/qemuxml2argvdata/shmem-invalid-address.xml b/tests/qemuxml2argvdata/shmem-invalid-address.xml
index 0ef64483ac..e58f480f09 100644
--- a/tests/qemuxml2argvdata/shmem-invalid-address.xml
+++ b/tests/qemuxml2argvdata/shmem-invalid-address.xml
@@ -18,6 +18,7 @@
     <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='none'/>
     <shmem name='shmem0'>
+      <model type='ivshmem-plain'/>
       <address type='isa'/>
     </shmem>
   </devices>
diff --git a/tests/qemuxml2argvdata/shmem-invalid-size.err b/tests/qemuxml2argvdata/shmem-invalid-size.x86_64-latest.err
similarity index 100%
rename from tests/qemuxml2argvdata/shmem-invalid-size.err
rename to tests/qemuxml2argvdata/shmem-invalid-size.x86_64-latest.err
diff --git a/tests/qemuxml2argvdata/shmem-invalid-size.xml b/tests/qemuxml2argvdata/shmem-invalid-size.xml
index ff37e5ad68..6590de6471 100644
--- a/tests/qemuxml2argvdata/shmem-invalid-size.xml
+++ b/tests/qemuxml2argvdata/shmem-invalid-size.xml
@@ -18,6 +18,7 @@
     <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='none'/>
     <shmem name='shmem0'>
+      <model type='ivshmem-plain'/>
       <size unit='K'>12345</size>
     </shmem>
   </devices>
diff --git a/tests/qemuxml2argvdata/shmem-msi-only.err b/tests/qemuxml2argvdata/shmem-msi-only.x86_64-latest.err
similarity index 100%
rename from tests/qemuxml2argvdata/shmem-msi-only.err
rename to tests/qemuxml2argvdata/shmem-msi-only.x86_64-latest.err
diff --git a/tests/qemuxml2argvdata/shmem-msi-only.xml b/tests/qemuxml2argvdata/shmem-msi-only.xml
index e23e27a107..27af3c34a6 100644
--- a/tests/qemuxml2argvdata/shmem-msi-only.xml
+++ b/tests/qemuxml2argvdata/shmem-msi-only.xml
@@ -18,6 +18,7 @@
     <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='none'/>
     <shmem name='shmem0'>
+      <model type='ivshmem-plain'/>
       <msi/>
     </shmem>
   </devices>
diff --git a/tests/qemuxml2argvdata/shmem-plain-doorbell.args b/tests/qemuxml2argvdata/shmem-plain-doorbell.args
deleted file mode 100644
index aec63db1cf..0000000000
--- a/tests/qemuxml2argvdata/shmem-plain-doorbell.args
+++ /dev/null
@@ -1,46 +0,0 @@
-LC_ALL=C \
-PATH=/bin \
-HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1 \
-USER=test \
-LOGNAME=test \
-XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.local/share \
-XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.cache \
-XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-/usr/bin/qemu-system-x86_64 \
--name guest=QEMUGuest1,debug-threads=on \
--S \
--object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \
--machine pc,usb=off,dump-guest-core=off \
--accel tcg \
--m size=219136k \
--overcommit mem-lock=off \
--smp 1,sockets=1,cores=1,threads=1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--display none \
--no-user-config \
--nodefaults \
--chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
--mon chardev=charmonitor,id=monitor,mode=control \
--rtc base=utc \
--no-shutdown \
--no-acpi \
--boot strict=on \
--usb \
--audiodev '{"id":"audio1","driver":"none"}' \
--object memory-backend-file,id=shmmem-shmem0,mem-path=/dev/shm/shmem0,size=4194304,share=on \
--device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,bus=pci.0,addr=0x2 \
--object memory-backend-file,id=shmmem-shmem1,mem-path=/dev/shm/shmem1,size=134217728,share=on \
--device ivshmem-plain,id=shmem1,memdev=shmmem-shmem1,master=off,bus=pci.0,addr=0x3 \
--object memory-backend-file,id=shmmem-shmem2,mem-path=/dev/shm/shmem2,size=268435456,share=on \
--device ivshmem-plain,id=shmem2,memdev=shmmem-shmem2,master=on,bus=pci.0,addr=0x4 \
--device ivshmem-doorbell,id=shmem3,chardev=charshmem3,ioeventfd=on,bus=pci.0,addr=0x5 \
--chardev socket,id=charshmem3,path=/var/lib/libvirt/shmem-shmem3-sock \
--device ivshmem-doorbell,id=shmem4,chardev=charshmem4,ioeventfd=on,bus=pci.0,addr=0x6 \
--chardev socket,id=charshmem4,path=/tmp/shmem4-sock \
--device ivshmem-doorbell,id=shmem5,chardev=charshmem5,ioeventfd=off,bus=pci.0,addr=0x7 \
--chardev socket,id=charshmem5,path=/tmp/shmem5-sock \
--device ivshmem-doorbell,id=shmem6,chardev=charshmem6,vectors=16,ioeventfd=on,bus=pci.0,addr=0x8 \
--chardev socket,id=charshmem6,path=/tmp/shmem6-sock \
--device ivshmem-doorbell,id=shmem7,chardev=charshmem7,vectors=32,ioeventfd=on,bus=pci.0,addr=0x9 \
--chardev socket,id=charshmem7,path=/tmp/shmem7-sock \
--msg timestamp=on
diff --git a/tests/qemuxml2argvdata/shmem-plain-doorbell.x86_64-latest.args b/tests/qemuxml2argvdata/shmem-plain-doorbell.x86_64-latest.args
new file mode 100644
index 0000000000..5894fa0e0c
--- /dev/null
+++ b/tests/qemuxml2argvdata/shmem-plain-doorbell.x86_64-latest.args
@@ -0,0 +1,48 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
+/usr/bin/qemu-system-x86_64 \
+-name guest=QEMUGuest1,debug-threads=on \
+-S \
+-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
+-accel tcg \
+-cpu qemu64 \
+-m size=219136k \
+-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-boot strict=on \
+-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
+-audiodev '{"id":"audio1","driver":"none"}' \
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-object '{"qom-type":"memory-backend-file","id":"shmmem-shmem0","mem-path":"/dev/shm/shmem0","size":4194304,"share":true}' \
+-device '{"driver":"ivshmem-plain","id":"shmem0","memdev":"shmmem-shmem0","bus":"pci.0","addr":"0x2"}' \
+-object '{"qom-type":"memory-backend-file","id":"shmmem-shmem1","mem-path":"/dev/shm/shmem1","size":134217728,"share":true}' \
+-device '{"driver":"ivshmem-plain","id":"shmem1","memdev":"shmmem-shmem1","master":"off","bus":"pci.0","addr":"0x3"}' \
+-object '{"qom-type":"memory-backend-file","id":"shmmem-shmem2","mem-path":"/dev/shm/shmem2","size":268435456,"share":true}' \
+-device '{"driver":"ivshmem-plain","id":"shmem2","memdev":"shmmem-shmem2","master":"on","bus":"pci.0","addr":"0x4"}' \
+-device '{"driver":"ivshmem-doorbell","id":"shmem3","chardev":"charshmem3","ioeventfd":true,"bus":"pci.0","addr":"0x5"}' \
+-chardev socket,id=charshmem3,path=/var/lib/libvirt/shmem-shmem3-sock \
+-device '{"driver":"ivshmem-doorbell","id":"shmem4","chardev":"charshmem4","ioeventfd":true,"bus":"pci.0","addr":"0x6"}' \
+-chardev socket,id=charshmem4,path=/tmp/shmem4-sock \
+-device '{"driver":"ivshmem-doorbell","id":"shmem5","chardev":"charshmem5","ioeventfd":false,"bus":"pci.0","addr":"0x7"}' \
+-chardev socket,id=charshmem5,path=/tmp/shmem5-sock \
+-device '{"driver":"ivshmem-doorbell","id":"shmem6","chardev":"charshmem6","vectors":16,"ioeventfd":true,"bus":"pci.0","addr":"0x8"}' \
+-chardev socket,id=charshmem6,path=/tmp/shmem6-sock \
+-device '{"driver":"ivshmem-doorbell","id":"shmem7","chardev":"charshmem7","vectors":32,"ioeventfd":true,"bus":"pci.0","addr":"0x9"}' \
+-chardev socket,id=charshmem7,path=/tmp/shmem7-sock \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/shmem-small-size.err b/tests/qemuxml2argvdata/shmem-small-size.x86_64-latest.err
similarity index 100%
rename from tests/qemuxml2argvdata/shmem-small-size.err
rename to tests/qemuxml2argvdata/shmem-small-size.x86_64-latest.err
diff --git a/tests/qemuxml2argvdata/shmem-small-size.xml b/tests/qemuxml2argvdata/shmem-small-size.xml
index 257f3074c6..61eda0703a 100644
--- a/tests/qemuxml2argvdata/shmem-small-size.xml
+++ b/tests/qemuxml2argvdata/shmem-small-size.xml
@@ -18,6 +18,7 @@
     <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='none'/>
     <shmem name='shmem0'>
+      <model type='ivshmem-plain'/>
       <size unit='K'>16</size>
     </shmem>
   </devices>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 5846380189..beaeaf02ad 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -2405,17 +2405,12 @@ mymain(void)
     DO_TEST_CAPS_ARCH_LATEST_FULL("fips-enabled", "x86_64", ARG_FLAGS, FLAG_FIPS_HOST);

     DO_TEST("shmem", QEMU_CAPS_DEVICE_IVSHMEM);
-    DO_TEST("shmem-plain-doorbell", QEMU_CAPS_DEVICE_IVSHMEM,
-            QEMU_CAPS_DEVICE_IVSHMEM_PLAIN,
-            QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL);
     DO_TEST_PARSE_ERROR_NOCAPS("shmem");
-    DO_TEST_FAILURE("shmem-invalid-size",
-                    QEMU_CAPS_DEVICE_IVSHMEM);
-    DO_TEST_FAILURE("shmem-invalid-address",
-                    QEMU_CAPS_DEVICE_IVSHMEM);
-    DO_TEST_FAILURE("shmem-small-size",
-                    QEMU_CAPS_DEVICE_IVSHMEM);
-    DO_TEST_PARSE_ERROR_NOCAPS("shmem-msi-only");
+    DO_TEST_CAPS_LATEST("shmem-plain-doorbell");
+    DO_TEST_CAPS_LATEST_FAILURE("shmem-invalid-size");
+    DO_TEST_CAPS_LATEST_FAILURE("shmem-invalid-address");
+    DO_TEST_CAPS_LATEST_FAILURE("shmem-small-size");
+    DO_TEST_CAPS_LATEST_PARSE_ERROR("shmem-msi-only");
     DO_TEST("cpu-host-passthrough-features", QEMU_CAPS_KVM);

     DO_TEST_FAILURE_NOCAPS("memory-align-fail");
diff --git a/tests/qemuxml2xmloutdata/shmem-plain-doorbell.xml b/tests/qemuxml2xmloutdata/shmem-plain-doorbell.x86_64-latest.xml
similarity index 94%
rename from tests/qemuxml2xmloutdata/shmem-plain-doorbell.xml
rename to tests/qemuxml2xmloutdata/shmem-plain-doorbell.x86_64-latest.xml
index a7c3e6cb22..579de58318 100644
--- a/tests/qemuxml2xmloutdata/shmem-plain-doorbell.xml
+++ b/tests/qemuxml2xmloutdata/shmem-plain-doorbell.x86_64-latest.xml
@@ -8,13 +8,16 @@
     <type arch='x86_64' machine='pc'>hvm</type>
     <boot dev='hd'/>
   </os>
+  <cpu mode='custom' match='exact' check='none'>
+    <model fallback='forbid'>qemu64</model>
+  </cpu>
   <clock offset='utc'/>
   <on_poweroff>destroy</on_poweroff>
   <on_reboot>restart</on_reboot>
   <on_crash>destroy</on_crash>
   <devices>
     <emulator>/usr/bin/qemu-system-x86_64</emulator>
-    <controller type='usb' index='0'>
+    <controller type='usb' index='0' model='piix3-uhci'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
     </controller>
     <controller type='pci' index='0' model='pci-root'/>
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index f752e621ee..bbecaa3064 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -897,8 +897,7 @@ mymain(void)
     DO_TEST_CAPS_LATEST("tap-vhost");
     DO_TEST_CAPS_LATEST("tap-vhost-incorrect");
     DO_TEST("shmem", QEMU_CAPS_DEVICE_IVSHMEM);
-    DO_TEST("shmem-plain-doorbell",
-            QEMU_CAPS_DEVICE_IVSHMEM_PLAIN, QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL);
+    DO_TEST_CAPS_LATEST("shmem-plain-doorbell");
     DO_TEST_CAPS_LATEST("smbios");
     DO_TEST_CAPS_LATEST("smbios-multiple-type2");
     DO_TEST_CAPS_LATEST("smbios-type-fwcfg");
-- 
2.41.0



More information about the libvir-list mailing list