tests/qapi-schema: Demonstrate feature and enum doc comment bugs

Add negative tests doc-bad-enum-member and doc-bad-feature to cover
documentation for nonexistent enum members and features, and test
doc-undoc-feature to cover features lacking documentation.  None of
them works.  To be fixed later in this series.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20191024110237.30963-2-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2019-10-24 13:02:19 +02:00
parent aaffb85335
commit f035b47e3f
10 changed files with 89 additions and 0 deletions

View File

@ -342,6 +342,8 @@ qapi-schema += command-int.json
qapi-schema += comments.json qapi-schema += comments.json
qapi-schema += doc-bad-alternate-member.json qapi-schema += doc-bad-alternate-member.json
qapi-schema += doc-bad-command-arg.json qapi-schema += doc-bad-command-arg.json
qapi-schema += doc-bad-enum-member.json
qapi-schema += doc-bad-feature.json
qapi-schema += doc-bad-section.json qapi-schema += doc-bad-section.json
qapi-schema += doc-bad-symbol.json qapi-schema += doc-bad-symbol.json
qapi-schema += doc-bad-union-member.json qapi-schema += doc-bad-union-member.json
@ -365,6 +367,7 @@ qapi-schema += doc-missing-expr.json
qapi-schema += doc-missing-space.json qapi-schema += doc-missing-space.json
qapi-schema += doc-missing.json qapi-schema += doc-missing.json
qapi-schema += doc-no-symbol.json qapi-schema += doc-no-symbol.json
qapi-schema += doc-undoc-feature.json
qapi-schema += double-type.json qapi-schema += double-type.json
qapi-schema += duplicate-key.json qapi-schema += duplicate-key.json
qapi-schema += empty.json qapi-schema += empty.json

View File

@ -0,0 +1,9 @@
# Members listed in the doc comment must exist in the actual schema
# BUG: nonexistent @a is not rejected
##
# @Foo:
# @a: a
# @b: b
##
{ 'enum': 'Foo', 'data': [ 'b' ] }

View File

@ -0,0 +1,21 @@
module None
object q_empty
enum QType
prefix QTYPE
member none
member qnull
member qnum
member qstring
member qdict
member qlist
member qbool
module doc-bad-enum-member.json
enum Foo
member b
doc symbol=Foo
body=
arg=a
a
arg=b
b

View File

View File

@ -0,0 +1,10 @@
# Features listed in the doc comment must exist in the actual schema
# BUG: nonexistent @a is not rejected
##
# @foo:
#
# Features:
# @a: a
##
{ 'command': 'foo' }

View File

@ -0,0 +1,17 @@
module None
object q_empty
enum QType
prefix QTYPE
member none
member qnull
member qnum
member qstring
member qdict
member qlist
member qbool
module doc-bad-feature.json
command foo None -> None
gen=True success_response=True boxed=False oob=False preconfig=False
doc symbol=foo
body=

View File

View File

@ -0,0 +1,10 @@
# Doc comment must cover all features
# BUG: missing documentation for @undoc not caught
##
# @foo:
#
# Features:
# @doc: documented feature
##
{ 'command': 'foo', 'features': ['undoc', 'doc'] }

View File

@ -0,0 +1,19 @@
module None
object q_empty
enum QType
prefix QTYPE
member none
member qnull
member qnum
member qstring
member qdict
member qlist
member qbool
module doc-undoc-feature.json
command foo None -> None
gen=True success_response=True boxed=False oob=False preconfig=False
feature undoc
feature doc
doc symbol=foo
body=