qapi: improve reporting of unknown or missing keys

Report the set of missing or unknown keys. And give a hint about the
accepted keys.

The error message for multiple meta type members (visible in
tests/qapi-schema/double-type.err) is not improved.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20181213123724.4866-6-marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
Marc-André Lureau authored and Markus Armbruster committed 2018-12-13 19:20:11 +01:00
1 parent 563bd35d87
commit 7e80d48001
5 files changed
+19 -9

No files matched your search

+1
View File
@@ -1 +1,2 @@
tests/qapi-schema/alternate-base.json:4: Unknown key 'base' in alternate 'Alt'
Valid keys are 'alternate', 'data', 'if'.
+1
View File
@@ -1 +1,2 @@
tests/qapi-schema/double-type.json:2: Unknown key 'command' in struct 'bar'
Valid keys are 'base', 'data', 'if', 'struct'.
+2 -1
View File
@@ -1 +1,2 @@
tests/qapi-schema/unknown-expr-key.json:2: Unknown key 'bogus' in struct 'bar'
tests/qapi-schema/unknown-expr-key.json:2: Unknown keys 'bogus', 'phony' in struct 'bar'
Valid keys are 'base', 'data', 'if', 'struct'.
+1 -1
View File
@@ -1,2 +1,2 @@
# we reject an expression with unknown top-level keys
{ 'struct': 'bar', 'data': { 'string': 'str'}, 'bogus': { } }
{ 'struct': 'bar', 'data': { 'string': 'str'}, 'bogus': { }, 'phony': { } }