<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/tests/qapi-schema/ident-with-escape.out, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/tests/qapi-schema/ident-with-escape.out?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/tests/qapi-schema/ident-with-escape.out?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2019-09-24T12:07:22+00:00</updated>
<entry>
<title>qapi: Drop support for escape sequences other than \\</title>
<updated>2019-09-24T12:07:22+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2019-09-13T20:13:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9b4416bfc1ea5fb3398e8f78a90caa88dd301c37'/>
<id>urn:sha1:9b4416bfc1ea5fb3398e8f78a90caa88dd301c37</id>
<content type='text'>
Since the previous commit restricted strings to printable ASCII,
\uXXXX's only use is obfuscation.  Drop it.

This leaves \\, \/, \', and \".  Since QAPI schema strings are all
names, and names are restricted to ASCII letters, digits, hyphen, and
underscore, none of them is useful.

The latter three have no test coverage.  Drop them.

Keep \\ to avoid (more) gratuitous incompatibility with JSON.

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
Message-Id: &lt;20190913201349.24332-8-armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi: Clean up modular built-in code generation a bit</title>
<updated>2019-02-18T13:44:04+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2019-02-14T15:22:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=dcac64711ea906e844ae60a5927e5580f7252c1e'/>
<id>urn:sha1:dcac64711ea906e844ae60a5927e5580f7252c1e</id>
<content type='text'>
We neglect to call .visit_module() for the special module we use for
built-ins.  Harmless, but clean it up anyway.  The
tests/qapi-schema/*.out now show the built-in module as 'module None'.

Subclasses of QAPISchemaModularCVisitor need to ._add_module() this
special module to enable code generation for built-ins.  When this
hasn't been done, QAPISchemaModularCVisitor.visit_module() does
nothing for the special module.  That looks like built-ins could
accidentally be generated into the wrong module when a subclass
neglects to call ._add_module().  Can't happen, because built-ins are
all visited before any other module.  But that's non-obvious.  Switch
off code generation explicitly.

Rename QAPISchemaModularCVisitor._begin_module() to
._begin_user_module().

New QAPISchemaModularCVisitor._is_builtin_module(), for clarity.

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Message-Id: &lt;20190214152251.2073-4-armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests: print enum type members more like object type members</title>
<updated>2018-12-13T18:20:11+00:00</updated>
<author>
<name>Marc-André Lureau</name>
</author>
<published>2018-12-13T12:37:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1e381b655910b515d7c52fc60b67b4167dd9c4c6'/>
<id>urn:sha1:1e381b655910b515d7c52fc60b67b4167dd9c4c6</id>
<content type='text'>
Commit 93bda4dd461 changed the internal representation of enum type
members from str to QAPISchemaMember, but we still print only a
string.  Has been good enough, as the name is the member's only
attribute of interest, but that's about to change.  To prepare, print
them more like object type members.

Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Message-Id: &lt;20181213123724.4866-4-marcandre.lureau@redhat.com&gt;
Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests: qapi-schema tests for allow-preconfig</title>
<updated>2018-05-30T16:19:14+00:00</updated>
<author>
<name>Igor Mammedov</name>
</author>
<published>2018-05-11T17:15:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=7b13f2c27a02499e9f8d955e0a4c68a5165e150d'/>
<id>urn:sha1:7b13f2c27a02499e9f8d955e0a4c68a5165e150d</id>
<content type='text'>
use new allow-preconfig parameter in tests and make sure that
the QAPISchema can parse allow-preconfig correctly

Signed-off-by: Igor Mammedov &lt;imammedo@redhat.com&gt;
Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
Message-Id: &lt;1526058959-41425-1-git-send-email-imammedo@redhat.com&gt;
Signed-off-by: Eduardo Habkost &lt;ehabkost@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests: let qapi-schema tests detect oob</title>
<updated>2018-03-27T15:17:45+00:00</updated>
<author>
<name>Peter Xu</name>
</author>
<published>2018-03-26T06:38:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=4bebca1e429a276bf9553dc2221862d2ea23a939'/>
<id>urn:sha1:4bebca1e429a276bf9553dc2221862d2ea23a939</id>
<content type='text'>
The allow_oob parameter was passed in but not used in tests.  Now
reflect that in the tests, so we need to touch up other command testers
with that new change.

Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
Signed-off-by: Peter Xu &lt;peterx@redhat.com&gt;
Message-Id: &lt;20180326063901.27425-6-peterx@redhat.com&gt;
Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Signed-off-by: Eric Blake &lt;eblake@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi: Record 'include' directives in intermediate representation</title>
<updated>2018-03-02T19:14:10+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2018-02-11T09:35:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=cf40a0a5c2e1091846974cc8cc95a60e0b1db4af'/>
<id>urn:sha1:cf40a0a5c2e1091846974cc8cc95a60e0b1db4af</id>
<content type='text'>
The include directive permits modular QAPI schemata, but the generated
code is monolithic all the same.  To permit generating modular code,
the front end needs to pass more information on inclusions to the back
ends.  The commit before last added the necessary information to the
parse tree.  This commit adds it to the intermediate representation
and its QAPISchemaVisitor.  A later commit will use this to to
generate modular code.

New entity QAPISchemaInclude represents inclusions.  Call new visitor
method visit_include() for it, so visitors can see the sub-modules a
module includes.

Note that unlike other entities, QAPISchemaInclude has no name, and is
therefore not added to entity_dict.

New QAPISchemaEntity attribute @module names the entity's source file.
Call new visitor method visit_module() when it changes during a visit,
so visitors can keep track of the module being visited.

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Message-Id: &lt;20180211093607.27351-18-armbru@redhat.com&gt;
[eblake: avoid accidental deletion of self._predefining]
Signed-off-by: Eric Blake &lt;eblake@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi: Generate in source order</title>
<updated>2018-03-02T19:14:10+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2018-02-11T09:35:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8a84767cc4f7e00e5dd62435c32be9e7d2cbe4d3'/>
<id>urn:sha1:8a84767cc4f7e00e5dd62435c32be9e7d2cbe4d3</id>
<content type='text'>
The generators' conversion to visitors (merge commit 9e72681d16)
changed the processing order of entities from source order to
alphabetical order.  The next commit needs source order, so change it
back.

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Message-Id: &lt;20180211093607.27351-17-armbru@redhat.com&gt;
Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
Reviewed-by: Michael Roth &lt;mdroth@linux.vnet.ibm.com&gt;
Signed-off-by: Eric Blake &lt;eblake@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi: merge QInt and QFloat in QNum</title>
<updated>2017-06-20T12:31:31+00:00</updated>
<author>
<name>Marc-André Lureau</name>
</author>
<published>2017-06-07T16:35:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=01b2ffcedd94ad7b42bc870e4c6936c87ad03429'/>
<id>urn:sha1:01b2ffcedd94ad7b42bc870e4c6936c87ad03429</id>
<content type='text'>
We would like to use a same QObject type to represent numbers, whether
they are int, uint, or floats. Getters will allow some compatibility
between the various types if the number fits other representations.

Add a few more tests while at it.

Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Message-Id: &lt;20170607163635.17635-7-marcandre.lureau@redhat.com&gt;
Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
[parse_stats_intervals() simplified a bit, comment in
test_visitor_in_int_overflow() tidied up, suppress bogus warnings]
Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi: Back out doc comments added just to please qapi.py</title>
<updated>2017-03-16T06:13:01+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2017-03-15T12:56:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=87c16dcecae62ce324ba6cb360b86434cb324c95'/>
<id>urn:sha1:87c16dcecae62ce324ba6cb360b86434cb324c95</id>
<content type='text'>
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 &lt;armbru@redhat.com&gt;
Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
Message-Id: &lt;1489582656-31133-4-git-send-email-armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi: add qapi2texi script</title>
<updated>2017-01-16T09:10:35+00:00</updated>
<author>
<name>Marc-André Lureau</name>
</author>
<published>2017-01-13T14:41:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3313b6124b524893683311e01437a82b40784e8b'/>
<id>urn:sha1:3313b6124b524893683311e01437a82b40784e8b</id>
<content type='text'>
As the name suggests, the qapi2texi script converts JSON QAPI
description into a texi file suitable for different target
formats (info/man/txt/pdf/html...).

It parses the following kind of blocks:

Free-form:

  ##
  # = Section
  # == Subsection
  #
  # Some text foo with *emphasis*
  # 1. with a list
  # 2. like that
  #
  # And some code:
  # | $ echo foo
  # | -&gt; do this
  # | &lt;- get that
  #
  ##

Symbol description:

  ##
  # @symbol:
  #
  # Symbol body ditto ergo sum. Foo bar
  # baz ding.
  #
  # @param1: the frob to frobnicate
  # @param2: #optional how hard to frobnicate
  #
  # Returns: the frobnicated frob.
  #          If frob isn't frobnicatable, GenericError.
  #
  # Since: version
  # Notes: notes, comments can have
  #        - itemized list
  #        - like this
  #
  # Example:
  #
  # -&gt; { "execute": "quit" }
  # &lt;- { "return": {} }
  #
  ##

That's roughly following the following EBNF grammar:

api_comment = "##\n" comment "##\n"
comment = freeform_comment | symbol_comment
freeform_comment = { "# " text "\n" | "#\n" }
symbol_comment = "# @" name ":\n" { member | tag_section | freeform_comment }
member = "# @" name ':' [ text ] "\n" freeform_comment
tag_section = "# " ( "Returns:", "Since:", "Note:", "Notes:", "Example:", "Examples:" ) [ text ]  "\n" freeform_comment
text = free text with markup

Note that the grammar is ambiguous: a line "# @foo:\n" can be parsed
both as freeform_comment and as symbol_comment.  The actual parser
recognizes symbol_comment.

See docs/qapi-code-gen.txt for more details.

Deficiencies and limitations:
- the generated QMP documentation includes internal types
- union type support is lacking
- type information is lacking in generated documentation
- doc comment error message positions are imprecise, they point
  to the beginning of the comment.
- a few minor issues, all marked TODO/FIXME in the code

Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Message-Id: &lt;20170113144135.5150-16-marcandre.lureau@redhat.com&gt;
Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
[test-qapi.py tweaked to avoid trailing empty lines in .out]
Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
</content>
</entry>
</feed>
