This series applies on top of 'part2' fetch everything from my repo: git fetch https://gitlab.com/pipo.sk/libvirt.git ppc-send In this part: - caps code is refactored to simplify error paths - vircapstest is removed - qemumemlocktest is converted to use real caps - qemuhotplugtest is converted to use real caps - ppc64 fake caps invocation is dropped from qemuxml2xml/argv tests - always present ppc64 caps are drooped - ppc64 fake emulators are removed Peter Krempa (31): qemu: capabilities: Drop 'kvmVersion' field libxlCapsInitGuests: Rework insane use of ternary operators virCapabilitiesAllocMachines: Use NULL-terminated list as argument and return count virQEMUCapsGetMachineTypesCaps: Remove return value virQEMUCapsInitGuestFromBinary: Refactor cleanup virQEMUCapsInitGuestFromBinary: Remove return value virQEMUCapsInitGuest: Refactor cleanup and remove return value virCapabilitiesFreeMachines: Remove unused function vircapstest: Remove 'qemu' testing tests: vircaps: Remove pointless testing of virCapabilitiesHostNUMAGetCpus tests: Remove 'vircapstest' testutilsqemu: Extract fetching of real virQEMUCaps into testQemuGetRealCaps testQemuGetRealCaps: Integrate fetching of QMP schema qemumemlocktest: Use real capabilities qemuhotplugtest: Don't fetch capabilities when they are not used qemuhotplugtestdomain: Move all i686 test cases to x86_64 qemuhotplugtest: Enable 'lsilogic' SCSI controller qemuhotplugtest: Assert QEMU_CAPS_SET_ACTION qemuhotplugtest: Refactor calling of testQemuHotplugCpuPrepare qemuhotplugtest: Use real 'latest' capabilities for hotplug testing qemuhotplugtest: Make the test more useful by validating used commands against QMP schema qemuxml2argvtest: Modernize all 'ppc64' remaining test cases qemuxml2xmltest: Modernize all remaining 'ppc64' test cases qemuxml2argvtest: Add '4.2.0' version of 'pseries-features' test case qemuxml2argvtest: Drop negative test cases for 'pseries' machine features qemuValidateDomainDefPSeriesFeature: Remove obsolete checks qemu: capabilities: Retire obsolete 'pseries' capabilities qemuValidateDomainDefPSeriesFeature: Simplify machine validation logic qemuValidateDomainDefPSeriesFeature: Simplify feature validation qemuxml2argvtest: Use real capabilities for negative test cases for ppc64 architecture testutilsqemu: Drop fake capability testing infrastructure for 'ppc64' src/conf/capabilities.c | 31 +- src/conf/capabilities.h | 5 +- src/libvirt_private.syms | 1 - src/libxl/libxl_capabilities.c | 39 ++- src/qemu/qemu_capabilities.c | 85 ++---- src/qemu/qemu_capabilities.h | 23 +- src/qemu/qemu_validate.c | 99 +----- tests/meson.build | 18 +- .../caps_4.2.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_4.2.0_ppc64.xml | 8 - .../qemucapabilitiesdata/caps_4.2.0_s390x.xml | 1 - .../caps_4.2.0_x86_64.xml | 1 - .../caps_5.0.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_5.0.0_ppc64.xml | 8 - .../caps_5.0.0_riscv64.xml | 1 - .../caps_5.0.0_x86_64.xml | 1 - .../qemucapabilitiesdata/caps_5.1.0_sparc.xml | 1 - .../caps_5.1.0_x86_64.xml | 1 - .../caps_5.2.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 8 - .../caps_5.2.0_riscv64.xml | 1 - .../qemucapabilitiesdata/caps_5.2.0_s390x.xml | 1 - .../caps_5.2.0_x86_64.xml | 1 - .../caps_6.0.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_6.0.0_s390x.xml | 1 - .../caps_6.0.0_x86_64.xml | 1 - .../caps_6.1.0_x86_64.xml | 1 - .../caps_6.2.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 8 - .../caps_6.2.0_x86_64.xml | 1 - .../caps_7.0.0_aarch64+hvf.xml | 1 - .../caps_7.0.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 8 - .../caps_7.0.0_x86_64.xml | 1 - .../qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 8 - .../caps_7.1.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 1 - .../caps_7.2.0_x86_64+hvf.xml | 1 - .../caps_7.2.0_x86_64.xml | 1 - .../caps_8.0.0_riscv64.xml | 1 - .../caps_8.0.0_x86_64.xml | 1 - tests/qemucaps2xmltest.c | 8 +- tests/qemuhotplugtest.c | 284 +++++++++--------- .../ppc64-modern-bulk-result-conf.xml | 5 +- .../ppc64-modern-bulk-result-live.xml | 5 +- .../ppc64-modern-individual-result-conf.xml | 5 +- .../ppc64-modern-individual-result-live.xml | 5 +- .../x86-modern-bulk-result-conf.xml | 5 +- .../x86-modern-bulk-result-live.xml | 5 +- .../x86-modern-individual-add-result-conf.xml | 5 +- .../x86-modern-individual-add-result-live.xml | 5 +- .../qemuhotplug-disk-scsi-2.xml | 2 +- .../qemuhotplug-base-ccw-live+ccw-virtio.xml | 13 +- ...with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 13 +- ...otplug-base-ccw-live-with-2-ccw-virtio.xml | 13 +- ...-with-ccw-virtio+ccw-virtio-2-explicit.xml | 13 +- ...-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 13 +- ...uhotplug-base-ccw-live-with-ccw-virtio.xml | 13 +- .../qemuhotplug-base-ccw-live.xml | 13 +- .../qemuhotplug-base-live+cdrom-scsi.xml | 5 +- .../qemuhotplug-base-live+cdrom-usb.xml | 5 +- ...uhotplug-base-live+disk-scsi-multipath.xml | 5 +- ...+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml | 5 +- .../qemuhotplug-base-live+disk-scsi.xml | 5 +- .../qemuhotplug-base-live+disk-usb.xml | 5 +- .../qemuhotplug-base-live+disk-virtio.xml | 5 +- .../qemuhotplug-base-live+guestfwd.xml | 5 +- .../qemuhotplug-base-live+hostdev-pci.xml | 5 +- .../qemuhotplug-base-live+interface-vdpa.xml | 5 +- ...qemuhotplug-base-live+ivshmem-doorbell.xml | 5 +- .../qemuhotplug-base-live+ivshmem-plain.xml | 5 +- .../qemuhotplug-base-live+qemu-agent.xml | 5 +- ...uhotplug-base-live+watchdog-user-alias.xml | 5 +- .../qemuhotplug-base-live+watchdog.xml | 5 +- .../qemuhotplug-base-live.xml | 5 +- ...hotplug-base-with-scsi-controller-live.xml | 13 +- ...thout-scsi-controller-live+disk-scsi-2.xml | 17 +- ...g-console-compat-2-live+console-virtio.xml | 5 +- .../qemuhotplug-console-compat-2-live.xml | 5 +- .../qemuhotplug-disk-cdrom.xml | 4 +- ...uhotplug-graphics-spice-listen-network.xml | 4 +- .../qemuhotplug-graphics-spice-timeout.xml | 4 +- .../qemuhotplug-graphics-spice.xml | 4 +- ...uhotplug-pseries-base-live+hostdev-pci.xml | 5 +- .../qemuhotplug-pseries-base-live.xml | 5 +- tests/qemumemlocktest.c | 27 +- ...r => aarch64-gic-not-arm.ppc64-latest.err} | 0 ... cpu-hotplug-granularity.ppc64-latest.err} | 0 ...emory-hotplug-nvdimm-ppc64-abi-update.args | 13 +- ...ry-hotplug-nvdimm-ppc64.ppc64-latest.args} | 13 +- ...emory-hotplug-ppc64-nonuma-abi-update.args | 15 +- ...ry-hotplug-ppc64-nonuma.ppc64-latest.args} | 15 +- ....err => ppc64-tpm-double.ppc64-latest.err} | 0 ...=> ppc64-tpmproxy-double.ppc64-latest.err} | 0 ...4-usb-controller-legacy.ppc64-latest.args} | 11 +- .../ppc64-usb-controller-qemu-xhci.args | 11 +- ...=> ppc64-usb-controller.ppc64-latest.args} | 11 +- .../qemuxml2argvdata/pseries-features-ccf.err | 1 - .../qemuxml2argvdata/pseries-features-ccf.xml | 14 - .../pseries-features-cfpc.err | 1 - .../pseries-features-cfpc.xml | 14 - .../pseries-features-hpt-pagesize.err | 1 - .../pseries-features-hpt-pagesize.xml | 16 - .../qemuxml2argvdata/pseries-features-htm.err | 1 - .../qemuxml2argvdata/pseries-features-htm.xml | 14 - .../qemuxml2argvdata/pseries-features-ibs.err | 1 - .../qemuxml2argvdata/pseries-features-ibs.xml | 14 - .../pseries-features-nested-hv.err | 1 - .../pseries-features-nested-hv.xml | 14 - .../pseries-features-sbbc.err | 1 - .../pseries-features-sbbc.xml | 14 - .../pseries-features.ppc64-4.2.0.args | 30 ++ .../qemuxml2argvdata/pseries-no-parallel.err | 1 - .../pseries-no-parallel.ppc64-latest.err | 1 + ...b-invalid-target-index-1.ppc64-latest.err} | 0 ...b-invalid-target-index-2.ppc64-latest.err} | 0 ...b-invalid-target-index-3.ppc64-latest.err} | 0 .../pseries-spaprvio-invalid.err | 1 - .../pseries-spaprvio-invalid.ppc64-latest.err | 1 + tests/qemuxml2argvtest.c | 97 ++---- ...memory-hotplug-nvdimm-ppc64-abi-update.xml | 3 +- ...ory-hotplug-nvdimm-ppc64.ppc64-latest.xml} | 3 +- ...memory-hotplug-ppc64-nonuma-abi-update.xml | 3 + ...mory-hotplug-ppc64-nonuma.ppc64-latest.xml | 42 +++ .../memory-hotplug-ppc64-nonuma.xml | 1 - ...64-usb-controller-legacy.ppc64-latest.xml} | 3 + ... => ppc64-usb-controller.ppc64-latest.xml} | 5 +- tests/qemuxml2xmltest.c | 24 +- tests/testutilsqemu.c | 171 ++++++----- tests/testutilsqemu.h | 11 +- tests/testutilsxen.c | 26 +- tests/vircapstest.c | 230 -------------- 132 files changed, 705 insertions(+), 1118 deletions(-) rename tests/qemuxml2argvdata/{aarch64-gic-not-arm.err => aarch64-gic-not-arm.ppc64-latest.err} (100%) rename tests/qemuxml2argvdata/{cpu-hotplug-granularity.err => cpu-hotplug-granularity.ppc64-latest.err} (100%) rename tests/qemuxml2argvdata/{memory-hotplug-nvdimm-ppc64.args => memory-hotplug-nvdimm-ppc64.ppc64-latest.args} (55%) rename tests/qemuxml2argvdata/{memory-hotplug-ppc64-nonuma.args => memory-hotplug-ppc64-nonuma.ppc64-latest.args} (54%) rename tests/qemuxml2argvdata/{ppc64-tpm-double.err => ppc64-tpm-double.ppc64-latest.err} (100%) rename tests/qemuxml2argvdata/{ppc64-tpmproxy-double.err => ppc64-tpmproxy-double.ppc64-latest.err} (100%) rename tests/qemuxml2argvdata/{ppc64-usb-controller-legacy.args => ppc64-usb-controller-legacy.ppc64-latest.args} (58%) rename tests/qemuxml2argvdata/{ppc64-usb-controller.args => ppc64-usb-controller.ppc64-latest.args} (58%) delete mode 100644 tests/qemuxml2argvdata/pseries-features-ccf.err delete mode 100644 tests/qemuxml2argvdata/pseries-features-ccf.xml delete mode 100644 tests/qemuxml2argvdata/pseries-features-cfpc.err delete mode 100644 tests/qemuxml2argvdata/pseries-features-cfpc.xml delete mode 100644 tests/qemuxml2argvdata/pseries-features-hpt-pagesize.err delete mode 100644 tests/qemuxml2argvdata/pseries-features-hpt-pagesize.xml delete mode 100644 tests/qemuxml2argvdata/pseries-features-htm.err delete mode 100644 tests/qemuxml2argvdata/pseries-features-htm.xml delete mode 100644 tests/qemuxml2argvdata/pseries-features-ibs.err delete mode 100644 tests/qemuxml2argvdata/pseries-features-ibs.xml delete mode 100644 tests/qemuxml2argvdata/pseries-features-nested-hv.err delete mode 100644 tests/qemuxml2argvdata/pseries-features-nested-hv.xml delete mode 100644 tests/qemuxml2argvdata/pseries-features-sbbc.err delete mode 100644 tests/qemuxml2argvdata/pseries-features-sbbc.xml create mode 100644 tests/qemuxml2argvdata/pseries-features.ppc64-4.2.0.args delete mode 100644 tests/qemuxml2argvdata/pseries-no-parallel.err create mode 100644 tests/qemuxml2argvdata/pseries-no-parallel.ppc64-latest.err rename tests/qemuxml2argvdata/{pseries-phb-invalid-target-index-1.err => pseries-phb-invalid-target-index-1.ppc64-latest.err} (100%) rename tests/qemuxml2argvdata/{pseries-phb-invalid-target-index-2.err => pseries-phb-invalid-target-index-2.ppc64-latest.err} (100%) rename tests/qemuxml2argvdata/{pseries-phb-invalid-target-index-3.err => pseries-phb-invalid-target-index-3.ppc64-latest.err} (100%) delete mode 100644 tests/qemuxml2argvdata/pseries-spaprvio-invalid.err create mode 100644 tests/qemuxml2argvdata/pseries-spaprvio-invalid.ppc64-latest.err rename tests/qemuxml2xmloutdata/{memory-hotplug-nvdimm-ppc64.xml => memory-hotplug-nvdimm-ppc64.ppc64-latest.xml} (93%) create mode 100644 tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma.ppc64-latest.xml delete mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma.xml rename tests/qemuxml2xmloutdata/{ppc64-usb-controller.xml => ppc64-usb-controller-legacy.ppc64-latest.xml} (91%) rename tests/qemuxml2xmloutdata/{ppc64-usb-controller-legacy.xml => ppc64-usb-controller.ppc64-latest.xml} (86%) delete mode 100644 tests/vircapstest.c -- 2.39.2