Apart from having just one place to fix when changing chardev backends this also adds validation against the schema so we can spot deprecations early. Peter Krempa (8): qemu: capabilities: Explain that QEMU_CAPS_CHARDEV_JSON will be used in tests only qemuxmlconftest: Add 'chardev-backends' test case qemu: Introduce unified chardev backend config generator qemuxmlconftest: Add support for validating schema for 'chardev-add' qemuxmlconftest: Add test case for QMP schema validation of -chardev backends qemu: Move check for chardev backends which can't be hotplugged out of the monitor qemu: Use the new chardev backend JSON props generator also in the monitor qemu: monitor: Remove the old chardev backend generator src/qemu/meson.build | 1 + src/qemu/qemu_block.c | 9 +- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_chardev.c | 488 ++++++++++++++++++ src/qemu/qemu_chardev.h | 22 + src/qemu/qemu_command.c | 202 +------- src/qemu/qemu_hotplug.c | 51 +- src/qemu/qemu_monitor.c | 8 +- src/qemu/qemu_monitor.h | 4 +- src/qemu/qemu_monitor_json.c | 273 +--------- src/qemu/qemu_monitor_json.h | 4 +- tests/qemumonitorjsontest.c | 23 +- .../chardev-backends-json.x86_64-latest.args | 79 +++ .../chardev-backends-json.x86_64-latest.xml | 1 + .../qemuxmlconfdata/chardev-backends-json.xml | 1 + .../chardev-backends.x86_64-latest.args | 79 +++ .../chardev-backends.x86_64-latest.xml | 149 ++++++ tests/qemuxmlconfdata/chardev-backends.xml | 111 ++++ tests/qemuxmlconftest.c | 7 + 19 files changed, 1026 insertions(+), 488 deletions(-) create mode 100644 src/qemu/qemu_chardev.c create mode 100644 src/qemu/qemu_chardev.h create mode 100644 tests/qemuxmlconfdata/chardev-backends-json.x86_64-latest.args create mode 120000 tests/qemuxmlconfdata/chardev-backends-json.x86_64-latest.xml create mode 120000 tests/qemuxmlconfdata/chardev-backends-json.xml create mode 100644 tests/qemuxmlconfdata/chardev-backends.x86_64-latest.args create mode 100644 tests/qemuxmlconfdata/chardev-backends.x86_64-latest.xml create mode 100644 tests/qemuxmlconfdata/chardev-backends.xml -- 2.46.0