[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 597494: qapi2texi: change texi formatters
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 597494: qapi2texi: change texi formatters |
Date: |
Thu, 16 Mar 2017 07:15:12 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 597494abdefc68991b41cfda03801a496c9fcc4e
https://github.com/qemu/qemu/commit/597494abdefc68991b41cfda03801a496c9fcc4e
Author: Marc-André Lureau <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: change texi formatters
STRUCT_FMT is generic enough, rename it to TYPE_FMT, use it for unions.
Rename COMMAND_FMT to MSG_FMT, since it applies to both commands and
events.
Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Commit: f880cd6b6f3fe7847cde3bec1fa98891c92229d2
https://github.com/qemu/qemu/commit/f880cd6b6f3fe7847cde3bec1fa98891c92229d2
Author: Daniel P. Berrange <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qmp/qmp-shell
Log Message:
-----------
qmp: allow setting properties to empty string in qmp-shell
The qmp-shell property parser currently rejects attempts to
set string properties to the empty string eg
(QEMU) migrate-set-parameters tls-hostname=
Error while parsing command line: Expected a key=value pair, got
'tls-hostname='
command format: <command-name> [arg-name1=arg1] ... [arg-nameN=argN]
This is caused by checking the wrong condition after splitting
the parameter on '='. The "partition" method will return "" for
the separator field, if the seperator was not present, so that
is the correct thing to check for malformed syntax.
Signed-off-by: Daniel P. Berrange <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Commit: e04dea88727c2ac97091333ac8be6af5952634a7
https://github.com/qemu/qemu/commit/e04dea88727c2ac97091333ac8be6af5952634a7
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: Factor QAPISchemaParser._include() out of .__init__()
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Commit: bc52d03ff589a033843b4603cfdfd1518867c626
https://github.com/qemu/qemu/commit/bc52d03ff589a033843b4603cfdfd1518867c626
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M docs/qapi-code-gen.txt
M qapi-schema.json
M qga/qapi-schema.json
M scripts/qapi.py
M scripts/qapi2texi.py
M tests/Makefile.include
A tests/qapi-schema/doc-missing.err
A tests/qapi-schema/doc-missing.exit
A tests/qapi-schema/doc-missing.json
A tests/qapi-schema/doc-missing.out
A tests/qapi-schema/include-extra-junk.err
A tests/qapi-schema/include-extra-junk.exit
A tests/qapi-schema/include-extra-junk.json
A tests/qapi-schema/include-extra-junk.out
A tests/qapi-schema/pragma-doc-required-crap.err
A tests/qapi-schema/pragma-doc-required-crap.exit
A tests/qapi-schema/pragma-doc-required-crap.json
A tests/qapi-schema/pragma-doc-required-crap.out
A tests/qapi-schema/pragma-extra-junk.err
A tests/qapi-schema/pragma-extra-junk.exit
A tests/qapi-schema/pragma-extra-junk.json
A tests/qapi-schema/pragma-extra-junk.out
A tests/qapi-schema/pragma-non-dict.err
A tests/qapi-schema/pragma-non-dict.exit
A tests/qapi-schema/pragma-non-dict.json
A tests/qapi-schema/pragma-non-dict.out
Log Message:
-----------
qapi: Make doc comments optional where we don't need them
Since we added the documentation generator in commit 3313b61, doc
comments are mandatory. That's a very good idea for a schema that
needs to be documented, but has proven to be annoying for testing.
Make doc comments optional again, but add a new directive
{ 'pragma': { 'doc-required': true } }
to let a QAPI schema require them.
Add test cases for the new pragma directive. While there, plug a
minor hole in includ directive test coverage.
Require documentation in the schemas we actually want documented:
qapi-schema.json and qga/qapi-schema.json.
We could probably make qapi2texi.py cope with incomplete
documentation, but for now, simply make it refuse to run unless the
schema has 'doc-required': true.
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
[qapi-code-gen.txt wording tweaked]
Reviewed-by: Eric Blake <address@hidden>
Commit: 87c16dcecae62ce324ba6cb360b86434cb324c95
https://github.com/qemu/qemu/commit/87c16dcecae62ce324ba6cb360b86434cb324c95
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M tests/qapi-schema/alternate-any.err
M tests/qapi-schema/alternate-any.json
M tests/qapi-schema/alternate-array.err
M tests/qapi-schema/alternate-array.json
M tests/qapi-schema/alternate-base.err
M tests/qapi-schema/alternate-base.json
M tests/qapi-schema/alternate-clash.err
M tests/qapi-schema/alternate-clash.json
M tests/qapi-schema/alternate-conflict-dict.err
M tests/qapi-schema/alternate-conflict-dict.json
M tests/qapi-schema/alternate-conflict-string.err
M tests/qapi-schema/alternate-conflict-string.json
M tests/qapi-schema/alternate-empty.err
M tests/qapi-schema/alternate-empty.json
M tests/qapi-schema/alternate-nested.err
M tests/qapi-schema/alternate-nested.json
M tests/qapi-schema/alternate-unknown.err
M tests/qapi-schema/alternate-unknown.json
M tests/qapi-schema/args-alternate.err
M tests/qapi-schema/args-alternate.json
M tests/qapi-schema/args-any.err
M tests/qapi-schema/args-any.json
M tests/qapi-schema/args-array-empty.err
M tests/qapi-schema/args-array-empty.json
M tests/qapi-schema/args-array-unknown.err
M tests/qapi-schema/args-array-unknown.json
M tests/qapi-schema/args-bad-boxed.err
M tests/qapi-schema/args-bad-boxed.json
M tests/qapi-schema/args-boxed-anon.err
M tests/qapi-schema/args-boxed-anon.json
M tests/qapi-schema/args-boxed-empty.err
M tests/qapi-schema/args-boxed-empty.json
M tests/qapi-schema/args-boxed-string.err
M tests/qapi-schema/args-boxed-string.json
M tests/qapi-schema/args-int.err
M tests/qapi-schema/args-int.json
M tests/qapi-schema/args-invalid.err
M tests/qapi-schema/args-invalid.json
M tests/qapi-schema/args-member-array-bad.err
M tests/qapi-schema/args-member-array-bad.json
M tests/qapi-schema/args-member-case.err
M tests/qapi-schema/args-member-case.json
M tests/qapi-schema/args-member-unknown.err
M tests/qapi-schema/args-member-unknown.json
M tests/qapi-schema/args-name-clash.err
M tests/qapi-schema/args-name-clash.json
M tests/qapi-schema/args-union.err
M tests/qapi-schema/args-union.json
M tests/qapi-schema/args-unknown.err
M tests/qapi-schema/args-unknown.json
M tests/qapi-schema/bad-base.err
M tests/qapi-schema/bad-base.json
M tests/qapi-schema/bad-data.err
M tests/qapi-schema/bad-data.json
M tests/qapi-schema/bad-ident.err
M tests/qapi-schema/bad-ident.json
M tests/qapi-schema/bad-type-bool.err
M tests/qapi-schema/bad-type-bool.json
M tests/qapi-schema/bad-type-dict.err
M tests/qapi-schema/bad-type-dict.json
M tests/qapi-schema/base-cycle-direct.err
M tests/qapi-schema/base-cycle-direct.json
M tests/qapi-schema/base-cycle-indirect.err
M tests/qapi-schema/base-cycle-indirect.json
M tests/qapi-schema/command-int.err
M tests/qapi-schema/command-int.json
M tests/qapi-schema/comments.json
M tests/qapi-schema/comments.out
M tests/qapi-schema/double-type.err
M tests/qapi-schema/double-type.json
M tests/qapi-schema/enum-bad-name.err
M tests/qapi-schema/enum-bad-name.json
M tests/qapi-schema/enum-bad-prefix.err
M tests/qapi-schema/enum-bad-prefix.json
M tests/qapi-schema/enum-clash-member.err
M tests/qapi-schema/enum-clash-member.json
M tests/qapi-schema/enum-dict-member.err
M tests/qapi-schema/enum-dict-member.json
M tests/qapi-schema/enum-member-case.err
M tests/qapi-schema/enum-member-case.json
M tests/qapi-schema/enum-missing-data.err
M tests/qapi-schema/enum-missing-data.json
M tests/qapi-schema/enum-wrong-data.err
M tests/qapi-schema/enum-wrong-data.json
M tests/qapi-schema/event-boxed-empty.err
M tests/qapi-schema/event-boxed-empty.json
M tests/qapi-schema/event-case.json
M tests/qapi-schema/event-case.out
M tests/qapi-schema/event-nest-struct.err
M tests/qapi-schema/event-nest-struct.json
M tests/qapi-schema/flat-union-array-branch.err
M tests/qapi-schema/flat-union-array-branch.json
M tests/qapi-schema/flat-union-bad-base.err
M tests/qapi-schema/flat-union-bad-base.json
M tests/qapi-schema/flat-union-bad-discriminator.err
M tests/qapi-schema/flat-union-bad-discriminator.json
M tests/qapi-schema/flat-union-base-any.err
M tests/qapi-schema/flat-union-base-any.json
M tests/qapi-schema/flat-union-base-union.err
M tests/qapi-schema/flat-union-base-union.json
M tests/qapi-schema/flat-union-clash-member.err
M tests/qapi-schema/flat-union-clash-member.json
M tests/qapi-schema/flat-union-empty.err
M tests/qapi-schema/flat-union-empty.json
M tests/qapi-schema/flat-union-incomplete-branch.err
M tests/qapi-schema/flat-union-incomplete-branch.json
M tests/qapi-schema/flat-union-inline.err
M tests/qapi-schema/flat-union-inline.json
M tests/qapi-schema/flat-union-int-branch.err
M tests/qapi-schema/flat-union-int-branch.json
M tests/qapi-schema/flat-union-invalid-branch-key.err
M tests/qapi-schema/flat-union-invalid-branch-key.json
M tests/qapi-schema/flat-union-invalid-discriminator.err
M tests/qapi-schema/flat-union-invalid-discriminator.json
M tests/qapi-schema/flat-union-no-base.err
M tests/qapi-schema/flat-union-no-base.json
M tests/qapi-schema/flat-union-optional-discriminator.err
M tests/qapi-schema/flat-union-optional-discriminator.json
M tests/qapi-schema/flat-union-string-discriminator.err
M tests/qapi-schema/flat-union-string-discriminator.json
M tests/qapi-schema/ident-with-escape.json
M tests/qapi-schema/ident-with-escape.out
M tests/qapi-schema/include-relpath-sub.json
M tests/qapi-schema/include-relpath.out
M tests/qapi-schema/include-repetition.out
M tests/qapi-schema/include-simple-sub.json
M tests/qapi-schema/include-simple.out
M tests/qapi-schema/indented-expr.json
M tests/qapi-schema/indented-expr.out
M tests/qapi-schema/missing-type.err
M tests/qapi-schema/missing-type.json
M tests/qapi-schema/nested-struct-data.err
M tests/qapi-schema/nested-struct-data.json
M tests/qapi-schema/qapi-schema-test.json
M tests/qapi-schema/qapi-schema-test.out
M tests/qapi-schema/redefined-builtin.err
M tests/qapi-schema/redefined-builtin.json
M tests/qapi-schema/redefined-command.err
M tests/qapi-schema/redefined-command.json
M tests/qapi-schema/redefined-event.err
M tests/qapi-schema/redefined-event.json
M tests/qapi-schema/redefined-type.err
M tests/qapi-schema/redefined-type.json
M tests/qapi-schema/reserved-command-q.err
M tests/qapi-schema/reserved-command-q.json
M tests/qapi-schema/reserved-enum-q.err
M tests/qapi-schema/reserved-enum-q.json
M tests/qapi-schema/reserved-member-has.err
M tests/qapi-schema/reserved-member-has.json
M tests/qapi-schema/reserved-member-q.err
M tests/qapi-schema/reserved-member-q.json
M tests/qapi-schema/reserved-member-u.err
M tests/qapi-schema/reserved-member-u.json
M tests/qapi-schema/reserved-member-underscore.err
M tests/qapi-schema/reserved-member-underscore.json
M tests/qapi-schema/reserved-type-kind.err
M tests/qapi-schema/reserved-type-kind.json
M tests/qapi-schema/reserved-type-list.err
M tests/qapi-schema/reserved-type-list.json
M tests/qapi-schema/returns-alternate.err
M tests/qapi-schema/returns-alternate.json
M tests/qapi-schema/returns-array-bad.err
M tests/qapi-schema/returns-array-bad.json
M tests/qapi-schema/returns-dict.err
M tests/qapi-schema/returns-dict.json
M tests/qapi-schema/returns-unknown.err
M tests/qapi-schema/returns-unknown.json
M tests/qapi-schema/returns-whitelist.err
M tests/qapi-schema/returns-whitelist.json
M tests/qapi-schema/struct-base-clash-deep.err
M tests/qapi-schema/struct-base-clash-deep.json
M tests/qapi-schema/struct-base-clash.err
M tests/qapi-schema/struct-base-clash.json
M tests/qapi-schema/struct-data-invalid.err
M tests/qapi-schema/struct-data-invalid.json
M tests/qapi-schema/struct-member-invalid.err
M tests/qapi-schema/struct-member-invalid.json
M tests/qapi-schema/test-qapi.py
M tests/qapi-schema/type-bypass-bad-gen.err
M tests/qapi-schema/type-bypass-bad-gen.json
M tests/qapi-schema/unicode-str.err
M tests/qapi-schema/unicode-str.json
M tests/qapi-schema/union-base-no-discriminator.err
M tests/qapi-schema/union-base-no-discriminator.json
M tests/qapi-schema/union-branch-case.err
M tests/qapi-schema/union-branch-case.json
M tests/qapi-schema/union-clash-branches.err
M tests/qapi-schema/union-clash-branches.json
M tests/qapi-schema/union-empty.err
M tests/qapi-schema/union-empty.json
M tests/qapi-schema/union-invalid-base.err
M tests/qapi-schema/union-invalid-base.json
M tests/qapi-schema/union-optional-branch.err
M tests/qapi-schema/union-optional-branch.json
M tests/qapi-schema/union-unknown.err
M tests/qapi-schema/union-unknown.json
M tests/qapi-schema/unknown-escape.err
M tests/qapi-schema/unknown-escape.json
M tests/qapi-schema/unknown-expr-key.err
M tests/qapi-schema/unknown-expr-key.json
Log Message:
-----------
qapi: Back out doc comments added just to please qapi.py
This reverts commit 3313b61's changes to tests/qapi-schema/, except
for tests/qapi-schema/doc-*.
We could keep some of these doc comments to serve as positive test
cases. However, they don't actually add to what we get from doc
comment use in actual schemas, as we we don't test output matches
expectations, and don't systematically cover doc comment features.
Proper positive test coverage would be nice.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 700dc9f503c61cdd1180e9bf84a225105b22b227
https://github.com/qemu/qemu/commit/700dc9f503c61cdd1180e9bf84a225105b22b227
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M docs/qapi-code-gen.txt
Log Message:
-----------
docs/qapi-code-gen.txt: Drop confusing reference to 'gen'
Section "Commands" qualifies its rules on permitted argument and
return types "with one exception noted below when 'gen' is used". The
note went away in commit 2d21291. Clean up the dangling references.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Commit: 1554a8fae984cad4704fb94a8cef3c9b42ef6185
https://github.com/qemu/qemu/commit/1554a8fae984cad4704fb94a8cef3c9b42ef6185
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M docs/qapi-code-gen.txt
M qapi-schema.json
M qga/qapi-schema.json
M scripts/qapi.py
M tests/Makefile.include
A tests/qapi-schema/pragma-returns-whitelist-crap.err
A tests/qapi-schema/pragma-returns-whitelist-crap.exit
A tests/qapi-schema/pragma-returns-whitelist-crap.json
A tests/qapi-schema/pragma-returns-whitelist-crap.out
M tests/qapi-schema/qapi-schema-test.json
M tests/qapi-schema/returns-whitelist.err
M tests/qapi-schema/returns-whitelist.json
Log Message:
-----------
qapi: Have each QAPI schema declare its returns white-list
qapi.py has a hardcoded white-list of command names that may violate
the rules on permitted return types. Add a new pragma directive
'returns-whitelist', and use it to replace the hard-coded white-list.
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Commit: 2cfbae3c423ecd13a7722ac7a7dca7ec4168e2ff
https://github.com/qemu/qemu/commit/2cfbae3c423ecd13a7722ac7a7dca7ec4168e2ff
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M docs/qapi-code-gen.txt
M qapi-schema.json
M scripts/qapi.py
M tests/Makefile.include
M tests/qapi-schema/enum-member-case.err
M tests/qapi-schema/enum-member-case.json
A tests/qapi-schema/pragma-name-case-whitelist-crap.err
A tests/qapi-schema/pragma-name-case-whitelist-crap.exit
A tests/qapi-schema/pragma-name-case-whitelist-crap.json
A tests/qapi-schema/pragma-name-case-whitelist-crap.out
Log Message:
-----------
qapi: Have each QAPI schema declare its name rule violations
qapi.py has a hardcoded white-list of type names that may violate the
rule on use of upper and lower case. Add a new pragma directive
'name-case-whitelist', and use it to replace the hard-coded
white-list.
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Commit: bd7f974796872fc754c2d01b3a8499e8bb85f844
https://github.com/qemu/qemu/commit/bd7f974796872fc754c2d01b3a8499e8bb85f844
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M .gitignore
M Makefile
M docs/qemu-qmp-ref.texi
M rules.mak
Log Message:
-----------
qapi: Clean up build of generated documentation
Rename intermediate qemu-qapi.texi to qemu-qmp-qapi.texi to match its
user qemu-qmp-ref.texi, just like qemu-ga-qapi.texi matches
qemu-ga-ref.texi.
Build the intermediate .texi next to the sources and the final output
in docs/ instead of dumping them into the build root.
Fix version.texi dependencies so that only the targets that actually
need it depend on it.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 707fb2d381de7a03e5bf9d2bd305dc7883fd992e
https://github.com/qemu/qemu/commit/707fb2d381de7a03e5bf9d2bd305dc7883fd992e
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M tests/Makefile.include
A tests/qapi-schema/union-base-empty.err
A tests/qapi-schema/union-base-empty.exit
A tests/qapi-schema/union-base-empty.json
A tests/qapi-schema/union-base-empty.out
Log Message:
-----------
tests/qapi-schema: Cover empty union base
The new test case shows off qapi.py choking on an empty union base.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 481537451302fc63eee5cf3663a92629bb78954f
https://github.com/qemu/qemu/commit/481537451302fc63eee5cf3663a92629bb78954f
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
M tests/qapi-schema/union-base-empty.err
Log Message:
-----------
qapi: Fix to reject empty union base gracefully
Common Python pitfall: 'assert base_members' fires on [] in addition
to None. Correct to 'assert base_members is not None'.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 42bebcc129a8bf235f41d65788eb54e199ba5e64
https://github.com/qemu/qemu/commit/42bebcc129a8bf235f41d65788eb54e199ba5e64
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M qapi-schema.json
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Fix up output around #optional
We use tag #optional to mark optional members, like this:
# @name: #optional The name of the guest
texi_body() strips #optional, but not whitespace around it. For the
above, we get in qemu-qmp-qapi.texi
@item @code{'name'} (optional)
The name of the guest
@end table
The extra space can lead to artifacts in output, e.g in
qemu-qmp-ref.7.pod
=item C<'name'> (optional)
The name of the guest
and then in qemu-qmp-ref.7
.IX Item "name (optional)"
.Vb 1
\& The name of the guest
.Ve
instead of intended plain
.IX Item "name (optional)"
The name of the guest
Get rid of these artifacts by removing whitespace around #optional
along with it.
This turns three minus signs in qapi-schema.json into markup, because
they're now at the beginning of the line. Drop them, they're unwanted
there.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Commit: b116fd8e302d0ff7cabf431e78ce078127b51f85
https://github.com/qemu/qemu/commit/b116fd8e302d0ff7cabf431e78ce078127b51f85
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
M scripts/qapi2texi.py
Log Message:
-----------
qapi: Avoid unwanted blank lines in QAPIDoc
We silently fix missing #optional tags for QAPIDoc by appending a line
"#optional" to the section's .content. However, this interferes with
.__repr__ stripping trailing blank lines from .content.
Use new ArgSection instance variable .optional instead, and leave
.content alone.
To permit testing .optional in texi_body(), clean up texi_enum()'s
hack to add empty documentation for undocumented enum values: add an
ArgSection instead of ''.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Commit: 8c0aa61318a63d42099ee0e3d40e80e8108cbc21
https://github.com/qemu/qemu/commit/8c0aa61318a63d42099ee0e3d40e80e8108cbc21
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M qapi/rocker.json
Log Message:
-----------
qapi/rocker: Fix up doc comment notes on optional members
Talking about #optional like this
# Note: fields are marked #optional to indicate that they may or may
# not appear ...
doesn't work so well in generated documentation, because the #optional
tag is not visible there. Replace by
# Note: optional members may or may not appear ...
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Commit: 4636211e4dddfc798d9e9072546a87f9adf7ce5a
https://github.com/qemu/qemu/commit/4636211e4dddfc798d9e9072546a87f9adf7ce5a
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: Fix QAPISchemaEnumType.is_implicit() for 'QType'
Missed in commit 7264f5c. Harmless, because nothing checks whether an
enumeration type is implicit so far.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 069fb5b250c8f90caeb84dcc003e2147ccc4a782
https://github.com/qemu/qemu/commit/069fb5b250c8f90caeb84dcc003e2147ccc4a782
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: Prepare for requiring more complete documentation
We currently neglect to check all enumeration values, common members
of object types and members of alternate types are documented.
Unsurprisingly, many aren't.
Add the necessary plumbing to find undocumented ones, except for
variant members of object types. Don't enforce anything just yet, but
connect each QAPIDoc.ArgSection to its QAPISchemaMember.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 860e87786123368a97c879b6e7459b3f519bbc97
https://github.com/qemu/qemu/commit/860e87786123368a97c879b6e7459b3f519bbc97
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
M scripts/qapi2texi.py
Log Message:
-----------
qapi: Conjure up QAPIDoc.ArgSection for undocumented members
qapi2texi.py already conjures up ArgSections for undocumented
enumeration values, in texi_enum. Drop that, and conjure them up for
all kinds of "arguments" (enumeration values, object and alternate
type members) in qapi.py instead.
Take care to keep generated documentation exactly the same for now.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: aa964b7fdc2b9c6fd0dd530c44563b2a9d891d0f
https://github.com/qemu/qemu/commit/aa964b7fdc2b9c6fd0dd530c44563b2a9d891d0f
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Convert to QAPISchemaVisitor
qapi2texi works with schema expression trees. Such a tight coupling
to schema language syntax is not a good idea. Convert it to the visitor
interface the other generators use.
No change to generated documentation.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 1d8bda128d2ff1f7e589c90d0ac468b95d260757
https://github.com/qemu/qemu/commit/1d8bda128d2ff1f7e589c90d0ac468b95d260757
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M docs/qapi-code-gen.txt
M docs/writing-qmp-commands.txt
M qapi-schema.json
M qapi/block-core.json
M qapi/block.json
M qapi/crypto.json
M qapi/event.json
M qapi/introspect.json
M qapi/rocker.json
M qapi/trace.json
M qga/qapi-schema.json
M scripts/qapi.py
M scripts/qapi2texi.py
M tests/Makefile.include
R tests/qapi-schema/doc-optional.err
R tests/qapi-schema/doc-optional.exit
R tests/qapi-schema/doc-optional.json
R tests/qapi-schema/doc-optional.out
Log Message:
-----------
qapi: The #optional tag is redundant, drop
We traditionally mark optional members #optional in the doc comment.
Before commit 3313b61, this was entirely manual.
Commit 3313b61 added some automation because its qapi2texi.py relied
on #optional to determine whether a member is optional. This is no
longer the case since the previous commit: the only thing qapi2texi.py
still does with #optional is stripping it out. We still reject bogus
qapi-schema.json and six places for qga/qapi-schema.json.
Thus, you can't actually rely on #optional to see whether something is
optional. Yet we still make people add it manually. That's just
busy-work.
Drop the code to check, fix up and strip out #optional, along with all
instances of #optional. To keep it out, add code to reject it, to be
dropped again once the dust settles.
No change to generated documentation.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 0fe675af77e922f3901552be4ac0c454b7dad43d
https://github.com/qemu/qemu/commit/0fe675af77e922f3901552be4ac0c454b7dad43d
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: Use raw strings for regular expressions consistently
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: ef801a9bb1e2cf276a8482c4ad1910f72de223f8
https://github.com/qemu/qemu/commit/ef801a9bb1e2cf276a8482c4ad1910f72de223f8
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi-event.py
M scripts/qapi-introspect.py
M scripts/qapi-types.py
M scripts/qapi-visit.py
M scripts/qapi.py
M scripts/qapi2texi.py
Log Message:
-----------
qapi: Prefer single-quoted strings more consistently
PEP 8 advises:
In Python, single-quoted strings and double-quoted strings are the
same. This PEP does not make a recommendation for this. Pick a
rule and stick to it. When a string contains single or double
quote characters, however, use the other one to avoid backslashes
in the string. It improves readability.
The QAPI generators succeed at picking a rule, but fail at sticking to
it. Convert a bunch of double-quoted strings to single-quoted ones.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 71d918a1b191adaabd009910163f996289666ee7
https://github.com/qemu/qemu/commit/71d918a1b191adaabd009910163f996289666ee7
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Plainer enum value and member name formatting
Use @code{%s} instead of @code{'%s'}. Impact, using @id as example:
* Texinfo
address@hidden @code{'id'}
address@hidden @code{id}
* HTML
-<dt><code>'id'</code></dt>
+<dt><code>id</code></dt>
* POD (for manual pages):
-=item C<'id'>
+=item C<id>
* Formatted manual pages:
-'id'
+"id"
* Plain text:
- ''id''
+ 'id'
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 2a1183ce9399657a896c51f388e6c7ca58f5d56d
https://github.com/qemu/qemu/commit/2a1183ce9399657a896c51f388e6c7ca58f5d56d
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Present the table of members more clearly
The table of members follows the main descriptive text immediately.
Makes it hard to see what it is about. Start a new paragraph, and
lead with a line "Members:" for object and alternate types, "Values:"
for enumeration types, and "Arguments:" for commands and events.
Example change (qemu-qmp-ref.txt):
-- Command: set_link
Sets the link status of a virtual network adapter.
+
+ Arguments:
'name'
the device name of the virtual network adapter
'up'
true to set the link status to be up
Returns: Nothing on success If 'name' is not a valid network
device, DeviceNotFound
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 5da19f14ff3393dc84f0f84c50770affd2c10acf
https://github.com/qemu/qemu/commit/5da19f14ff3393dc84f0f84c50770affd2c10acf
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Explain enum value undocumentedness more clearly
Instead of not saying anything when we have no documentation, say "Not
documented".
Example change (qemu-qmp-ref.txt):
-- Enum: GuestPanicAction
An enumeration of the actions taken when guest OS panic is detected
Values:
'pause'
system pauses
'poweroff'
+ Not documented
Since: 2.1 (poweroff since 2.8)
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 2c99f5fdc8a1e3decbb2c3bd99090ecb816a3d95
https://github.com/qemu/qemu/commit/2c99f5fdc8a1e3decbb2c3bd99090ecb816a3d95
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Don't hide undocumented members and arguments
Show undocumented object, alternate type members and command, event
arguments exactly like undocumented enumeration type values.
Example change (qemu-qmp-ref.txt):
-- Command: query-rocker
Return rocker switch information.
+ Arguments:
+ 'name'
+ Not documented
+
Returns: 'Rocker' information
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: c2dd311cb72b0ef59287aad3c0c7ee968c7289e2
https://github.com/qemu/qemu/commit/c2dd311cb72b0ef59287aad3c0c7ee968c7289e2
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M qapi-schema.json
M qapi/block-core.json
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Implement boxed argument documentation
This replaces manual references like "For the arguments, see the
documentation of ..." by a generated reference "Arguments: the members
of ...".
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 691e03133e79fd1f70ea4b524cdd10cbc23fd72a
https://github.com/qemu/qemu/commit/691e03133e79fd1f70ea4b524cdd10cbc23fd72a
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Include member type in generated documentation
The recent merge of docs/qmp-commands.txt and docs/qmp-events.txt into
the schema lost type information. Fix this documentation regression.
Example change (qemu-qmp-ref.txt):
-- Struct: InputKeyEvent
Keyboard input event.
Members:
- 'button'
+ 'button: InputButton'
Which button this event is for.
- 'down'
+ 'down: boolean'
True for key-down and false for key-up events.
Since: 2.0
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 88f63467c5753ec49ea8e7134c6b4b59c03d73b2
https://github.com/qemu/qemu/commit/88f63467c5753ec49ea8e7134c6b4b59c03d73b2
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Generate reference to base type members
The generated documentation doesn't mention object type members
inherited from a base type. Fix that.
Example change (qemu-qmp-ref.txt):
-- Struct: VncServerInfo
The network connection information for server
Members:
'auth' (optional)
authentication method used for the plain (non-websocket) VNC
server
+ The members of 'VncBasicInfo'
Since: 2.1
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 5169cd87673b99be8c017b1969583f0c729917d9
https://github.com/qemu/qemu/commit/5169cd87673b99be8c017b1969583f0c729917d9
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Generate documentation for variant members
A flat union's branch brings in the members of another type. Generate
a suitable reference to that type.
Example change (qemu-qmp-ref.txt):
-- Flat Union: QCryptoBlockOpenOptions
The options that are available for all encryption formats when
opening an existing volume
Members:
The members of 'QCryptoBlockOptionsBase'
+ The members of 'QCryptoBlockOptionsQCow' when 'format' is "qcow"
+ The members of 'QCryptoBlockOptionsLUKS' when 'format' is "luks"
Since: 2.6
A simple union's branch adds a member 'data' of some other type.
Generate documentation for that member.
Example change (qemu-qmp-ref.txt):
-- Simple Union: SocketAddress
Captures the address of a socket, which could also be a named file
descriptor
Members:
'type'
Not documented
+ 'data: InetSocketAddress' when 'type' is "inet"
+ 'data: UnixSocketAddress' when 'type' is "unix"
+ 'data: VsockSocketAddress' when 'type' is "vsock"
+ 'data: String' when 'type' is "fd"
Since: 1.3
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: c19eaa64df7be01f060e04c0f13bba5de549c3f3
https://github.com/qemu/qemu/commit/c19eaa64df7be01f060e04c0f13bba5de549c3f3
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Generate descriptions for simple union tags
Simple union tags carry no type information, because their type is
implicit. Their description should make up for it, but many have
none. Generate one automatically then.
Example change (qemu-qmp-ref.txt):
-- Simple Union: ImageInfoSpecific
A discriminated record of image format specific information
structures.
Members:
'type'
- Not documented
+ One of "qcow2", "vmdk", "luks"
'data: ImageInfoSpecificQCow2' when 'type' is "qcow2"
'data: ImageInfoSpecificVmdk' when 'type' is "vmdk"
'data: QCryptoBlockInfoLUKS' when 'type' is "luks"
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 75b50196d9eee43f0b7d006455b9735ea5c3c333
https://github.com/qemu/qemu/commit/75b50196d9eee43f0b7d006455b9735ea5c3c333
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi2texi.py
Log Message:
-----------
qapi2texi: Use category "Object" for all object types
At the protocol level, the distinction between struct, flat union and
simple union is meaningless, they are all JSON objects. Document them
that way.
Example change (qemu-qmp-ref.txt):
- -- Simple Union: InputEvent
+ -- Object: InputEvent
Input event union.
This also fixes the completely broken headings for flat and simple
unions in qemu-qmp-ref.7 and qemu-ga-ref.7, by sidestepping a bug in
texi2pod.pl. For instance, it mistranslates "@deftp {Simple Union}
InputEvent" to "B<Union> (Simple)", but translates "@deftp Object
InputEvent" to "B<SocketAddress> (Object)".
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 2028be8eeaa5334ce63fbf625942c6d52c6dac28
https://github.com/qemu/qemu/commit/2028be8eeaa5334ce63fbf625942c6d52c6dac28
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M tests/Makefile.include
A tests/qapi-schema/doc-before-include.err
A tests/qapi-schema/doc-before-include.exit
A tests/qapi-schema/doc-before-include.json
A tests/qapi-schema/doc-before-include.out
A tests/qapi-schema/doc-before-pragma.err
A tests/qapi-schema/doc-before-pragma.exit
A tests/qapi-schema/doc-before-pragma.json
A tests/qapi-schema/doc-before-pragma.out
A tests/qapi-schema/doc-no-symbol.err
A tests/qapi-schema/doc-no-symbol.exit
A tests/qapi-schema/doc-no-symbol.json
A tests/qapi-schema/doc-no-symbol.out
Log Message:
-----------
tests/qapi-schema: Improve doc / expression mismatch coverage
New tests doc-before-include.json and doc-before-pragma.json show we
fail to reject a misplaced expression comment.
New test doc-no-symbol.json shows a bad error message.
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Commit: e7823a2adf7222d0513b8e7cfd8af85d407d4918
https://github.com/qemu/qemu/commit/e7823a2adf7222d0513b8e7cfd8af85d407d4918
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
M tests/qapi-schema/doc-before-include.err
M tests/qapi-schema/doc-before-include.exit
M tests/qapi-schema/doc-before-include.json
M tests/qapi-schema/doc-before-include.out
M tests/qapi-schema/doc-before-pragma.err
M tests/qapi-schema/doc-before-pragma.exit
M tests/qapi-schema/doc-before-pragma.json
M tests/qapi-schema/doc-before-pragma.out
M tests/qapi-schema/doc-missing-expr.err
M tests/qapi-schema/doc-no-symbol.err
M tests/qapi-schema/doc-no-symbol.json
Log Message:
-----------
qapi: Fix detection of doc / expression mismatch
This fixes the errors uncovered by the previous commit.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 7947016d1ceb08584f0d0a3f62b8049ab27219ba
https://github.com/qemu/qemu/commit/7947016d1ceb08584f0d0a3f62b8049ab27219ba
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
M tests/qapi-schema/doc-bad-symbol.err
Log Message:
-----------
qapi: Move detection of doc / expression name mismatch
Move the check whether the doc matches the expression name from
check_definition_doc() to check_exprs(). This changes the error
location from the comment to the expression. Makes sense as the
message talks about the expression: "Definition of '%s' follows
documentation for '%s'". It's also a step towards getting rid of
check_docs().
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 2d433236df5ab15d61a117c3d8e47a4abc651ce0
https://github.com/qemu/qemu/commit/2d433236df5ab15d61a117c3d8e47a4abc651ce0
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
M tests/qapi-schema/doc-invalid-section.err
Log Message:
-----------
qapi: Improve error message on @NAME: in free-form doc
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 4ea7148e89deda8795b3233bc5ba8c4bf037230e
https://github.com/qemu/qemu/commit/4ea7148e89deda8795b3233bc5ba8c4bf037230e
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
M tests/qapi-schema/doc-empty-section.err
Log Message:
-----------
qapi: Move empty doc section checking to doc parser
Results in a more precise error location, but the real reason is
emptying out check_docs() step by step.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: bdc001caaa60dd71af8cddf73688f28ac5a32bc2
https://github.com/qemu/qemu/commit/bdc001caaa60dd71af8cddf73688f28ac5a32bc2
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M tests/Makefile.include
R tests/qapi-schema/doc-bad-args.err
R tests/qapi-schema/doc-bad-args.exit
R tests/qapi-schema/doc-bad-args.json
R tests/qapi-schema/doc-bad-args.out
A tests/qapi-schema/doc-bad-command-arg.err
A tests/qapi-schema/doc-bad-command-arg.exit
A tests/qapi-schema/doc-bad-command-arg.json
A tests/qapi-schema/doc-bad-command-arg.out
Log Message:
-----------
tests/qapi-schema: Rename doc-bad-args to doc-bad-command-arg
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: f641d06ad63773ae524fb073b2f8639e1db1462c
https://github.com/qemu/qemu/commit/f641d06ad63773ae524fb073b2f8639e1db1462c
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M tests/Makefile.include
A tests/qapi-schema/doc-bad-alternate-member.err
A tests/qapi-schema/doc-bad-alternate-member.exit
A tests/qapi-schema/doc-bad-alternate-member.json
A tests/qapi-schema/doc-bad-alternate-member.out
A tests/qapi-schema/doc-bad-union-member.err
A tests/qapi-schema/doc-bad-union-member.exit
A tests/qapi-schema/doc-bad-union-member.json
A tests/qapi-schema/doc-bad-union-member.out
Log Message:
-----------
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 <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 816a57cd6ebb6fe820766ac12478a56a5fa33d52
https://github.com/qemu/qemu/commit/816a57cd6ebb6fe820766ac12478a56a5fa33d52
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
M tests/qapi-schema/doc-bad-union-member.err
M tests/qapi-schema/doc-bad-union-member.exit
M tests/qapi-schema/doc-bad-union-member.out
Log Message:
-----------
qapi: Fix detection of bogus member documentation
check_definition_doc() checks for member documentation without a
matching member. It laboriously second-guesses what members
QAPISchema._def_exprs() will create. That's a stupid game.
Move the check into QAPISchema.check(), where the members are known.
Delegate the actual checking to new QAPIDoc.check().
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: a9f396b028bc304fd1c27b2d52b22966cfc98a61
https://github.com/qemu/qemu/commit/a9f396b028bc304fd1c27b2d52b22966cfc98a61
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: Eliminate check_docs() and drop QAPIDoc.expr
Move what's left in check_docs() to check_expr(). Delegate the actual
checking to new QAPIDoc.check_expr().
QAPIDoc.expr is now unused; drop it.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 062e856b155a8b7724b8eba449fc3aa8a181d46b
https://github.com/qemu/qemu/commit/062e856b155a8b7724b8eba449fc3aa8a181d46b
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: Drop unused variable events
Missed in commit e98859a
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: eda43c68440e32062c32cc99a79edbb52cf87a74
https://github.com/qemu/qemu/commit/eda43c68440e32062c32cc99a79edbb52cf87a74
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: Simplify what gets stored in enum_types
Don't invent a new dictionary structure just for enum_types, simply
store the defining expression, like we do for struct_types and
union_types.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 6f05345f8f8eac137e0ba22a7389cdeaff60c9b2
https://github.com/qemu/qemu/commit/6f05345f8f8eac137e0ba22a7389cdeaff60c9b2
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: Factor add_name() calls out of the meta conditional
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 5f018446fe69ec85711db364e8d1f4c4de372bf5
https://github.com/qemu/qemu/commit/5f018446fe69ec85711db364e8d1f4c4de372bf5
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: enum_types is a list used like a dict, make it one
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: ed285bf821eeb5d82bb2777707cc02b11194b7b1
https://github.com/qemu/qemu/commit/ed285bf821eeb5d82bb2777707cc02b11194b7b1
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: struct_types is a list used like a dict, make it one
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 768562ded0354f6834b48c99626b6fadf19b757b
https://github.com/qemu/qemu/commit/768562ded0354f6834b48c99626b6fadf19b757b
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: union_types is a list used like a dict, make it one
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 6bbfb12de6541794c10baf007ad327262f94f10a
https://github.com/qemu/qemu/commit/6bbfb12de6541794c10baf007ad327262f94f10a
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
Log Message:
-----------
qapi: Drop unused .check_clash() parameter schema
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: c261394978d000000a095d7b4986226d0a4a551c
https://github.com/qemu/qemu/commit/c261394978d000000a095d7b4986226d0a4a551c
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi-commands.py
M scripts/qapi-visit.py
M scripts/qapi.py
Log Message:
-----------
qapi: Make pylint a bit happier
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 012b126de2ded4e93b5ed069be5544ad8a2e6c15
https://github.com/qemu/qemu/commit/012b126de2ded4e93b5ed069be5544ad8a2e6c15
Author: Markus Armbruster <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M scripts/qapi.py
M tests/qapi-schema/trailing-comma-list.err
Log Message:
-----------
qapi: Fix a misleading parser error message
When choking on a token where an expression is expected, we report
'Expected "{", "[" or string'. Close, but no cigar. Fix it to
Expected '"{", "[", string, boolean or "null"'.
Missed in commit e53188a.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 3c2758c286fbb82973471d09f5977dc5ece37137
https://github.com/qemu/qemu/commit/3c2758c286fbb82973471d09f5977dc5ece37137
Author: Peter Maydell <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M .gitignore
M Makefile
M docs/qapi-code-gen.txt
M docs/qemu-qmp-ref.texi
M docs/writing-qmp-commands.txt
M qapi-schema.json
M qapi/block-core.json
M qapi/block.json
M qapi/crypto.json
M qapi/event.json
M qapi/introspect.json
M qapi/rocker.json
M qapi/trace.json
M qga/qapi-schema.json
M rules.mak
M scripts/qapi-commands.py
M scripts/qapi-event.py
M scripts/qapi-introspect.py
M scripts/qapi-types.py
M scripts/qapi-visit.py
M scripts/qapi.py
M scripts/qapi2texi.py
M scripts/qmp/qmp-shell
M tests/Makefile.include
M tests/qapi-schema/alternate-any.err
M tests/qapi-schema/alternate-any.json
M tests/qapi-schema/alternate-array.err
M tests/qapi-schema/alternate-array.json
M tests/qapi-schema/alternate-base.err
M tests/qapi-schema/alternate-base.json
M tests/qapi-schema/alternate-clash.err
M tests/qapi-schema/alternate-clash.json
M tests/qapi-schema/alternate-conflict-dict.err
M tests/qapi-schema/alternate-conflict-dict.json
M tests/qapi-schema/alternate-conflict-string.err
M tests/qapi-schema/alternate-conflict-string.json
M tests/qapi-schema/alternate-empty.err
M tests/qapi-schema/alternate-empty.json
M tests/qapi-schema/alternate-nested.err
M tests/qapi-schema/alternate-nested.json
M tests/qapi-schema/alternate-unknown.err
M tests/qapi-schema/alternate-unknown.json
M tests/qapi-schema/args-alternate.err
M tests/qapi-schema/args-alternate.json
M tests/qapi-schema/args-any.err
M tests/qapi-schema/args-any.json
M tests/qapi-schema/args-array-empty.err
M tests/qapi-schema/args-array-empty.json
M tests/qapi-schema/args-array-unknown.err
M tests/qapi-schema/args-array-unknown.json
M tests/qapi-schema/args-bad-boxed.err
M tests/qapi-schema/args-bad-boxed.json
M tests/qapi-schema/args-boxed-anon.err
M tests/qapi-schema/args-boxed-anon.json
M tests/qapi-schema/args-boxed-empty.err
M tests/qapi-schema/args-boxed-empty.json
M tests/qapi-schema/args-boxed-string.err
M tests/qapi-schema/args-boxed-string.json
M tests/qapi-schema/args-int.err
M tests/qapi-schema/args-int.json
M tests/qapi-schema/args-invalid.err
M tests/qapi-schema/args-invalid.json
M tests/qapi-schema/args-member-array-bad.err
M tests/qapi-schema/args-member-array-bad.json
M tests/qapi-schema/args-member-case.err
M tests/qapi-schema/args-member-case.json
M tests/qapi-schema/args-member-unknown.err
M tests/qapi-schema/args-member-unknown.json
M tests/qapi-schema/args-name-clash.err
M tests/qapi-schema/args-name-clash.json
M tests/qapi-schema/args-union.err
M tests/qapi-schema/args-union.json
M tests/qapi-schema/args-unknown.err
M tests/qapi-schema/args-unknown.json
M tests/qapi-schema/bad-base.err
M tests/qapi-schema/bad-base.json
M tests/qapi-schema/bad-data.err
M tests/qapi-schema/bad-data.json
M tests/qapi-schema/bad-ident.err
M tests/qapi-schema/bad-ident.json
M tests/qapi-schema/bad-type-bool.err
M tests/qapi-schema/bad-type-bool.json
M tests/qapi-schema/bad-type-dict.err
M tests/qapi-schema/bad-type-dict.json
M tests/qapi-schema/base-cycle-direct.err
M tests/qapi-schema/base-cycle-direct.json
M tests/qapi-schema/base-cycle-indirect.err
M tests/qapi-schema/base-cycle-indirect.json
M tests/qapi-schema/command-int.err
M tests/qapi-schema/command-int.json
M tests/qapi-schema/comments.json
M tests/qapi-schema/comments.out
A tests/qapi-schema/doc-bad-alternate-member.err
A tests/qapi-schema/doc-bad-alternate-member.exit
A tests/qapi-schema/doc-bad-alternate-member.json
A tests/qapi-schema/doc-bad-alternate-member.out
R tests/qapi-schema/doc-bad-args.err
R tests/qapi-schema/doc-bad-args.exit
R tests/qapi-schema/doc-bad-args.json
R tests/qapi-schema/doc-bad-args.out
A tests/qapi-schema/doc-bad-command-arg.err
A tests/qapi-schema/doc-bad-command-arg.exit
A tests/qapi-schema/doc-bad-command-arg.json
A tests/qapi-schema/doc-bad-command-arg.out
M tests/qapi-schema/doc-bad-symbol.err
A tests/qapi-schema/doc-bad-union-member.err
A tests/qapi-schema/doc-bad-union-member.exit
A tests/qapi-schema/doc-bad-union-member.json
A tests/qapi-schema/doc-bad-union-member.out
A tests/qapi-schema/doc-before-include.err
A tests/qapi-schema/doc-before-include.exit
A tests/qapi-schema/doc-before-include.json
A tests/qapi-schema/doc-before-include.out
A tests/qapi-schema/doc-before-pragma.err
A tests/qapi-schema/doc-before-pragma.exit
A tests/qapi-schema/doc-before-pragma.json
A tests/qapi-schema/doc-before-pragma.out
M tests/qapi-schema/doc-empty-section.err
M tests/qapi-schema/doc-invalid-section.err
M tests/qapi-schema/doc-missing-expr.err
A tests/qapi-schema/doc-missing.err
A tests/qapi-schema/doc-missing.exit
A tests/qapi-schema/doc-missing.json
A tests/qapi-schema/doc-missing.out
A tests/qapi-schema/doc-no-symbol.err
A tests/qapi-schema/doc-no-symbol.exit
A tests/qapi-schema/doc-no-symbol.json
A tests/qapi-schema/doc-no-symbol.out
R tests/qapi-schema/doc-optional.err
R tests/qapi-schema/doc-optional.exit
R tests/qapi-schema/doc-optional.json
R tests/qapi-schema/doc-optional.out
M tests/qapi-schema/double-type.err
M tests/qapi-schema/double-type.json
M tests/qapi-schema/enum-bad-name.err
M tests/qapi-schema/enum-bad-name.json
M tests/qapi-schema/enum-bad-prefix.err
M tests/qapi-schema/enum-bad-prefix.json
M tests/qapi-schema/enum-clash-member.err
M tests/qapi-schema/enum-clash-member.json
M tests/qapi-schema/enum-dict-member.err
M tests/qapi-schema/enum-dict-member.json
M tests/qapi-schema/enum-member-case.err
M tests/qapi-schema/enum-member-case.json
M tests/qapi-schema/enum-missing-data.err
M tests/qapi-schema/enum-missing-data.json
M tests/qapi-schema/enum-wrong-data.err
M tests/qapi-schema/enum-wrong-data.json
M tests/qapi-schema/event-boxed-empty.err
M tests/qapi-schema/event-boxed-empty.json
M tests/qapi-schema/event-case.json
M tests/qapi-schema/event-case.out
M tests/qapi-schema/event-nest-struct.err
M tests/qapi-schema/event-nest-struct.json
M tests/qapi-schema/flat-union-array-branch.err
M tests/qapi-schema/flat-union-array-branch.json
M tests/qapi-schema/flat-union-bad-base.err
M tests/qapi-schema/flat-union-bad-base.json
M tests/qapi-schema/flat-union-bad-discriminator.err
M tests/qapi-schema/flat-union-bad-discriminator.json
M tests/qapi-schema/flat-union-base-any.err
M tests/qapi-schema/flat-union-base-any.json
M tests/qapi-schema/flat-union-base-union.err
M tests/qapi-schema/flat-union-base-union.json
M tests/qapi-schema/flat-union-clash-member.err
M tests/qapi-schema/flat-union-clash-member.json
M tests/qapi-schema/flat-union-empty.err
M tests/qapi-schema/flat-union-empty.json
M tests/qapi-schema/flat-union-incomplete-branch.err
M tests/qapi-schema/flat-union-incomplete-branch.json
M tests/qapi-schema/flat-union-inline.err
M tests/qapi-schema/flat-union-inline.json
M tests/qapi-schema/flat-union-int-branch.err
M tests/qapi-schema/flat-union-int-branch.json
M tests/qapi-schema/flat-union-invalid-branch-key.err
M tests/qapi-schema/flat-union-invalid-branch-key.json
M tests/qapi-schema/flat-union-invalid-discriminator.err
M tests/qapi-schema/flat-union-invalid-discriminator.json
M tests/qapi-schema/flat-union-no-base.err
M tests/qapi-schema/flat-union-no-base.json
M tests/qapi-schema/flat-union-optional-discriminator.err
M tests/qapi-schema/flat-union-optional-discriminator.json
M tests/qapi-schema/flat-union-string-discriminator.err
M tests/qapi-schema/flat-union-string-discriminator.json
M tests/qapi-schema/ident-with-escape.json
M tests/qapi-schema/ident-with-escape.out
A tests/qapi-schema/include-extra-junk.err
A tests/qapi-schema/include-extra-junk.exit
A tests/qapi-schema/include-extra-junk.json
A tests/qapi-schema/include-extra-junk.out
M tests/qapi-schema/include-relpath-sub.json
M tests/qapi-schema/include-relpath.out
M tests/qapi-schema/include-repetition.out
M tests/qapi-schema/include-simple-sub.json
M tests/qapi-schema/include-simple.out
M tests/qapi-schema/indented-expr.json
M tests/qapi-schema/indented-expr.out
M tests/qapi-schema/missing-type.err
M tests/qapi-schema/missing-type.json
M tests/qapi-schema/nested-struct-data.err
M tests/qapi-schema/nested-struct-data.json
A tests/qapi-schema/pragma-doc-required-crap.err
A tests/qapi-schema/pragma-doc-required-crap.exit
A tests/qapi-schema/pragma-doc-required-crap.json
A tests/qapi-schema/pragma-doc-required-crap.out
A tests/qapi-schema/pragma-extra-junk.err
A tests/qapi-schema/pragma-extra-junk.exit
A tests/qapi-schema/pragma-extra-junk.json
A tests/qapi-schema/pragma-extra-junk.out
A tests/qapi-schema/pragma-name-case-whitelist-crap.err
A tests/qapi-schema/pragma-name-case-whitelist-crap.exit
A tests/qapi-schema/pragma-name-case-whitelist-crap.json
A tests/qapi-schema/pragma-name-case-whitelist-crap.out
A tests/qapi-schema/pragma-non-dict.err
A tests/qapi-schema/pragma-non-dict.exit
A tests/qapi-schema/pragma-non-dict.json
A tests/qapi-schema/pragma-non-dict.out
A tests/qapi-schema/pragma-returns-whitelist-crap.err
A tests/qapi-schema/pragma-returns-whitelist-crap.exit
A tests/qapi-schema/pragma-returns-whitelist-crap.json
A tests/qapi-schema/pragma-returns-whitelist-crap.out
M tests/qapi-schema/qapi-schema-test.json
M tests/qapi-schema/qapi-schema-test.out
M tests/qapi-schema/redefined-builtin.err
M tests/qapi-schema/redefined-builtin.json
M tests/qapi-schema/redefined-command.err
M tests/qapi-schema/redefined-command.json
M tests/qapi-schema/redefined-event.err
M tests/qapi-schema/redefined-event.json
M tests/qapi-schema/redefined-type.err
M tests/qapi-schema/redefined-type.json
M tests/qapi-schema/reserved-command-q.err
M tests/qapi-schema/reserved-command-q.json
M tests/qapi-schema/reserved-enum-q.err
M tests/qapi-schema/reserved-enum-q.json
M tests/qapi-schema/reserved-member-has.err
M tests/qapi-schema/reserved-member-has.json
M tests/qapi-schema/reserved-member-q.err
M tests/qapi-schema/reserved-member-q.json
M tests/qapi-schema/reserved-member-u.err
M tests/qapi-schema/reserved-member-u.json
M tests/qapi-schema/reserved-member-underscore.err
M tests/qapi-schema/reserved-member-underscore.json
M tests/qapi-schema/reserved-type-kind.err
M tests/qapi-schema/reserved-type-kind.json
M tests/qapi-schema/reserved-type-list.err
M tests/qapi-schema/reserved-type-list.json
M tests/qapi-schema/returns-alternate.err
M tests/qapi-schema/returns-alternate.json
M tests/qapi-schema/returns-array-bad.err
M tests/qapi-schema/returns-array-bad.json
M tests/qapi-schema/returns-dict.err
M tests/qapi-schema/returns-dict.json
M tests/qapi-schema/returns-unknown.err
M tests/qapi-schema/returns-unknown.json
M tests/qapi-schema/returns-whitelist.err
M tests/qapi-schema/returns-whitelist.json
M tests/qapi-schema/struct-base-clash-deep.err
M tests/qapi-schema/struct-base-clash-deep.json
M tests/qapi-schema/struct-base-clash.err
M tests/qapi-schema/struct-base-clash.json
M tests/qapi-schema/struct-data-invalid.err
M tests/qapi-schema/struct-data-invalid.json
M tests/qapi-schema/struct-member-invalid.err
M tests/qapi-schema/struct-member-invalid.json
M tests/qapi-schema/test-qapi.py
M tests/qapi-schema/trailing-comma-list.err
M tests/qapi-schema/type-bypass-bad-gen.err
M tests/qapi-schema/type-bypass-bad-gen.json
M tests/qapi-schema/unicode-str.err
M tests/qapi-schema/unicode-str.json
A tests/qapi-schema/union-base-empty.err
A tests/qapi-schema/union-base-empty.exit
A tests/qapi-schema/union-base-empty.json
A tests/qapi-schema/union-base-empty.out
M tests/qapi-schema/union-base-no-discriminator.err
M tests/qapi-schema/union-base-no-discriminator.json
M tests/qapi-schema/union-branch-case.err
M tests/qapi-schema/union-branch-case.json
M tests/qapi-schema/union-clash-branches.err
M tests/qapi-schema/union-clash-branches.json
M tests/qapi-schema/union-empty.err
M tests/qapi-schema/union-empty.json
M tests/qapi-schema/union-invalid-base.err
M tests/qapi-schema/union-invalid-base.json
M tests/qapi-schema/union-optional-branch.err
M tests/qapi-schema/union-optional-branch.json
M tests/qapi-schema/union-unknown.err
M tests/qapi-schema/union-unknown.json
M tests/qapi-schema/unknown-escape.err
M tests/qapi-schema/unknown-escape.json
M tests/qapi-schema/unknown-expr-key.err
M tests/qapi-schema/unknown-expr-key.json
Log Message:
-----------
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-03-16' into
staging
QAPI patches for 2017-03-16
# gpg: Signature made Thu 16 Mar 2017 06:18:38 GMT
# gpg: using RSA key 0x3870B400EB918653
# gpg: Good signature from "Markus Armbruster <address@hidden>"
# gpg: aka "Markus Armbruster <address@hidden>"
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-qapi-2017-03-16: (49 commits)
qapi: Fix a misleading parser error message
qapi: Make pylint a bit happier
qapi: Drop unused .check_clash() parameter schema
qapi: union_types is a list used like a dict, make it one
qapi: struct_types is a list used like a dict, make it one
qapi: enum_types is a list used like a dict, make it one
qapi: Factor add_name() calls out of the meta conditional
qapi: Simplify what gets stored in enum_types
qapi: Drop unused variable events
qapi: Eliminate check_docs() and drop QAPIDoc.expr
qapi: Fix detection of bogus member documentation
tests/qapi-schema: Improve coverage of bogus member docs
tests/qapi-schema: Rename doc-bad-args to doc-bad-command-arg
qapi: Move empty doc section checking to doc parser
qapi: Improve error message on @NAME: in free-form doc
qapi: Move detection of doc / expression name mismatch
qapi: Fix detection of doc / expression mismatch
tests/qapi-schema: Improve doc / expression mismatch coverage
qapi2texi: Use category "Object" for all object types
qapi2texi: Generate descriptions for simple union tags
...
Signed-off-by: Peter Maydell <address@hidden>
Commit: 699f6c6fd420e8c38f1f746f85815f4e88be11c6
https://github.com/qemu/qemu/commit/699f6c6fd420e8c38f1f746f85815f4e88be11c6
Author: Peter Maydell <address@hidden>
Date: 2017-03-16 (Thu, 16 Mar 2017)
Changed paths:
M dtc
Log Message:
-----------
dtc: Revert unintentional submodule downgrade from commit c2cabb34220d63f9
Commit c2cabb34220d63f9 inadvertently downgraded the 'dtc' submodule,
undoing the increments added in earlier commits. Revert this,
returning the submodule state to where we should be.
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/3716fba3f58d...699f6c6fd420
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 597494: qapi2texi: change texi formatters,
GitHub <=