diff options
author | Markus Armbruster <armbru@redhat.com> | 2019-10-24 13:02:20 +0200 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2019-10-29 07:35:16 +0100 |
commit | 717cfcfae6df46c82b1ae191ec7ae6e0e288c914 (patch) | |
tree | fa73bcae84d677900b227f6c3fa3f9d5d86a72dc /tests | |
parent | f035b47e3f461e04e36e709aaad8bc8048b5f739 (diff) | |
download | qemu-717cfcfae6df46c82b1ae191ec7ae6e0e288c914.zip qemu-717cfcfae6df46c82b1ae191ec7ae6e0e288c914.tar.gz qemu-717cfcfae6df46c82b1ae191ec7ae6e0e288c914.tar.bz2 |
tests/qapi-schema: Demonstrate command and event doc comment bugs
Add negative tests doc-bad-boxed-command-arg and doc-bad-event-arg to
cover boxed and no arguments. They demonstrate insufficient doc
comment checking.
Update positive test doc-good to cover boxed event arguments. It
demonstrates the generated doc comment misses arguments.
These bugs will be fixed later in this series.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20191024110237.30963-3-armbru@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.include | 2 | ||||
-rw-r--r-- | tests/qapi-schema/doc-bad-boxed-command-arg.err | 0 | ||||
-rw-r--r-- | tests/qapi-schema/doc-bad-boxed-command-arg.json | 15 | ||||
-rw-r--r-- | tests/qapi-schema/doc-bad-boxed-command-arg.out | 26 | ||||
-rw-r--r-- | tests/qapi-schema/doc-bad-event-arg.err | 0 | ||||
-rw-r--r-- | tests/qapi-schema/doc-bad-event-arg.json | 8 | ||||
-rw-r--r-- | tests/qapi-schema/doc-bad-event-arg.out | 19 | ||||
-rw-r--r-- | tests/qapi-schema/doc-good.json | 7 | ||||
-rw-r--r-- | tests/qapi-schema/doc-good.out | 5 | ||||
-rw-r--r-- | tests/qapi-schema/doc-good.texi | 8 |
10 files changed, 90 insertions, 0 deletions
diff --git a/tests/Makefile.include b/tests/Makefile.include index ca2a0cb..237e5ac 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -341,8 +341,10 @@ 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-boxed-command-arg.json qapi-schema += doc-bad-command-arg.json qapi-schema += doc-bad-enum-member.json +qapi-schema += doc-bad-event-arg.json qapi-schema += doc-bad-feature.json qapi-schema += doc-bad-section.json qapi-schema += doc-bad-symbol.json diff --git a/tests/qapi-schema/doc-bad-boxed-command-arg.err b/tests/qapi-schema/doc-bad-boxed-command-arg.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/qapi-schema/doc-bad-boxed-command-arg.err diff --git a/tests/qapi-schema/doc-bad-boxed-command-arg.json b/tests/qapi-schema/doc-bad-boxed-command-arg.json new file mode 100644 index 0000000..2c265d2 --- /dev/null +++ b/tests/qapi-schema/doc-bad-boxed-command-arg.json @@ -0,0 +1,15 @@ +# Boxed arguments are not to be documented with the command +# BUG: not rejected + +## +# @Args: +# @a: an argument +## +{ 'struct': 'Args', 'data': { 'a': 'int' } } + +## +# @cmd-boxed: +# @a: bogus +## +{ 'command': 'cmd-boxed', 'boxed': true, + 'data': 'Args' } diff --git a/tests/qapi-schema/doc-bad-boxed-command-arg.out b/tests/qapi-schema/doc-bad-boxed-command-arg.out new file mode 100644 index 0000000..4ccd788 --- /dev/null +++ b/tests/qapi-schema/doc-bad-boxed-command-arg.out @@ -0,0 +1,26 @@ +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-boxed-command-arg.json +object Args + member a: int optional=False +command cmd-boxed Args -> None + gen=True success_response=True boxed=True oob=False preconfig=False +doc symbol=Args + body= + + arg=a +an argument +doc symbol=cmd-boxed + body= + + arg=a +bogus diff --git a/tests/qapi-schema/doc-bad-event-arg.err b/tests/qapi-schema/doc-bad-event-arg.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/qapi-schema/doc-bad-event-arg.err diff --git a/tests/qapi-schema/doc-bad-event-arg.json b/tests/qapi-schema/doc-bad-event-arg.json new file mode 100644 index 0000000..80d4e12 --- /dev/null +++ b/tests/qapi-schema/doc-bad-event-arg.json @@ -0,0 +1,8 @@ +# Arguments listed in the doc comment must exist in the actual schema +# BUG: nonexistent @a is not rejected + +## +# @FOO: +# @a: a +## +{ 'event': 'FOO' } diff --git a/tests/qapi-schema/doc-bad-event-arg.out b/tests/qapi-schema/doc-bad-event-arg.out new file mode 100644 index 0000000..ad0367c --- /dev/null +++ b/tests/qapi-schema/doc-bad-event-arg.out @@ -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-bad-event-arg.json +event FOO None + boxed=False +doc symbol=FOO + body= + + arg=a +a diff --git a/tests/qapi-schema/doc-good.json b/tests/qapi-schema/doc-good.json index 7dc21e5..1ae6c3a 100644 --- a/tests/qapi-schema/doc-good.json +++ b/tests/qapi-schema/doc-good.json @@ -149,3 +149,10 @@ { 'command': 'cmd-boxed', 'boxed': true, 'data': 'Object', 'features': [ 'cmd-feat1', 'cmd-feat2' ] } + +## +# @EVT-BOXED: +# BUG: generated doc misses arguments +## +{ 'event': 'EVT-BOXED', 'boxed': true, + 'data': 'Object' } diff --git a/tests/qapi-schema/doc-good.out b/tests/qapi-schema/doc-good.out index f78fdef..a8fc39d 100644 --- a/tests/qapi-schema/doc-good.out +++ b/tests/qapi-schema/doc-good.out @@ -54,6 +54,8 @@ command cmd-boxed Object -> None gen=True success_response=True boxed=True oob=False preconfig=False feature cmd-feat1 feature cmd-feat2 +event EVT-BOXED Object + boxed=True doc freeform body= = Section @@ -170,3 +172,6 @@ If you're bored enough to read this, go see a video of boxed cats -> in <- out +doc symbol=EVT-BOXED + body= +BUG: generated doc misses arguments diff --git a/tests/qapi-schema/doc-good.texi b/tests/qapi-schema/doc-good.texi index 2ce8b88..d6ecdac 100644 --- a/tests/qapi-schema/doc-good.texi +++ b/tests/qapi-schema/doc-good.texi @@ -258,3 +258,11 @@ another feature @end deftypefn + + +@deftypefn Event {} EVT-BOXED + +BUG: generated doc misses arguments + +@end deftypefn + |