All supported qemu versions at this point support both 'qemu-xhci' and
'nec-xhci' controllers. To allow using real capabilities restructure the
tests so that we test both controllers explicitly as well as the
selection of the default model.
Also add a xml2xml test invocation of the unified test.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
.../aarch64-usb-controller-qemu-xhci.args | 30 ----------------
.../aarch64-usb-controller-qemu-xhci.xml | 16 ---------
...arch64-usb-controller.aarch64-latest.args} | 11 ++++--
...ec-xhci.xml => aarch64-usb-controller.xml} | 6 ++++
tests/qemuxml2argvtest.c | 9 +----
.../aarch64-usb-controller.aarch64-latest.xml | 36 +++++++++++++++++++
tests/qemuxml2xmltest.c | 2 ++
7 files changed, 53 insertions(+), 57 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/aarch64-usb-controller-qemu-xhci.args
delete mode 100644 tests/qemuxml2argvdata/aarch64-usb-controller-qemu-xhci.xml
rename tests/qemuxml2argvdata/{aarch64-usb-controller-nec-xhci.args =>
aarch64-usb-controller.aarch64-latest.args} (55%)
rename tests/qemuxml2argvdata/{aarch64-usb-controller-nec-xhci.xml =>
aarch64-usb-controller.xml} (61%)
create mode 100644 tests/qemuxml2xmloutdata/aarch64-usb-controller.aarch64-latest.xml
diff --git a/tests/qemuxml2argvdata/aarch64-usb-controller-qemu-xhci.args
b/tests/qemuxml2argvdata/aarch64-usb-controller-qemu-xhci.args
deleted file mode 100644
index 099d8617b6..0000000000
--- a/tests/qemuxml2argvdata/aarch64-usb-controller-qemu-xhci.args
+++ /dev/null
@@ -1,30 +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-aarch64 \
--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 virt,usb=off,gic-version=2,dump-guest-core=off \
--accel tcg \
--m 214 \
--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 \
--device qemu-xhci,id=usb,bus=pcie.0,addr=0x1 \
--audiodev
'{"id":"audio1","driver":"none"}' \
--msg timestamp=on
diff --git a/tests/qemuxml2argvdata/aarch64-usb-controller-qemu-xhci.xml
b/tests/qemuxml2argvdata/aarch64-usb-controller-qemu-xhci.xml
deleted file mode 100644
index 1b7320f433..0000000000
--- a/tests/qemuxml2argvdata/aarch64-usb-controller-qemu-xhci.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<domain type='qemu'>
- <name>QEMUGuest1</name>
- <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
- <memory unit='KiB'>219100</memory>
- <vcpu placement='static'>1</vcpu>
- <os>
- <type arch='aarch64' machine='virt'>hvm</type>
- </os>
- <devices>
- <emulator>/usr/bin/qemu-system-aarch64</emulator>
- <controller type='usb' index='0'>
- <address type='pci' domain='0x0000' bus='0x00'
slot='0x01' function='0x0'/>
- </controller>
- <memballoon model='none'/>
- </devices>
-</domain>
diff --git a/tests/qemuxml2argvdata/aarch64-usb-controller-nec-xhci.args
b/tests/qemuxml2argvdata/aarch64-usb-controller.aarch64-latest.args
similarity index 55%
rename from tests/qemuxml2argvdata/aarch64-usb-controller-nec-xhci.args
rename to tests/qemuxml2argvdata/aarch64-usb-controller.aarch64-latest.args
index ce7cd798cc..0879a1fb91 100644
--- a/tests/qemuxml2argvdata/aarch64-usb-controller-nec-xhci.args
+++ b/tests/qemuxml2argvdata/aarch64-usb-controller.aarch64-latest.args
@@ -9,10 +9,12 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
/usr/bin/qemu-system-aarch64 \
-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 virt,usb=off,gic-version=2,dump-guest-core=off \
+-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}'
\
+-machine virt,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram \
-accel tcg \
+-cpu cortex-a15 \
-m 214 \
+-object
'{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":224395264}'
\
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
@@ -25,6 +27,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-no-shutdown \
-no-acpi \
-boot strict=on \
--device nec-usb-xhci,id=usb,bus=pcie.0,addr=0x1 \
+-device
'{"driver":"qemu-xhci","id":"usb","bus":"pcie.0","addr":"0x1"}'
\
+-device
'{"driver":"nec-usb-xhci","id":"usb1","bus":"pcie.0","addr":"0x2"}'
\
+-device
'{"driver":"qemu-xhci","id":"usb2","bus":"pcie.0","addr":"0x3"}'
\
-audiodev
'{"id":"audio1","driver":"none"}' \
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/aarch64-usb-controller-nec-xhci.xml
b/tests/qemuxml2argvdata/aarch64-usb-controller.xml
similarity index 61%
rename from tests/qemuxml2argvdata/aarch64-usb-controller-nec-xhci.xml
rename to tests/qemuxml2argvdata/aarch64-usb-controller.xml
index 1b7320f433..b95503ed26 100644
--- a/tests/qemuxml2argvdata/aarch64-usb-controller-nec-xhci.xml
+++ b/tests/qemuxml2argvdata/aarch64-usb-controller.xml
@@ -11,6 +11,12 @@
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x01' function='0x0'/>
</controller>
+ <controller type='usb' index='1' model='nec-xhci'>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x02' function='0x0'/>
+ </controller>
+ <controller type='usb' index='2' model='qemu-xhci'>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x03' function='0x0'/>
+ </controller>
<memballoon model='none'/>
</devices>
</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 93e6d095c2..a10bed05d5 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -2554,14 +2554,7 @@ mymain(void)
DO_TEST_CAPS_LATEST_PPC64("ppc64-tpmproxy-single");
DO_TEST_CAPS_LATEST_PPC64("ppc64-tpmproxy-with-tpm");
- DO_TEST("aarch64-usb-controller-qemu-xhci",
- QEMU_CAPS_OBJECT_GPEX,
- QEMU_CAPS_NEC_USB_XHCI,
- QEMU_CAPS_DEVICE_QEMU_XHCI);
-
- DO_TEST("aarch64-usb-controller-nec-xhci",
- QEMU_CAPS_OBJECT_GPEX,
- QEMU_CAPS_NEC_USB_XHCI);
+ DO_TEST_CAPS_ARCH_LATEST("aarch64-usb-controller", "aarch64");
DO_TEST_CAPS_ARCH_LATEST("sparc-minimal", "sparc");
diff --git a/tests/qemuxml2xmloutdata/aarch64-usb-controller.aarch64-latest.xml
b/tests/qemuxml2xmloutdata/aarch64-usb-controller.aarch64-latest.xml
new file mode 100644
index 0000000000..0e0f797cd5
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/aarch64-usb-controller.aarch64-latest.xml
@@ -0,0 +1,36 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='aarch64' machine='virt'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <features>
+ <gic version='2'/>
+ </features>
+ <cpu mode='custom' match='exact' check='none'>
+ <model fallback='forbid'>cortex-a15</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-aarch64</emulator>
+ <controller type='usb' index='0' model='qemu-xhci'>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x01' function='0x0'/>
+ </controller>
+ <controller type='usb' index='1' model='nec-xhci'>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x02' function='0x0'/>
+ </controller>
+ <controller type='usb' index='2' model='qemu-xhci'>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x03' function='0x0'/>
+ </controller>
+ <controller type='pci' index='0' model='pcie-root'/>
+ <audio id='1' type='none'/>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index 9b8669cd4f..23239fdbba 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -986,6 +986,8 @@ mymain(void)
/* SVE aarch64 CPU features work on modern QEMU */
DO_TEST_CAPS_ARCH_LATEST("aarch64-features-sve", "aarch64");
+ DO_TEST_CAPS_ARCH_LATEST("aarch64-usb-controller", "aarch64");
+
DO_TEST_CAPS_ARCH_LATEST("memory-hotplug-ppc64-nonuma",
"ppc64");
DO_TEST_FULL("memory-hotplug-ppc64-nonuma-abi-update", "",
WHEN_BOTH,
ARG_PARSEFLAGS, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
--
2.39.2