Hi, This series migrates all qemu-iotests away from HMP, so that the test framework no longer depends on it and can execute with --disable-hmp. This can simplify the tests, as they don't need to check/grep on stdout, HMP & QMP but can rely increasingly on QMP alone.
The series is organized as follows: preparatory patches, monitor infrastructure, test infrastructure, test migrations, cleanup. x-query-qtree (info qtree) is introduced to make test 172 migration easier, but arguably, qom-list could be extended instead. All migrated tests have been verified to pass. Signed-off-by: Marc-André Lureau <[email protected]> --- Marc-André Lureau (88): scripts/checkpatch: skip trailer checks inside patch diff build-sys: bump minimum glib version to v2.68 docs/devel: minor fix in qom documentation qom: auto-terminate interfaces array in OBJECT_DEFINE_TYPE macros qemu-io: drop "qemu-io:" prefix in error-report monitor: allow a bare Monitor qemu-print: use monitor_puts() for any non-QMP monitor block/monitor: capture x-qemu-io output qemu-iotests/iotests: filter x-qemu-io messages tests/qemu-iotests: do no interpret backslash as escape tests/qemu-iotests: filter all generated node ids qemu-iotests/216: migrate away from HMP qemu-iotests/310: migrate away from HMP qemu-iotests/283: migrate away from HMP qemu-iotests/281: migrate away from HMP qemu-iotests/reopen-file: migrate away from HMP qemu-iotests/mirror-ready-cancel-error: migrate away from HMP qemu-iotests/copy-before-write: migrate away from HMP qemu-iotests/132: migrate away from HMP qemu-iotests/152: migrate away from HMP qemu-iotests/254: migrate away from HMP qemu-iotests/264: migrate away from HMP qemu-iotests/304: migrate away from HMP qemu-iotests/300: replace hmp_qemu_io with qmp qemu-iotests/298: migrate away from HMP qemu-iotests/056: migrate away from HMP qemu-iotests/093: migrate away from HMP qemu-iotests/124: migrate away from HMP qemu-iotests/136: migrate away from HMP qemu-iotests/148: migrate away from HMP qemu-iotests/151: migrate away from HMP qemu-iotests/236: migrate away from HMP qemu-iotests/245: migrate away from HMP qemu-iotests/255: migrate away from HMP qemu-iotests/257: migrate away from HMP qemu-iotests/260: migrate away from HMP qemu-iotests/280: migrate away from HMP qemu-iotests/backup-discard-source: migrate away from HMP qemu-iotests/qsd-migrate: migrate away from HMP qemu-iotests/mirror-change-copy-mode: migrate away from HMP qemu-iotests/migrate-bitmaps-test: migrate away from HMP qemu-iotests/image-fleecing: migrate away from HMP qemu-iotests/migrate-bitmaps-postcopy: migrate away from HMP qemu-iotests/165: migrate away from HMP qemu-iotests/iothreads-create: doesn't actually depend on HMP qemu-iotests/045: remove HMP monitor dependency qemu-iotests/common: add _run_qmp_job helper qemu-iotests/007: migrate away from HMP qemu-iotests/028: migrate away from HMP qemu-iotests/225: migrate away from HMP qemu-iotests/300: migrate away from HMP qemu-iotests/286: migrate away from HMP qemu-iotests/142: migrate away from HMP qemu-iotests/146: migrate away from HMP qemu-iotests/117: migrate away from HMP qemu-iotests/119: migrate away from HMP qemu-iotests/060: migrate away from HMP qemu-iotests/071: migrate away from HMP qemu-iotests/081: migrate away from HMP qemu-iotests/102: migrate away from HMP qemu-iotests/091: migrate away from HMP qemu-iotests/120: migrate away from HMP qemu-iotests/161: migrate away from HMP qemu-iotests/249: migrate away from HMP qemu-iotests/156: migrate away from HMP qemu-iotests/write-zeroes-unmap: migrate away from HMP qemu-iotests/luks-detached-header: migrate away from HMP qemu-iotests/qcow2-internal-snapshots: migrate away from HMP qemu-iotests/185: migrate away from HMP qemu-iotests/246: migrate away from HMP qemu-iotests/274: migrate away from HMP qemu-iotests/145: migrate away from HMP qemu-iotests/068: migrate away from HMP qemu-iotests/130: migrate away from HMP qemu-iotests/153: migrate away from HMP qemu-iotests/157: migrate away from HMP qemu-iotests/181: migrate away from HMP qemu-iotests/182: migrate away from HMP qemu-iotests/186: migrate away from HMP qemu-iotests/192: migrate away from HMP qemu-iotests/201: migrate away from HMP qemu-iotests/232: migrate away from HMP qemu-iotests/267: migrate away from HMP qemu-iotests/051: migrate away from HMP qdev: add x-query-qtree QMP command qemu-iotests/172: migrate away from HMP qemu-iotests: remove HMP framework support block/monitor: redirect HMP qemu-io to HMP stream accel/tcg/cputlb.c | 4 +- backends/igvm-cfg.c | 3 +- block/monitor/block-hmp-cmds.c | 13 +- block/monitor/qmp-cmds.c | 49 +- contrib/plugins/lockstep.c | 25 - docs/devel/qom.rst | 2 +- hw/9pfs/9p-synth.c | 2 +- hw/9pfs/9p-util.h | 2 +- hw/9pfs/9p.c | 2 +- hw/acpi/core.c | 2 +- hw/acpi/pci.c | 6 +- hw/char/virtio-serial-bus.c | 23 +- hw/core/machine.c | 2 +- hw/core/reset.c | 4 +- hw/core/resetcontainer.c | 5 +- hw/core/sysbus.c | 17 +- hw/hyperv/hv-balloon.c | 2 +- hw/i386/multiboot.c | 2 +- hw/misc/auxbus.c | 22 +- hw/net/eepro100.c | 2 +- hw/nvram/fw_cfg.c | 8 +- hw/pci/pci-hmp-cmds.c | 38 -- hw/pci/pci-internal.h | 2 +- hw/pci/pci.c | 40 +- hw/ppc/pef.c | 3 +- hw/scsi/mptsas.c | 5 +- hw/usb/bus.c | 23 +- hw/vfio/pci.c | 2 +- hw/virtio/virtio-mem.c | 6 +- hw/xen/xen-bus.c | 12 +- include/glib-compat.h | 41 +- include/hw/core/qdev.h | 4 +- include/monitor/monitor.h | 2 + include/qom/object.h | 6 +- linux-user/syscall.c | 2 +- linux-user/uaccess.c | 2 +- meson.build | 2 +- monitor/hmp.c | 12 +- monitor/monitor.c | 28 +- monitor/qmp.c | 12 +- net/colo.c | 4 +- python/qemu/machine/machine.py | 7 - qapi/block.json | 3 + qapi/qapi-clone-visitor.c | 16 +- qapi/qapi-visit-core.c | 6 +- qapi/qdev.json | 31 ++ qemu-io-cmds.c | 74 +-- qemu-io.c | 4 + rust/bindings/hwcore-sys/lib.rs | 2 +- scripts/checkpatch.pl | 7 +- stubs/meson.build | 1 + stubs/monitor-puts.c | 9 + system/memory.c | 2 +- system/qdev-monitor.c | 42 +- system/qtest.c | 4 +- system/ram-block-attributes.c | 3 +- system/vl.c | 2 +- target/i386/kvm/tdx.c | 3 +- target/s390x/kvm/pv.c | 3 +- tests/qemu-iotests/004.out | 20 +- tests/qemu-iotests/007 | 25 +- tests/qemu-iotests/021.out | 60 +-- tests/qemu-iotests/026.out | 396 +++++++------- tests/qemu-iotests/026.out.nocache | 168 +++--- tests/qemu-iotests/028 | 27 +- tests/qemu-iotests/028.out | 17 +- tests/qemu-iotests/045 | 6 +- tests/qemu-iotests/051 | 75 ++- tests/qemu-iotests/051.out | 241 +++------ tests/qemu-iotests/051.pc.out | 311 +++++------ tests/qemu-iotests/056 | 21 +- tests/qemu-iotests/059.out | 6 +- tests/qemu-iotests/060 | 9 +- tests/qemu-iotests/060.out | 48 +- tests/qemu-iotests/061.out | 4 +- tests/qemu-iotests/068 | 56 +- tests/qemu-iotests/068.out | 26 +- tests/qemu-iotests/069.out | 2 +- tests/qemu-iotests/070.out | 2 +- tests/qemu-iotests/071 | 31 +- tests/qemu-iotests/071.out | 16 +- tests/qemu-iotests/072.out | 2 +- tests/qemu-iotests/075.out | 14 +- tests/qemu-iotests/076.out | 6 +- tests/qemu-iotests/078.out | 12 +- tests/qemu-iotests/080.out | 44 +- tests/qemu-iotests/081 | 11 +- tests/qemu-iotests/081.out | 12 +- tests/qemu-iotests/083.out | 104 ++-- tests/qemu-iotests/088.out | 12 +- tests/qemu-iotests/089.out | 4 +- tests/qemu-iotests/091 | 45 +- tests/qemu-iotests/092.out | 24 +- tests/qemu-iotests/093 | 15 +- tests/qemu-iotests/102 | 21 +- tests/qemu-iotests/102.out | 12 +- tests/qemu-iotests/103.out | 14 +- tests/qemu-iotests/114.out | 4 +- tests/qemu-iotests/116.out | 14 +- tests/qemu-iotests/117 | 5 +- tests/qemu-iotests/117.out | 8 +- tests/qemu-iotests/119 | 5 +- tests/qemu-iotests/119.out | 4 +- tests/qemu-iotests/120 | 5 +- tests/qemu-iotests/120.out | 4 +- tests/qemu-iotests/124 | 33 +- tests/qemu-iotests/130 | 53 +- tests/qemu-iotests/130.out | 8 +- tests/qemu-iotests/132 | 5 +- tests/qemu-iotests/133.out | 30 +- tests/qemu-iotests/134.out | 2 +- tests/qemu-iotests/136 | 7 +- tests/qemu-iotests/137.out | 30 +- tests/qemu-iotests/140.out | 2 +- tests/qemu-iotests/142 | 233 ++++---- tests/qemu-iotests/142.out | 30 +- tests/qemu-iotests/143.out | 4 +- tests/qemu-iotests/145 | 8 +- tests/qemu-iotests/145.out | 6 +- tests/qemu-iotests/146 | 5 - tests/qemu-iotests/148 | 13 +- tests/qemu-iotests/151 | 51 +- tests/qemu-iotests/152 | 5 +- tests/qemu-iotests/153 | 37 +- tests/qemu-iotests/153.out | 86 +-- tests/qemu-iotests/156 | 37 +- tests/qemu-iotests/156.out | 60 +-- tests/qemu-iotests/157 | 10 +- tests/qemu-iotests/157.out | 16 +- tests/qemu-iotests/161 | 19 +- tests/qemu-iotests/161.out | 24 +- tests/qemu-iotests/165 | 10 +- tests/qemu-iotests/171.out | 68 +-- tests/qemu-iotests/172 | 76 ++- tests/qemu-iotests/172.out | 305 +---------- tests/qemu-iotests/181 | 86 ++- tests/qemu-iotests/181.out | 36 +- tests/qemu-iotests/182 | 5 +- tests/qemu-iotests/185 | 15 +- tests/qemu-iotests/185.out | 10 +- tests/qemu-iotests/186 | 12 +- tests/qemu-iotests/186.out | 590 +++++++++------------ tests/qemu-iotests/187.out | 6 +- tests/qemu-iotests/188.out | 2 +- tests/qemu-iotests/192 | 25 +- tests/qemu-iotests/192.out | 17 +- tests/qemu-iotests/197.out | 2 +- tests/qemu-iotests/201 | 75 ++- tests/qemu-iotests/201.out | 10 +- tests/qemu-iotests/205 | 4 +- tests/qemu-iotests/214.out | 2 +- tests/qemu-iotests/215.out | 2 +- tests/qemu-iotests/216 | 6 +- tests/qemu-iotests/216.out | 3 +- tests/qemu-iotests/220.out | 2 +- tests/qemu-iotests/225 | 28 +- tests/qemu-iotests/225.out | 25 +- tests/qemu-iotests/226.out | 16 +- tests/qemu-iotests/232 | 32 +- tests/qemu-iotests/232.out | 216 ++++++-- tests/qemu-iotests/236 | 7 +- tests/qemu-iotests/236.out | 8 - tests/qemu-iotests/244.out | 22 +- tests/qemu-iotests/245 | 28 +- tests/qemu-iotests/246 | 11 +- tests/qemu-iotests/246.out | 8 +- tests/qemu-iotests/249 | 19 +- tests/qemu-iotests/249.out | 18 +- tests/qemu-iotests/254 | 4 +- tests/qemu-iotests/255 | 7 +- tests/qemu-iotests/257 | 7 +- tests/qemu-iotests/257.out | 315 ----------- tests/qemu-iotests/260 | 9 +- tests/qemu-iotests/264 | 5 +- tests/qemu-iotests/267 | 139 +++-- tests/qemu-iotests/267.out | 447 ++++++++++++---- tests/qemu-iotests/271.out | 14 +- tests/qemu-iotests/274 | 14 +- tests/qemu-iotests/274.out | 26 - tests/qemu-iotests/280 | 3 +- tests/qemu-iotests/280.out | 3 +- tests/qemu-iotests/281 | 11 +- tests/qemu-iotests/283 | 4 +- tests/qemu-iotests/283.out | 4 +- tests/qemu-iotests/286 | 15 +- tests/qemu-iotests/286.out | 8 +- tests/qemu-iotests/289.out | 2 +- tests/qemu-iotests/293.out | 30 +- tests/qemu-iotests/294.out | 4 +- tests/qemu-iotests/298 | 9 +- tests/qemu-iotests/300 | 34 +- tests/qemu-iotests/304 | 7 +- tests/qemu-iotests/305.out | 2 +- tests/qemu-iotests/307.out | 2 +- tests/qemu-iotests/310 | 6 +- tests/qemu-iotests/310.out | 3 +- tests/qemu-iotests/common.filter | 9 +- tests/qemu-iotests/common.qemu | 58 +- tests/qemu-iotests/common.rc | 8 - tests/qemu-iotests/iotests.py | 40 +- tests/qemu-iotests/tests/backup-discard-source | 15 +- tests/qemu-iotests/tests/copy-before-write | 130 +++-- tests/qemu-iotests/tests/file-io-error.out | 2 +- tests/qemu-iotests/tests/image-fleecing | 5 +- tests/qemu-iotests/tests/image-fleecing.out | 32 +- tests/qemu-iotests/tests/inactive-node-nbd.out | 10 +- tests/qemu-iotests/tests/iothreads-create | 3 +- tests/qemu-iotests/tests/luks-detached-header | 49 +- .../tests/migrate-bitmaps-postcopy-test | 5 +- tests/qemu-iotests/tests/migrate-bitmaps-test | 7 +- tests/qemu-iotests/tests/mirror-change-copy-mode | 15 +- tests/qemu-iotests/tests/mirror-ready-cancel-error | 7 +- tests/qemu-iotests/tests/nbd-reconnect-on-open.out | 4 +- tests/qemu-iotests/tests/parallels-bitmap.out | 4 +- tests/qemu-iotests/tests/parallels-checks.out | 4 +- tests/qemu-iotests/tests/qcow2-internal-snapshots | 226 ++++++-- .../tests/qcow2-internal-snapshots.out | 175 +++--- tests/qemu-iotests/tests/qsd-migrate | 23 +- tests/qemu-iotests/tests/qsd-migrate.out | 44 +- tests/qemu-iotests/tests/reopen-file | 12 +- tests/qemu-iotests/tests/write-zeroes-unmap | 42 +- tests/qemu-iotests/tests/write-zeroes-unmap.out | 80 +-- util/error-report.c | 2 +- util/qemu-print.c | 16 +- 224 files changed, 3658 insertions(+), 3754 deletions(-) --- base-commit: 67166d97a3269285aa68c489f85c9ccdf78495e1 change-id: 20260921-nohmp-e0dff1582929 Best regards, -- Marc-André Lureau <[email protected]>
