From: Andrea Bolognani Date: Tue, 22 Oct 2019 15:16:26 +0000 (+0200) Subject: tests/domaincaps: Make test matrix programmatic X-Git-Tag: v5.9.0-rc1~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79a14412b29f336a2c990c919f9906446e208ab3;p=thirdparty%2Flibvirt.git tests/domaincaps: Make test matrix programmatic For each QEMU version there are usually several different, architecture-dependedn scenarios that we're interested in testing; however, since the test matrix has to be explicitly created by calling DO_TEST_QEMU() multiple times with different arguments, we end up with spotty coverage. Fix this by implementing the arch-specific rules in code, which result in the full coverage for a (version, arch) combo being automatically achieved with a single call to DO_TEST_QEMU(). Unsurprisingly, this change results in a bunch of extra output files being created. Signed-off-by: Andrea Bolognani Reviewed-by: Jiri Denemark --- diff --git a/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml new file mode 100644 index 0000000000..79b753fa09 --- /dev/null +++ b/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml @@ -0,0 +1,134 @@ + + /usr/bin/qemu-system-x86_64 + kvm + pc-q35-1.7 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + yes + no + + + + + + + Broadwell + + + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Haswell + SandyBridge + Westmere + Nehalem + Penryn + Conroe + n270 + athlon + pentium3 + pentium2 + pentium + 486 + coreduo + kvm32 + qemu32 + kvm64 + core2duo + phenom + qemu64 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml new file mode 100644 index 0000000000..5b61c5ba4f --- /dev/null +++ b/tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml @@ -0,0 +1,134 @@ + + /usr/bin/qemu-system-x86_64 + qemu + pc-i440fx-1.7 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + Broadwell + + + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Haswell + SandyBridge + Westmere + Nehalem + Penryn + Conroe + n270 + athlon + pentium3 + pentium2 + pentium + 486 + coreduo + kvm32 + qemu32 + kvm64 + core2duo + phenom + qemu64 + + + + + + disk + cdrom + floppy + lun + + + ide + fdc + scsi + virtio + usb + sata + + + virtio + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml new file mode 100644 index 0000000000..584eaa0983 --- /dev/null +++ b/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml @@ -0,0 +1,172 @@ + + /usr/bin/qemu-system-x86_64 + kvm + pc-q35-2.12 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + yes + no + + + + + + + Haswell-noTSX + Intel + + + + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere + Westmere-IBRS + Skylake-Server + Skylake-Server-IBRS + Skylake-Client + Skylake-Client-IBRS + SandyBridge + SandyBridge-IBRS + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem + Nehalem-IBRS + IvyBridge + IvyBridge-IBRS + Haswell + Haswell-noTSX + Haswell-noTSX-IBRS + Haswell-IBRS + EPYC + EPYC-IBPB + Conroe + Broadwell + Broadwell-noTSX + Broadwell-noTSX-IBRS + Broadwell-IBRS + 486 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + 47 + 1 + + + diff --git a/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml new file mode 100644 index 0000000000..2fbd83d04d --- /dev/null +++ b/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml @@ -0,0 +1,186 @@ + + /usr/bin/qemu-system-x86_64 + qemu + pc-i440fx-2.12 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + EPYC + AMD + + + + + + + + + + + + + + + + + + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere + Westmere-IBRS + Skylake-Server + Skylake-Server-IBRS + Skylake-Client + Skylake-Client-IBRS + SandyBridge + SandyBridge-IBRS + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem + Nehalem-IBRS + IvyBridge + IvyBridge-IBRS + Haswell + Haswell-noTSX + Haswell-noTSX-IBRS + Haswell-IBRS + EPYC + EPYC-IBPB + Conroe + Broadwell + Broadwell-noTSX + Broadwell-noTSX-IBRS + Broadwell-IBRS + 486 + + + + + + disk + cdrom + floppy + lun + + + ide + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + 47 + 1 + + + diff --git a/tests/domaincapsdata/qemu_2.12.0.aarch64.xml b/tests/domaincapsdata/qemu_2.12.0.aarch64.xml new file mode 100644 index 0000000000..ebf499d4fa --- /dev/null +++ b/tests/domaincapsdata/qemu_2.12.0.aarch64.xml @@ -0,0 +1,138 @@ + + /usr/bin/qemu-system-aarch64 + kvm + integratorcp + aarch64 + + + + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + + pxa262 + pxa270-a0 + arm1136 + cortex-a15 + pxa260 + arm1136-r2 + pxa261 + pxa255 + cortex-m33 + arm926 + arm11mpcore + pxa250 + ti925t + cortex-a57 + sa1110 + arm1176 + cortex-a53 + sa1100 + pxa270-c5 + cortex-a9 + cortex-a8 + cortex-a7 + pxa270-c0 + arm1026 + pxa270-b1 + cortex-m3 + max + cortex-m4 + pxa270-b0 + arm946 + cortex-r5 + pxa270-a1 + pxa270 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml new file mode 100644 index 0000000000..e2d734fd03 --- /dev/null +++ b/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml @@ -0,0 +1,143 @@ + + /usr/bin/qemu-system-x86_64 + kvm + pc-q35-2.6 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + yes + no + + + + + + + Broadwell + + + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Broadwell + Broadwell-noTSX + Haswell + Haswell-noTSX + IvyBridge + SandyBridge + Westmere + Nehalem + Penryn + Conroe + n270 + athlon + pentium3 + pentium2 + pentium + 486 + coreduo + kvm32 + qemu32 + kvm64 + core2duo + phenom + qemu64 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml new file mode 100644 index 0000000000..d054bb0491 --- /dev/null +++ b/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml @@ -0,0 +1,143 @@ + + /usr/bin/qemu-system-x86_64 + qemu + pc-i440fx-2.6 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + Broadwell + + + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Broadwell + Broadwell-noTSX + Haswell + Haswell-noTSX + IvyBridge + SandyBridge + Westmere + Nehalem + Penryn + Conroe + n270 + athlon + pentium3 + pentium2 + pentium + 486 + coreduo + kvm32 + qemu32 + kvm64 + core2duo + phenom + qemu64 + + + + + + disk + cdrom + floppy + lun + + + ide + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml new file mode 100644 index 0000000000..e1f014d4a8 --- /dev/null +++ b/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml @@ -0,0 +1,144 @@ + + /usr/bin/qemu-system-x86_64 + kvm + pc-q35-2.8 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + yes + no + + + + + + + Broadwell + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere + Skylake-Client + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem + IvyBridge + Haswell + Haswell-noTSX + Conroe + Broadwell + Broadwell-noTSX + 486 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml new file mode 100644 index 0000000000..595476b87b --- /dev/null +++ b/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml @@ -0,0 +1,172 @@ + + /usr/bin/qemu-system-x86_64 + kvm + pc-q35-3.1 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + yes + no + + + + + + + Skylake-Client-IBRS + Intel + + + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere-IBRS + Westmere + Skylake-Server-IBRS + Skylake-Server + Skylake-Client-IBRS + Skylake-Client + SandyBridge-IBRS + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem-IBRS + Nehalem + IvyBridge-IBRS + IvyBridge + Icelake-Server + Icelake-Client + Haswell-noTSX-IBRS + Haswell-noTSX + Haswell-IBRS + Haswell + EPYC-IBPB + EPYC + Conroe + Cascadelake-Server + Broadwell-noTSX-IBRS + Broadwell-noTSX + Broadwell-IBRS + Broadwell + 486 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml new file mode 100644 index 0000000000..82d31b3ff6 --- /dev/null +++ b/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml @@ -0,0 +1,187 @@ + + /usr/bin/qemu-system-x86_64 + qemu + pc-i440fx-3.1 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + EPYC + AMD + + + + + + + + + + + + + + + + + + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere-IBRS + Westmere + Skylake-Server-IBRS + Skylake-Server + Skylake-Client-IBRS + Skylake-Client + SandyBridge-IBRS + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem-IBRS + Nehalem + IvyBridge-IBRS + IvyBridge + Icelake-Server + Icelake-Client + Haswell-noTSX-IBRS + Haswell-noTSX + Haswell-IBRS + Haswell + EPYC-IBPB + EPYC + Conroe + Cascadelake-Server + Broadwell-noTSX-IBRS + Broadwell-noTSX + Broadwell-IBRS + Broadwell + 486 + + + + + + disk + cdrom + floppy + lun + + + ide + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml new file mode 100644 index 0000000000..aba5bdf871 --- /dev/null +++ b/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml @@ -0,0 +1,172 @@ + + /usr/bin/qemu-system-x86_64 + kvm + pc-q35-4.0 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + yes + no + + + + + + + Skylake-Client-IBRS + Intel + + + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere-IBRS + Westmere + Skylake-Server-IBRS + Skylake-Server + Skylake-Client-IBRS + Skylake-Client + SandyBridge-IBRS + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem-IBRS + Nehalem + IvyBridge-IBRS + IvyBridge + Icelake-Server + Icelake-Client + Haswell-noTSX-IBRS + Haswell-noTSX + Haswell-IBRS + Haswell + EPYC-IBPB + EPYC + Conroe + Cascadelake-Server + Broadwell-noTSX-IBRS + Broadwell-noTSX + Broadwell-IBRS + Broadwell + 486 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml new file mode 100644 index 0000000000..3630653ac9 --- /dev/null +++ b/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml @@ -0,0 +1,187 @@ + + /usr/bin/qemu-system-x86_64 + qemu + pc-i440fx-4.0 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + EPYC + AMD + + + + + + + + + + + + + + + + + + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere-IBRS + Westmere + Skylake-Server-IBRS + Skylake-Server + Skylake-Client-IBRS + Skylake-Client + SandyBridge-IBRS + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem-IBRS + Nehalem + IvyBridge-IBRS + IvyBridge + Icelake-Server + Icelake-Client + Haswell-noTSX-IBRS + Haswell-noTSX + Haswell-IBRS + Haswell + EPYC-IBPB + EPYC + Conroe + Cascadelake-Server + Broadwell-noTSX-IBRS + Broadwell-noTSX + Broadwell-IBRS + Broadwell + 486 + + + + + + disk + cdrom + floppy + lun + + + ide + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml new file mode 100644 index 0000000000..481aba2c41 --- /dev/null +++ b/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml @@ -0,0 +1,176 @@ + + /usr/bin/qemu-system-x86_64 + kvm + pc-q35-4.1 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + yes + no + + + + + + + Skylake-Client-IBRS + Intel + + + + + + + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere-IBRS + Westmere + Skylake-Server-IBRS + Skylake-Server + Skylake-Client-IBRS + Skylake-Client + SandyBridge-IBRS + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem-IBRS + Nehalem + IvyBridge-IBRS + IvyBridge + Icelake-Server + Icelake-Client + Haswell-noTSX-IBRS + Haswell-noTSX + Haswell-IBRS + Haswell + EPYC-IBPB + EPYC + Conroe + Cascadelake-Server + Broadwell-noTSX-IBRS + Broadwell-noTSX + Broadwell-IBRS + Broadwell + 486 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml new file mode 100644 index 0000000000..a7409505cb --- /dev/null +++ b/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml @@ -0,0 +1,187 @@ + + /usr/bin/qemu-system-x86_64 + qemu + pc-i440fx-4.1 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + EPYC-IBPB + AMD + + + + + + + + + + + + + + + + + + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere-IBRS + Westmere + Skylake-Server-IBRS + Skylake-Server + Skylake-Client-IBRS + Skylake-Client + SandyBridge-IBRS + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem-IBRS + Nehalem + IvyBridge-IBRS + IvyBridge + Icelake-Server + Icelake-Client + Haswell-noTSX-IBRS + Haswell-noTSX + Haswell-IBRS + Haswell + EPYC-IBPB + EPYC + Conroe + Cascadelake-Server + Broadwell-noTSX-IBRS + Broadwell-noTSX + Broadwell-IBRS + Broadwell + 486 + + + + + + disk + cdrom + floppy + lun + + + ide + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml new file mode 100644 index 0000000000..8f6c6d3da6 --- /dev/null +++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml @@ -0,0 +1,176 @@ + + /usr/bin/qemu-system-x86_64 + kvm + pc-q35-4.2 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + yes + no + + + + + + + Skylake-Client-IBRS + Intel + + + + + + + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere-IBRS + Westmere + Skylake-Server-IBRS + Skylake-Server + Skylake-Client-IBRS + Skylake-Client + SandyBridge-IBRS + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem-IBRS + Nehalem + IvyBridge-IBRS + IvyBridge + Icelake-Server + Icelake-Client + Haswell-noTSX-IBRS + Haswell-noTSX + Haswell-IBRS + Haswell + EPYC-IBPB + EPYC + Conroe + Cascadelake-Server + Broadwell-noTSX-IBRS + Broadwell-noTSX + Broadwell-IBRS + Broadwell + 486 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml new file mode 100644 index 0000000000..520d4ff7f2 --- /dev/null +++ b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml @@ -0,0 +1,187 @@ + + /usr/bin/qemu-system-x86_64 + qemu + pc-i440fx-4.2 + x86_64 + + + + + bios + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + EPYC-IBPB + AMD + + + + + + + + + + + + + + + + + + + + + + + + + + + + qemu64 + qemu32 + phenom + pentium3 + pentium2 + pentium + n270 + kvm64 + kvm32 + coreduo + core2duo + athlon + Westmere-IBRS + Westmere + Skylake-Server-IBRS + Skylake-Server + Skylake-Client-IBRS + Skylake-Client + SandyBridge-IBRS + SandyBridge + Penryn + Opteron_G5 + Opteron_G4 + Opteron_G3 + Opteron_G2 + Opteron_G1 + Nehalem-IBRS + Nehalem + IvyBridge-IBRS + IvyBridge + Icelake-Server + Icelake-Client + Haswell-noTSX-IBRS + Haswell-noTSX + Haswell-IBRS + Haswell + EPYC-IBPB + EPYC + Conroe + Cascadelake-Server + Broadwell-noTSX-IBRS + Broadwell-noTSX + Broadwell-IBRS + Broadwell + 486 + + + + + + disk + cdrom + floppy + lun + + + ide + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml new file mode 100644 index 0000000000..abd1e3946a --- /dev/null +++ b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml @@ -0,0 +1,150 @@ + + /usr/bin/qemu-system-aarch64 + kvm + virt-4.2 + aarch64 + + + + + efi + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + + pxa262 + pxa270-a0 + arm1136 + cortex-a15 + pxa260 + arm1136-r2 + pxa261 + pxa255 + cortex-a72 + cortex-m33 + arm926 + cortex-r5f + arm11mpcore + pxa250 + ti925t + cortex-a57 + sa1110 + arm1176 + cortex-a53 + sa1100 + pxa270-c5 + cortex-a9 + cortex-a8 + cortex-a7 + pxa270-c0 + arm1026 + pxa270-b1 + cortex-m3 + max + cortex-m4 + pxa270-b0 + cortex-m0 + cortex-r5 + arm946 + pxa270-a1 + pxa270 + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + + + + + + + 3 + + + + + + + diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c index e3329ef1ff..4476423228 100644 --- a/tests/domaincapstest.c +++ b/tests/domaincapstest.c @@ -267,11 +267,11 @@ test_virDomainCapsFormat(const void *opaque) } static int -doTestQemu(const char *version, - const char *machine, - const char *arch, - virDomainVirtType type, - void *opaque) +doTestQemuInternal(const char *version, + const char *machine, + const char *arch, + virDomainVirtType type, + void *opaque) { g_autofree char *name = NULL; g_autofree char *capsName = NULL; @@ -302,6 +302,50 @@ doTestQemu(const char *version, return 0; } +static int +doTestQemu(const char *version, + const char *arch, + void *opaque) +{ + if (STREQ(arch, "x86_64")) { + /* For x86_64 we test three combinations: + * + * - KVM with default machine + * - KVM with Q35 machine + * - TCG with default machine + */ + if (doTestQemuInternal(version, NULL, arch, + VIR_DOMAIN_VIRT_KVM, opaque) < 0 || + doTestQemuInternal(version, "q35", arch, + VIR_DOMAIN_VIRT_KVM, opaque) < 0 || + doTestQemuInternal(version, NULL, arch, + VIR_DOMAIN_VIRT_QEMU, opaque) < 0) { + return -1; + } + } else if (STREQ(arch, "aarch64")) { + /* For aarch64 we test two combinations: + * + * - KVM with default machine + * - KVM with virt machine + */ + if (doTestQemuInternal(version, NULL, arch, + VIR_DOMAIN_VIRT_KVM, opaque) < 0 || + doTestQemuInternal(version, "virt", arch, + VIR_DOMAIN_VIRT_KVM, opaque) < 0) { + return -1; + } + } else if (STRPREFIX(arch, "riscv")) { + /* Unfortunately we have to skip RISC-V at the moment */ + return 0; + } else { + if (doTestQemuInternal(version, NULL, arch, + VIR_DOMAIN_VIRT_KVM, opaque) < 0) + return -1; + } + + return 0; +} + static int mymain(void) { @@ -332,9 +376,9 @@ mymain(void) ret = -1; \ } while (0) -#define DO_TEST_QEMU(Version, Machine, Arch, Type) \ +#define DO_TEST_QEMU(Version, Arch) \ do { \ - if (doTestQemu(Version, Machine, Arch, Type, cfg) < 0) \ + if (doTestQemu(Version, Arch, cfg) < 0) \ ret = -1; \ } while (0) @@ -384,40 +428,36 @@ mymain(void) virFileWrapperAddPrefix("/home/user/.config/qemu/firmware", abs_srcdir "/qemufirmwaredata/home/user/.config/qemu/firmware"); - DO_TEST_QEMU("1.7.0", NULL, "x86_64", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("1.7.0", "x86_64"); - DO_TEST_QEMU("2.6.0", NULL, "x86_64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("2.6.0", NULL, "aarch64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("2.6.0", "virt", "aarch64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("2.6.0", NULL, "ppc64", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("2.6.0", "x86_64"); + DO_TEST_QEMU("2.6.0", "aarch64"); + DO_TEST_QEMU("2.6.0", "ppc64"); - DO_TEST_QEMU("2.7.0", NULL, "s390x", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("2.7.0", "s390x"); - DO_TEST_QEMU("2.8.0", NULL, "x86_64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("2.8.0", NULL, "x86_64", VIR_DOMAIN_VIRT_QEMU); - DO_TEST_QEMU("2.8.0", NULL, "s390x", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("2.8.0", "x86_64"); + DO_TEST_QEMU("2.8.0", "s390x"); - DO_TEST_QEMU("2.9.0", NULL, "x86_64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("2.9.0", "q35", "x86_64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("2.9.0", NULL, "x86_64", VIR_DOMAIN_VIRT_QEMU); + DO_TEST_QEMU("2.9.0", "x86_64"); - DO_TEST_QEMU("2.12.0", NULL, "x86_64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("2.12.0", "virt", "aarch64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("2.12.0", NULL, "ppc64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("2.12.0", NULL, "s390x", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("2.12.0", "x86_64"); + DO_TEST_QEMU("2.12.0", "aarch64"); + DO_TEST_QEMU("2.12.0", "ppc64"); + DO_TEST_QEMU("2.12.0", "s390x"); - DO_TEST_QEMU("3.0.0", NULL, "s390x", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("3.0.0", "s390x"); - DO_TEST_QEMU("3.1.0", NULL, "x86_64", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("3.1.0", "x86_64"); - DO_TEST_QEMU("4.0.0", NULL, "x86_64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("4.0.0", NULL, "s390x", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("4.0.0", "x86_64"); + DO_TEST_QEMU("4.0.0", "s390x"); - DO_TEST_QEMU("4.1.0", NULL, "x86_64", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("4.1.0", "x86_64"); - DO_TEST_QEMU("4.2.0", NULL, "x86_64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("4.2.0", NULL, "ppc64", VIR_DOMAIN_VIRT_KVM); - DO_TEST_QEMU("4.2.0", NULL, "aarch64", VIR_DOMAIN_VIRT_KVM); + DO_TEST_QEMU("4.2.0", "x86_64"); + DO_TEST_QEMU("4.2.0", "ppc64"); + DO_TEST_QEMU("4.2.0", "aarch64"); virObjectUnref(cfg);