qapi: Reject multiple and empty feature descriptions
authorMarkus Armbruster <armbru@redhat.com>
Fri, 16 Feb 2024 14:58:39 +0000 (15:58 +0100)
committerMarkus Armbruster <armbru@redhat.com>
Mon, 26 Feb 2024 09:43:56 +0000 (10:43 +0100)
commit629c5075aa6fb853855256cd7d380903e9b7ffbc
treedd3f55dd787f40100652cecee3ff3a5312de0bbf
parent3d035cd2cca66488f6f478a93b231c302466116b
qapi: Reject multiple and empty feature descriptions

The parser recognizes only the first "Features:" line.  Any subsequent
ones are treated as ordinary text, as visible in test case
doc-duplicate-features.  Recognize "Features:" lines anywhere.  A
second one is an error.

A 'Features:' line without any features is useless, but not an error.
Make it an error.  This makes detecting a second "Features:" line
easier.

qapi/run-state.json actually has an instance of this since commit
fe17522d854 (qapi: Remove deprecated 'singlestep' member of
StatusInfo).  Clean it up.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-16-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
qapi/run-state.json
scripts/qapi/parser.py
tests/qapi-schema/doc-duplicate-features.err
tests/qapi-schema/doc-duplicate-features.out
tests/qapi-schema/doc-empty-features.err
tests/qapi-schema/doc-empty-features.out