[PATCH 00/31] qemu capability testing cleanups and improvements (part 3)

Peter Krempa pkrempa at redhat.com
Thu Mar 30 13:37:54 UTC 2023


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



More information about the libvir-list mailing list