Eric Blake <ebl...@redhat.com> writes: > The previous commit demonstrated that the generator had several > flaws with less-than-perfect enums: > - an enum that listed the same string twice (or two variant > strings that map to the same C enumerator) ended up generating > an invalid C enum > - because the generator adds a _MAX terminator to each enum, > the use of an enum member 'max' can also cause this clash > - if an enum omits 'data', the generator left a python stack > trace rather than a graceful message > - an enum that used a non-array 'data' was silently accepted by > the parser > - an enum that used non-string members in the 'data' member > was silently accepted by the parser > > Add check_enum to cover these situations, and update testcases > to match. While valid .json files won't trigger any of these > cases, we might as well be nicer to developers that make a typo > while trying to add new QAPI code. > > Signed-off-by: Eric Blake <ebl...@redhat.com>
Reviewed-by: Markus Armbruster <arm...@redhat.com>