tests/qapi-schema: Improve coverage of bogus member docs

New test doc-bad-union-member.json shows we can fail to reject
documentation for nonexistent members.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <1489582656-31133-37-git-send-email-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2017-03-15 13:57:25 +01:00
parent bdc001caaa
commit f641d06ad6
9 changed files with 44 additions and 0 deletions

View File

@ -367,8 +367,10 @@ qapi-schema += base-cycle-direct.json
qapi-schema += base-cycle-indirect.json
qapi-schema += command-int.json
qapi-schema += comments.json
qapi-schema += doc-bad-alternate-member.json
qapi-schema += doc-bad-command-arg.json
qapi-schema += doc-bad-symbol.json
qapi-schema += doc-bad-union-member.json
qapi-schema += doc-before-include.json
qapi-schema += doc-before-pragma.json
qapi-schema += doc-duplicated-arg.json

View File

@ -0,0 +1 @@
tests/qapi-schema/doc-bad-alternate-member.json:3: The following documented members are not in the declaration: aa, bb

View File

@ -0,0 +1 @@
1

View File

@ -0,0 +1,9 @@
# Arguments listed in the doc comment must exist in the actual schema
##
# @AorB:
# @aa: a
# @bb: b
##
{ 'alternate': 'AorB',
'data': { 'a': 'str', 'b': 'int' } }

View File

@ -0,0 +1 @@
0

View File

@ -0,0 +1,19 @@
# Arguments listed in the doc comment must exist in the actual schema
##
# @Frob:
# @a: a
# @b: b
##
{ 'union': 'Frob',
'base': 'Base',
'discriminator': 'type',
'data': { 'nothing': 'Empty' } }
{ 'struct': 'Base',
'data': { 'type': 'T' } }
{ 'struct': 'Empty',
'data': { } }
{ 'enum': 'T', 'data': ['nothing'] }

View File

@ -0,0 +1,11 @@
object Base
member type: T optional=False
object Empty
object Frob
base Base
tag type
case nothing: Empty
enum QType ['none', 'qnull', 'qint', 'qstring', 'qdict', 'qlist', 'qfloat', 'qbool']
prefix QTYPE
enum T ['nothing']
object q_empty