History log of /openbmc/qemu/tests/qapi-schema/alternate-conflict-dict.json (Results 1 – 11 of 11)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v9.2.0, v9.1.2, v9.1.1, v9.1.0, v8.0.0, v7.2.0, v7.0.0, v6.2.0, v6.1.0, v5.2.0, v5.0.0, v4.2.0, v4.0.0, v4.0.0-rc1, v4.0.0-rc0, v3.1.0, v3.1.0-rc5, v3.1.0-rc4, v3.1.0-rc3, v3.1.0-rc2, v3.1.0-rc1, v3.1.0-rc0, libfdt-20181002, ppc-for-3.1-20180925, ppc-for-3.1-20180907, ppc-for-3.1-20180821, v3.0.0, v3.0.0-rc4, v2.12.1, ppc-for-3.0-20180801, v3.0.0-rc3, v3.0.0-rc2, v3.0.0-rc1, ppc-for-3.0-20180716, v3.0.0-rc0, ppc-for-3.0-20180709, ppc-for-3.0-20180703, v2.11.2, ppc-for-3.0-20180622, ppc-for-3.0-20180618, ppc-for-3.0-20180612, ppc-for-2.13-20180504, ppc-for-2.13-20180427, v2.12.0, v2.12.0-rc4, v2.12.0-rc3, ppc-for-2.12-20180410, v2.12.0-rc2, v2.12.0-rc1, v2.12.0-rc0, ppc-for-2.12-20180319, ppc-for-2.12-20180315, ppc-for-2.12-20180306, ppc-for-2.12-20180302, ppc-for-2.12-20180216, v2.11.1, ppc-for-2.12-20180212, ppc-for-2.12-20180129, ppc-for-2.12-20180121, ppc-for-2.12-20180119, ppc-for-2.12-20180117, ppc-for-2.12-20180111, ppc-for-2.12-20180108, ppc-for-2.12-20180103, ppc-for-2.12-20171219, v2.10.2, ppc-for-2.12-20171215, v2.11.0, v2.11.0-rc5, v2.11.0-rc4, ppc-for-2.11-20171205, ppc-for-2.11-20171204, v2.11.0-rc3, ppc-for-2.11-20171127, ppc-for-2.11-20171122, v2.11.0-rc2, ppc-for-2.11-20171120, v2.11.0-rc1, ppc-for-2.11-20171114, ppc-for-2.11-20171108, v2.11.0-rc0, ppc-for-2.11-20171017, v2.10.1, ppc-for-2.11-20170927, ppc-for-2.11-20170915, ppc-for-2.11-20170908, v2.9.1, v2.10.0, v2.10.0-rc4, ppc-for-2.10-20170823, ppc-for-2.10-20170822, v2.10.0-rc3, ppc-for-2.10-20170809, v2.10.0-rc2, v2.10.0-rc1, ppc-for-2.10-20170731, v2.10.0-rc0, ppc-for-2.10-20170725, ppc-for-2.10-20170717, ppc-for-2.10-20170714, ppc-for-2.10-20170711, ppc-for-2.10-20170630, ppc-for-2.10-20170609, ppc-for-2.10-20170606
# 43771d5d 01-Jun-2017 Peter Maydell <peter.maydell@linaro.org>

Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-05-31' into staging

QAPI patches for 2017-05-31

# gpg: Signature made Wed 31 May 2017 18:06:39 BST
# gpg: using RSA k

Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-05-31' into staging

QAPI patches for 2017-05-31

# gpg: Signature made Wed 31 May 2017 18:06:39 BST
# gpg: using RSA key 0x3870B400EB918653
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>"
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-qapi-2017-05-31:
qapi: Reject alternates that can't work with keyval_parse()
tests/qapi-schema: Avoid 'str' in alternate test cases
qapi: Document visit_type_any() issues with keyval input
qobject-input-visitor: Reject non-finite numbers with keyval

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


Revision tags: ppc-for-2.10-20170525
# c0644771 22-May-2017 Markus Armbruster <armbru@redhat.com>

qapi: Reject alternates that can't work with keyval_parse()

Alternates are sum types like unions, but use the JSON type on the
wire / QType in QObject instead of an explicit tag. That's why we
requ

qapi: Reject alternates that can't work with keyval_parse()

Alternates are sum types like unions, but use the JSON type on the
wire / QType in QObject instead of an explicit tag. That's why we
require alternate members to have distinct QTypes.

The recently introduced keyval_parse() (commit d454dbe) can only
produce string scalars. The qobject_input_visitor_new_keyval() input
visitor mostly hides the difference, so code using a QObject input
visitor doesn't have to care whether its input was parsed from JSON or
KEY=VALUE,... The difference leaks for alternates, as noted in commit
0ee9ae7: a non-string, non-enum scalar alternate value can't currently
be expressed.

In part, this is just our insufficiently sophisticated implementation.
Consider alternate type 'GuestFileWhence'. It has an integer member
and a 'QGASeek' member. The latter is an enumeration with values
'set', 'cur', 'end'. The meaning of b=set, b=cur, b=end, b=0, b=1 and
so forth is perfectly obvious. However, our current implementation
falls apart at run time for b=0, b=1, and so forth. Fixable, but not
today; add a test case and a TODO comment.

Now consider an alternate type with a string and an integer member.
What's the meaning of a=42? Is it the string "42" or the integer 42?
Whichever meaning you pick makes the other inexpressible. This isn't
just an implementation problem, it's fundamental. Our current
implementation will pick string.

So far, we haven't needed such alternates. To make sure we stop and
think before we add one that cannot sanely work with keyval_parse(),
let's require alternate members to have sufficiently distinct
representation in KEY=VALUE,... syntax:

* A string member clashes with any other scalar member

* An enumeration member clashes with bool members when it has value
'on' or 'off'.

* An enumeration member clashes with numeric members when it has a
value that starts with '-', '+', or a decimal digit. This is a
rather lazy approximation of the actual number syntax accepted by
the visitor.

Note that enumeration values starting with '-' and '+' are rejected
elsewhere already, but better safe than sorry.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1495471335-23707-5-git-send-email-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

show more ...


Revision tags: ppc-for-2.10-20170511, ppc-for-2.10-20170510, ppc-for-2.10-20170426, ppc-for-2.10-20170424, v2.8.1.1, v2.9.0, v2.9.0-rc5, v2.9.0-rc4, v2.9.0-rc3, ppc-for-2.9-20170403, v2.8.1, ppc-for-2.9-20170329, v2.9.0-rc2, ppc-for-2.9-20170323, v2.9.0-rc1
# 3c2758c2 16-Mar-2017 Peter Maydell <peter.maydell@linaro.org>

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 k

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 <armbru@redhat.com>"
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>"
# 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 <peter.maydell@linaro.org>

show more ...


# 87c16dce 15-Mar-2017 Markus Armbruster <armbru@redhat.com>

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

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 <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <1489582656-31133-4-git-send-email-armbru@redhat.com>

show more ...


Revision tags: v2.9.0-rc0, ppc-for-2.9-20170314, ppc-for-2.9-20170306, submodule-update-20170303, ppc-for-2.9-20170303, ppc-for-2.9-20170301, ppc-for-2.9-20170222, isa-cleanup-20170206, ppc-for-2.9-20170202
# 23eb9e6b 17-Jan-2017 Peter Maydell <peter.maydell@linaro.org>

Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-01-16' into staging

QAPI patches for 2017-01-16

# gpg: Signature made Mon 16 Jan 2017 09:26:49 GMT
# gpg: using RSA k

Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-01-16' into staging

QAPI patches for 2017-01-16

# gpg: Signature made Mon 16 Jan 2017 09:26:49 GMT
# gpg: using RSA key 0x3870B400EB918653
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>"
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-qapi-2017-01-16: (180 commits)
build-sys: add qapi doc generation targets
build-sys: add txt documentation rules
build-sys: use a generic TEXI2MAN rule
build-sys: remove dvi doc generation
build-sys: use --no-split for info
docs: add qemu logo to pdf
qapi: add qapi2texi script
qmp-events: move 'MIGRATION_PASS' doc to schema
qmp-events: move 'DUMP_COMPLETED' doc to schema
qmp-events: move 'MEM_UNPLUG_ERROR' doc to schema
qmp-events: move 'VSERPORT_CHANGE' doc to schema
qmp-events: move 'QUORUM_REPORT_BAD' doc to schema
qmp-events: move 'QUORUM_FAILURE' doc to schema
qmp-events: move 'GUEST_PANICKED' doc to schema
qmp-events: move 'BALLOON_CHANGE' doc to schema
qmp-events: move 'ACPI_DEVICE_OST' doc to schema
qmp-events: move 'MIGRATION' doc to schema
qmp-events: move 'SPICE_MIGRATE_COMPLETED' doc to schema
qmp-events: move 'SPICE_DISCONNECTED' doc to schema
qmp-events: move 'SPICE_INITIALIZED' doc to schema
...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


# 3313b612 13-Jan-2017 Marc-André Lureau <marcandre.lureau@redhat.com>

qapi: add qapi2texi script

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

qapi: add qapi2texi script

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
# | -> do this
# | <- 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:
#
# -> { "execute": "quit" }
# <- { "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 <marcandre.lureau@redhat.com>
Message-Id: <20170113144135.5150-16-marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[test-qapi.py tweaked to avoid trailing empty lines in .out]
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...


Revision tags: ppc-for-2.9-20170112, master-20170112, v2.7.1, v2.8.0, v2.8.0-rc4, v2.8.0-rc3, ppc-for-2.8-20161201, v2.8.0-rc2, ppc-for-2.8-20161123, v2.8.0-rc1, isa-cleanup-20161118, qemu-kvm-1.5.3-127.el7, v2.8.0-rc0, ppc-for-2.8-20161115, qemu-kvm-1.5.3-126.el7_3.1, qemu-kvm-0.12.1.2-2.496.el6, ppc-for-2.8-20161028, qemu-kvm-0.12.1.2-2.495.el6, ppc-for-2.8-20161026, ppc-for-2.8-20161017, qemu-kvm-rhev-2.3.0-31.el7_2.23, ppc-for-2.7-20161013, qemu-kvm-1.5.3-105.el7_2.10, ppc-for-2.8-20161006, qemu-kvm-1.5.3-105.el7_2.9, v2.6.2, RHELSA-7.3_qemu-kvm-rhev, qemu-kvm-rhev-2.6.0-28.el7, RHEL-7.3_qemu-kvm-rhev, qemu-kvm-rhev-2.6.0-27.el7, ppc-for-2.8-20160923, qemu-kvm-0.12.1.2-2.494.el6, ppc-for-2.8-20160922, RHEL-7.3_qemu-kvm, qemu-kvm-1.5.3-126.el7, qemu-kvm-rhev-2.6.0-26.el7, vfio-fixes-20160915.0, qemu-kvm-1.5.3-125.el7, qemu-kvm-rhev-2.3.0-31.el7_2.22, qemu-kvm-rhev-2.6.0-25.el7, qemu-kvm-1.5.3-124.el7, qemu-kvm-rhev-2.6.0-24.el7, qemu-kvm-1.5.3-123.el7, qemu-kvm-0.12.1.2-2.415.el6_5.16, ppc-for-2.8-20160907, qemu-kvm-rhev-2.6.0-23.el7, ppc-for-2.8-20160906, v2.7.0, RHEL-7.3-qemu-guest-agent, qemu-guest-agent-2.5.0-3.el7, v2.7.0-rc5, qemu-kvm-1.5.3-122.el7, qemu-kvm-rhev-2.6.0-22.el7, v2.7.0-rc4, v2.6.1, v2.7.0-rc3, qemu-kvm-rhev-2.6.0-21.el7, qemu-kvm-1.5.3-105.el7_2.8, ppc-for-2.7-20160815, qemu-kvm-rhev-2.6.0-20.el7, ppc-for-2.7-20160810, v2.7.0-rc2, ppc-for-2.7-20160808, qemu-kvm-rhev-2.6.0-19.el7, ppc-for-2.7-20160803, qemu-kvm-rhev-2.6.0-18.el7, qemu-kvm-1.5.3-105.el7_2.7, qemu-kvm-rhev-2.3.0-31.el7_2.21, qemu-kvm-1.5.3-121.el7, v2.7.0-rc1, qemu-kvm-rhev-2.6.0-17.el7, qemu-kvm-1.5.3-120.el7, ppc-for-2.7-20160729, qemu-kvm-0.12.1.2-2.493.el6, qemu-kvm-1.5.3-105.el7_2.6, qemu-kvm-0.12.1.2-2.491.el6_8.3, qemu-kvm-rhev-2.3.0-31.el7_2.20, qemu-kvm-1.5.3-119.el7, qemu-kvm-rhev-2.6.0-16.el7, ppc-for-2.7-20160726, v2.7.0-rc0, qemu-kvm-rhev-2.6.0-15.el7, qemu-kvm-rhev-2.3.0-31.el7_2.19, qemu-kvm-rhev-2.6.0-14.el7, qemu-kvm-1.5.3-118.el7, vfio-update-20160718.0, ppc-for-2.7-20160718, qemu-kvm-1.5.3-117.el7, qemu-kvm-rhev-2.6.0-13.el7, qemu-kvm-rhev-2.6.0-12.el7, qemu-kvm-rhev-2.3.0-31.el7_2.18, ppc-for-2.7-20160705, qemu-kvm-rhev-2.6.0-11.el7, qemu-kvm-1.5.3-105.el7_2.5, ppc-for-2.7-20160701, vfio-update-20160630.0, qemu-kvm-0.12.1.2-2.492.el6, qemu-kvm-rhev-2.6.0-10.el7, qemu-kvm-rhev-2.3.0-31.el7_2.17, qemu-kvm-1.5.3-116.el7, ppc-for-2.7-20160627, qemu-kvm-rhev-2.6.0-9.el7, ppc-for-2.7-20160623, qemu-kvm-0.12.1.2-2.491.el6_8.2, qemu-kvm-rhev-2.6.0-8.el7, qemu-kvm-1.5.3-115.el7, ppc-for-2.7-20160617, qemu-kvm-rhev-2.3.0-31.el7_2.16, qemu-kvm-rhev-2.6.0-7.el7, qemu-kvm-rhev-2.6.0-6.el7, qemu-kvm-1.5.3-114.el7, qemu-guest-agent-2.5.0-2.el7, ppc-for-2.7-20160614, ppc-for-2.7-20160607, qemu-kvm-rhev-2.3.0-31.el7_2.15, qemu-kvm-rhev-2.6.0-5.el7, ppc-for-2.7-20160531, qemu-kvm-1.5.3-113.el7, ppc-for-2.7-20160527, vfio-update-20160526.1, maintainers-for-peter, qemu-kvm-rhev-2.6.0-4.el7, qemu-kvm-rhev-2.6.0-3.el7, qemu-kvm-rhev-2.1.2-23.el7_1.12, qemu-kvm-rhev-2.6.0-2.el7, qemu-kvm-rhev-2.3.0-31.el7_2.14, qemu-kvm-1.5.3-112.el7, qemu-kvm-rhev-2.6.0-1.el7, v2.6.0, v2.5.1.1, v2.6.0-rc5, qemu-kvm-1.5.3-111.el7, qemu-kvm-1.5.3-110.el7, qemu-kvm-0.12.1.2-2.479.el6_7.5, qemu-kvm-0.12.1.2-2.491.el6_8.1, qemu-kvm-rhev-2.3.0-31.el7_2.13, v2.6.0-rc4, ppc-for-2.6-20160426, ppc-for-2.6-20160423, v2.6.0-rc3, ppc-for-2.6-20160419, ppc-for-2.6-20160418, v2.6.0-rc2, qemu-kvm-rhev-2.3.0-31.el7_2.12, ppc-for-2.6-20160408, qemu-kvm-rhev-2.3.0-31.el7_2.11, v2.6.0-rc1, ppc-for-2.6-20160405, openbmc-20160404-1, qemu-kvm-rhev-2.5.0-4.el7, v2.6.0-rc0, qemu-kvm-0.12.1.2-2.491.el6, v2.5.1, vfio-update-20160328.0, ppc-for-2.6-20160324, qemu-kvm-rhev-2.5.0-3.el7, vfio-ddw-20160322, machine-pull-request, ppc-for-2.6-20160316, qemu-kvm-rhev-2.3.0-31.el7_2.10, qemu-kvm-1.5.3-109.el7, qemu-kvm-rhev-2.3.0-31.el7_2.9, vfio-update-20160310.2, vfio-update-20160311.0, qemu-kvm-rhev-2.5.0-2.el7, qemu-kvm-0.12.1.2-2.490.el6, ppc-for-2.6-20160229, ppc-for-2.6-20160225, qemu-kvm-rhev-2.3.0-31.el7_2.8, qemu-slof-20160223, vfio-update-20160219.1, qemu-kvm-0.12.1.2-2.489.el6, ppc-for-2.6-20160218, qemu-kvm-1.5.3-108.el7, ppc-for-2.6-20160201, qemu-kvm-0.12.1.2-2.487.el6, ppc-for-2.6-20160129, qemu-kvm-0.12.1.2-2.479.el6_7.4, qemu-kvm-0.12.1.2-2.486.el6, ppc-for-2.6-20160125, qemu-kvm-0.12.1.2-2.485.el6, qemu-kvm-rhev-2.3.0-31.el7_2.7, qemu-kvm-1.5.3-105.el7_2.3, qemu-kvm-1.5.3-105.el7_2.2, qemu-kvm-1.5.3-107.el7, vfio-update-20160119.0, qemu-kvm-0.12.1.2-2.484.el6, qom-devices-for-peter, qemu-kvm-rhev-2.3.0-31.el7_2.6, qemu-kvm-1.5.3-106.el7, qemu-guest-agent-2.5.0-1.el7, qemu-kvm-rhev-2.5.0-1.el7, ppc-for-2.6-20160111, qemu-kvm-0.12.1.2-2.483.el6, x86-next-pull-request, qemu-kvm-0.12.1.2-2.479.el6_7.3, v2.5.0, qemu-kvm-0.12.1.2-2.482.el6, v2.5.0-rc4, qemu-kvm-rhev-2.3.0-31.el7_2.5, v2.5.0-rc3, ppc-for-2.5-20151204, qemu-kvm-rhev-2.3.0-31.el7_2.4, qemu-kvm-rhev-2.3.0-31.el7_2_2.4, ppc-for-2.5-20151130, v2.5.0-rc2, v2.5.0-rc1, qemu-kvm-rhev-2.3.0-31.el7_2.3, qemu-kvm-rhev-2.3.0-31.el7_2.2, qemu-kvm-1.5.3-105.el7_2.1, qemu-kvm-rhev-2.1.2-23.el7_1.11, v2.5.0-rc0, ppc-next-20151112, ppc-next-20151111, vfio-update-20151110.0, qemu-kvm-rhev-2.3.0-31.el7_2.1, v2.4.1, ppc-next-20151023, qom-cpu-for-peter, qemu-kvm-1.5.3-86.el7_1.8, RHEL-7.2_qemu-kvm, qemu-kvm-1.5.3-105.el7, RHEL-7.2_qemu-kvm-rhev, qemu-kvm-rhev-2.3.0-31.el7, qemu-kvm-rhev-2.3.0-30.el7, qemu-kvm-rhev-2.1.2-23.el7_1_1.10, qemu-kvm-1.5.3-86.el7_1.7, ppc-next-20151009, qemu-kvm-rhev-2.3.0-29.el7, vfio-update-20151005.0, vfio-update-20151007.0, qemu-kvm-rhev-2.3.0-28.el7, qemu-kvm-rhev-2.3.0-27.el7, qemu-kvm-0.12.1.2-2.479.el6_7.2, qemu-kvm-0.12.1.2-2.481.el6, qemu-kvm-rhev-2.3.0-26.el7, vfio-update-20150925.0, vfio-update-20150923.0, qemu-kvm-rhev-2.3.0-25.el7, qemu-kvm-1.5.3-104.el7, spapr-next-20150923, v2.4.0.1, spapr-next-20150921, qemu-kvm-rhev-2.3.0-24.el7, spapr-next-20150916, qemu-kvm-rhev-2.3.0-23.el7, RHEL-7.2_qemu-guest-agent, qemu-guest-agent-2.3.0-4.el7, qemu-kvm-1.5.3-103.el7, qemu-kvm-rhev-2.3.0-22.el7, qemu-kvm-1.5.3-102.el7, spapr-next-20150903, qemu-kvm-rhev-2.1.2-23.el7_1.9, qemu-kvm-rhev-2.3.0-21.el7, qemu-kvm-rhev-2.3.0-20.el7, qemu-guest-agent-2.3.0-3.el7, qemu-kvm-rhev-2.3.0-19.el7, qemu-kvm-1.5.3-101.el7, qemu-kvm-rhev-2.3.0-18.el7, qemu-kvm-rhev-2.3.0-17.el7, v2.4.0, v2.3.1, qemu-kvm-1.5.3-100.el7, qemu-kvm-rhev-2.3.0-16.el7, qemu-kvm-0.12.1.2-2.479.el6_7.1, qemu-kvm-0.12.1.2-2.480.el6, qemu-kvm-rhev-2.1.2-23.el7_1.8, qemu-kvm-1.5.3-86.el7_1.6, qemu-kvm-1.5.3-99.el7, v2.4.0-rc4, qemu-kvm-rhev-2.3.0-15.el7, qemu-kvm-rhev-2.1.2-23.el7_1_1.7, qemu-kvm-rhev-2.3.0-14.el7, v2.4.0-rc3, qemu-kvm-1.5.3-98.el7, qemu-kvm-rhev-2.3.0-13.el7, vfio-fixes-20150723.0, v2.4.0-rc2, qemu-kvm-1.5.3-86.el7_1.5, qemu-kvm-rhev-2.1.2-23.el7_1.6, qemu-kvm-rhev-2.1.2-23.el7_1.5, qemu-kvm-rhev-2.3.0-12.el7, qemu-kvm-1.5.3-86.el7_1.4, qemu-kvm-1.5.3-97.el7, qemu-kvm-rhev-2.3.0-11.el7, qemu-kvm-1.5.3-96.el7, v2.4.0-rc1, qemu-kvm-rhev-2.3.0-10.el7, qemu-guest-agent-2.3.0-2.el7, v2.4.0-rc0, qemu-kvm-rhev-2.3.0-9.el7, qemu-kvm-rhev-2.3.0-8.el7, qemu-kvm-1.5.3-95.el7, vfio-update-20150706.0, qemu-kvm-rhev-2.3.0-7.el7, spapr-next-20150702, qemu-kvm-rhev-2.3.0-6.el7, qemu-kvm-1.5.3-94.el7, for_autotest, for_autotest_next, for_upstream, qemu-kvm-rhev-2.1.2-23.el7_1.4, qemu-kvm-rhev-2.1.2-23.el7_1_1.3, qemu-kvm-rhev-2.3.0-5.el7, qemu-kvm-1.5.3-86.el7_1.3, qemu-kvm-1.5.3-93.el7, RHEL-6.7, qemu-kvm-0.12.1.2-2.479.el6, qemu-kvm-rhev-2.3.0-4.el7, qemu-kvm-rhev-2.3.0-3.el7, qemu-kvm-1.5.3-92.el7, qemu-kvm-1.5.3-91.el7, vfio-update-20150609.0, vfio-update-20150608.0, qemu-kvm-1.5.3-90.el7, qemu-kvm-0.12.1.2-2.478.el6, x86-pull-request, qemu-kvm-0.12.1.2-2.448.el6_6.4, qemu-kvm-0.12.1.2-2.477.el6, qemu-kvm-rhev-2.3.0-2.el7, qemu-kvm-1.5.3-89.el7, qemu-kvm-0.12.1.2-2.476.el6, spapr-dev-staging, qemu-kvm-0.12.1.2-2.415.el6_5.15, signed-s390-for-upstream-for, qemu-kvm-1.5.3-86.el7_1.2, qemu-kvm-rhev-2.1.2-23.el7_1.3, qemu-kvm-rhev-0.12.1.2-2.448.el6_6.3, qemu-kvm-0.12.1.2-2.475.el6, qemu-kvm-0.12.1.2-2.474.el6, qemu-kvm-1.5.3-88.el7, qemu-kvm-0.12.1.2-2.473.el6
# 233353ec 05-May-2015 Peter Maydell <peter.maydell@linaro.org>

Merge remote-tracking branch 'remotes/armbru/tags/pull-qmp-2015-05-05' into staging

drop qapi nested structs

# gpg: Signature made Tue May 5 17:40:40 2015 BST using RSA key ID EB918653
# gpg: Good

Merge remote-tracking branch 'remotes/armbru/tags/pull-qmp-2015-05-05' into staging

drop qapi nested structs

# gpg: Signature made Tue May 5 17:40:40 2015 BST using RSA key ID EB918653
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>"

* remotes/armbru/tags/pull-qmp-2015-05-05: (40 commits)
qapi: Check for member name conflicts with a base class
qapi: Support (subset of) \u escapes in strings
qapi: Tweak doc references to QMP when QGA is also meant
qapi: Drop dead visitor code related to nested structs
qapi: Drop support for inline nested types
qapi: Drop inline nested structs in query-pci
qapi: Drop inline nested struct in query-version
qapi: Drop tests for inline nested structs
qapi: Merge UserDefTwo and UserDefNested in tests
qapi: Forbid 'type' in schema
qapi: Use 'struct' instead of 'type' in schema
qapi: Document 'struct' metatype
qapi: Prefer 'struct' over 'type' in generator
qapi: More rigorous checking for type safety bypass
qapi: Whitelist commands that don't return dictionary
qapi: Require valid names
qapi: More rigourous checking of types
qapi: Add some type check tests
qapi: Unify type bypass and add tests
qapi: Allow true, false and null in schema json
...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


# 895a2a80 04-May-2015 Eric Blake <eblake@redhat.com>

qapi: Use 'struct' instead of 'type' in schema

Referring to "type" as both a meta-type (built-in, enum, union,
alternate, or struct) and a specific type (the name that the
schema uses for declaring

qapi: Use 'struct' instead of 'type' in schema

Referring to "type" as both a meta-type (built-in, enum, union,
alternate, or struct) and a specific type (the name that the
schema uses for declaring structs) is confusing. Do the bulk of
the conversion to "struct" in qapi schema, with a fairly
mechanical:

for f in `find -name '*.json'; do sed -i "s/'type'/'struct'/"; done

followed by manually filtering out the places where we have a
'type' embedded in 'data'. Then tweak a couple of tests whose
output changes slightly due to longer lines.

I also verified that the generated files for QMP and QGA (such
as qmp-commands.h) are the same before and after, as assurance
that I didn't leave in any accidental member name changes.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...


# ab916fad 04-May-2015 Eric Blake <eblake@redhat.com>

qapi: Use 'alternate' to replace anonymous union

Previous patches have led up to the point where I create the
new meta-type "'alternate':'Foo'". See the previous patches
for documentation; I intent

qapi: Use 'alternate' to replace anonymous union

Previous patches have led up to the point where I create the
new meta-type "'alternate':'Foo'". See the previous patches
for documentation; I intentionally split as much work into
earlier patches to minimize the size of this patch, but a lot
of it is churn due to testsuite fallout after updating to the
new type.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...


# 44bd1276 04-May-2015 Eric Blake <eblake@redhat.com>

qapi: Tighten checking of unions

Previous commits demonstrated that the generator had several
flaws with less-than-perfect unions:
- a simple union that listed the same branch twice (or two variant

qapi: Tighten checking of unions

Previous commits demonstrated that the generator had several
flaws with less-than-perfect unions:
- a simple union that listed the same branch twice (or two variant
names that map to the same C enumerator, including the implicit
MAX sentinel) ended up generating invalid C code
- an anonymous union that listed two branches with the same qtype
ended up generating invalid C code
- the generator crashed on anonymous union attempts to use an
array type
- the generator was silently ignoring a base type for anonymous
unions
- the generator allowed unknown types or nested anonymous unions
as a branch in an anonymous union

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...


# 3d0c4829 04-May-2015 Eric Blake <eblake@redhat.com>

qapi: Add some union tests

Demonstrate that the qapi generator doesn't deal well with unions
that aren't up to par. Later patches will update the expected
reseults as the generator is made stricter.

qapi: Add some union tests

Demonstrate that the qapi generator doesn't deal well with unions
that aren't up to par. Later patches will update the expected
reseults as the generator is made stricter. A few tests work
as planned, but most show poor or missing error messages.

Of particular note, qapi-code-gen.txt documents 'base' only for
flat unions, but the tests here demonstrate that we currently allow
a 'base' to a simple union, although it is exercised only in the
testsuite. Later patches will remove this undocumented feature, to
give us more flexibility in adding other future extensions to union
types. For example, one possible extension is the idea of a
type-safe simple enum, where added fields tie the discriminator to
a user-defined enum type rather than creating an implicit enum from
the names in 'data'. But adding such safety on top of a simple
enum with a base type could look ambiguous with a flat enum;
besides, the documentation also mentions how any simple union can
be represented by an equivalent flat union. So it will be simpler
to just outlaw support for something we aren't using.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...