libvirt/scripts
Peter Krempa e355ea422d qemu-replies-tool: Add mode to dump all QMP schema query strings
Make the tool useful also for non-testing purposes by adding 'dump'
mode, which will process the data and output information about the qemu
version.

The first 'dump' mode produces all possible valid query strings per
virQEMUQAPISchemaPathGet/virQEMUCapsQMPSchemaQueries. This is useful for
users to look up a query string via 'grep' rather than trying to come up
with it manually.

Additionally the data as represented by qemu changes naming very often
and that makes it un-reviewable to find changes between two qemu builds.
By using the dump mode, which produces results in stable order we can
use it to 'diff' two .replies file without churn.

Sample output '[...]' denotes an arbitrary trim:

$ ./scripts/qemu-replies-tool.py tests/qemucapabilitiesdata/caps_9.0.0_x86_64.replies --dump-qmp-query-strings
[...]
(qmp) blockdev-add
(qmp) blockdev-add/arg-type/auto-read-only
(qmp) blockdev-add/arg-type/auto-read-only/!bool
(qmp) blockdev-add/arg-type/cache
(qmp) blockdev-add/arg-type/cache/direct
(qmp) blockdev-add/arg-type/cache/direct/!bool
(qmp) blockdev-add/arg-type/cache/no-flush
(qmp) blockdev-add/arg-type/cache/no-flush/!bool
(qmp) blockdev-add/arg-type/detect-zeroes
(qmp) blockdev-add/arg-type/detect-zeroes/^off
(qmp) blockdev-add/arg-type/detect-zeroes/^on
(qmp) blockdev-add/arg-type/detect-zeroes/^unmap
[...]
(qmp) blockdev-add/arg-type/driver
(qmp) blockdev-add/arg-type/driver/^blkdebug
(qmp) blockdev-add/arg-type/driver/^blklogwrites
(qmp) blockdev-add/arg-type/driver/^blkreplay
(qmp) blockdev-add/arg-type/driver/^blkverify
(qmp) blockdev-add/arg-type/driver/^bochs
(qmp) blockdev-add/arg-type/driver/^cloop
[...]
(qmp) blockdev-add/arg-type/+blkdebug
(qmp) blockdev-add/arg-type/+blkdebug/align
(qmp) blockdev-add/arg-type/+blkdebug/align/!int
(qmp) blockdev-add/arg-type/+blkdebug/config
(qmp) blockdev-add/arg-type/+blkdebug/config/!str
(qmp) blockdev-add/arg-type/+blkdebug/image
(qmp) blockdev-add/arg-type/+blkdebug/image (recursion)
(qmp) blockdev-add/arg-type/+blkdebug/image/!str
(qmp) blockdev-add/arg-type/+blkdebug/inject-error

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
2024-02-01 10:54:56 +01:00
..
rpcgen rpcgen: Skip generator tests on macOS 2023-12-01 13:50:19 +01:00
apibuild.py scripts: Fix the flake8 syntax-check failures 2023-06-29 11:51:27 +02:00
augeas-gentest.py build: only support python3 binary 2019-12-04 13:13:01 +00:00
check-aclperms.py build: only support python3 binary 2019-12-04 13:13:01 +00:00
check-aclrules.py scripts/check-aclrules.py: check ACL for domain_driver.c ACL callers 2021-02-17 15:56:53 -03:00
check-driverimpls.py build: only support python3 binary 2019-12-04 13:13:01 +00:00
check-drivername.py libvirt: add stateShutdownPrepare/stateShutdownWait to drivers 2020-09-07 09:33:58 +03:00
check-file-access.py meson: tests: add file access test setup 2020-08-03 09:27:06 +02:00
check-html-references.py scripts: Fix the flake8 syntax-check failures 2023-06-29 11:51:27 +02:00
check-pot.py scripts: Fix the flake8 syntax-check failures 2023-06-29 11:51:27 +02:00
check-remote-protocol.py scripts: ignore whitespace in pdwtags output 2020-12-02 10:30:01 +00:00
check-symfile.py scripts: Make check-symfile.py work on alpha 2024-01-30 18:05:15 +01:00
check-symsorting.py build: only support python3 binary 2019-12-04 13:13:01 +00:00
cocci-macro-file.h lib: Use G_NO_INLINE instead of G_GNUC_NO_INLINE 2022-07-18 17:23:15 +02:00
dtrace2systemtap.py build: only support python3 binary 2019-12-04 13:13:01 +00:00
esx_vi_generator.py scripts: Fix the flake8 syntax-check failures 2023-06-29 11:51:27 +02:00
genaclperms.py docs: ACL: Mention the ACL object name along with the corresponding libvirt object name 2023-02-20 18:26:47 +01:00
genpolkit.py build: only support python3 binary 2019-12-04 13:13:01 +00:00
gensystemtap.py build: only support python3 binary 2019-12-04 13:13:01 +00:00
group-qemu-caps.py scripts: group-qemu-caps: Add capability name as comment to capability string 2021-08-18 09:37:09 +02:00
header-ifdef.py build: only support python3 binary 2019-12-04 13:13:01 +00:00
hvsupport.py scripts: Fix the flake8 syntax-check failures 2023-06-29 11:51:27 +02:00
hyperv_wmi_generator.py scripts: Fix the flake8 syntax-check failures 2023-06-29 11:51:27 +02:00
merge-systemd-units.py systemd: Allow comments at the top of units 2023-10-25 12:19:32 +02:00
meson-dist.py scripts: Fix the flake8 syntax-check failures 2023-06-29 11:51:27 +02:00
meson-gen-authors.py AUTHORS: Convert to reStructuredText 2020-09-02 13:20:03 +02:00
meson-gen-def.py meson: scripts: introduce meson-gen-def.py script 2020-08-03 09:27:04 +02:00
meson-gen-sym.py meson: scripts: introduce meson-gen-sym.py script 2020-08-03 09:27:04 +02:00
meson-install-dirs.py meson: src: install empty directories 2020-08-03 09:27:05 +02:00
meson-install-symlink.py scripts: Fix meson-install-symlink.py overwriting existing links 2020-08-05 13:11:16 +02:00
meson-install-web.py scripts: Add $DESTDIR support to meson-install-web.py 2022-08-11 14:01:55 +02:00
meson-python.sh meson: add runutf8 env vars and meson-python.sh script 2020-08-03 09:27:00 +02:00
meson-timestamp.py scripts: Fix the flake8 syntax-check failures 2023-06-29 11:51:27 +02:00
meson.build scripts: Add 'qemu-replies-tool' script for testing and modifying data for qemucapabilitiestest 2024-02-01 10:39:40 +01:00
mock-noinline.py lib: Use G_NO_INLINE instead of G_GNUC_NO_INLINE 2022-07-18 17:23:15 +02:00
prohibit-duplicate-header.py build: only support python3 binary 2019-12-04 13:13:01 +00:00
qemu-replies-tool.py qemu-replies-tool: Add mode to dump all QMP schema query strings 2024-02-01 10:54:56 +01:00