This series is based on Markus' effort to add 'feature'
flags to enum
values so that e.g. they can be deprecated:
https://listman.redhat.com/archives/libvir-list/2021-September/msg00453.html
This series adapts both the schema query language to support querying
for arbitrary feature flags and also the schema validator to reject
deprecated enum values.
Libvirt didn't use any deprecated value for now so to see that this
really works you can fetch this series including patches which show it's
working (tests fail):
git fetch
https://gitlab.com/pipo.sk/libvirt.git qemu-deprecate-enum
The above branch also demonstrates that parsing from the new arrays
produces identical results as it has updated qemu capabilities.
This series is RFC as it's waiting for the qemu additions first.
Peter Krempa (7):
virQEMUQAPISchemaTraverseEnum: Move helper variables into loop
virQEMUQAPISchemaTraverseEnum: Use the modern 'members' array
virQEMUQAPISchemaTraverseEnum: Allow query of enume type features
testQEMUSchemaValidateEnum: Refactor logic to simplify switching to
new QMP schema format
testQEMUSchemaValidateEnum: Use new 'members' for 'enum' meta type
testQEMUSchemaValidateDeprecated: Move to the top
testQEMUSchemaValidateEnum: Validate deprecated members
src/qemu/qemu_qapi.c | 46 +++++++++++--
tests/testutilsqemuschema.c | 130 +++++++++++++++++++++---------------
2 files changed, 117 insertions(+), 59 deletions(-)