From: Eric Blake <eblake@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, famz@redhat.com, armbru@redhat.com,
wenchaoqemu@gmail.com, lcapitulino@redhat.com
Subject: [Qemu-devel] [PATCH v5 00/28] drop qapi nested structs
Date: Tue, 24 Mar 2015 14:03:25 -0600 [thread overview]
Message-ID: <1427227433-5030-1-git-send-email-eblake@redhat.com> (raw)
After several months of sitting on this, I finally made progress
on it. Let's get it in 2.4, and I promise to kick out a v6
(if needed) with much less delay.
We want to eventually allow qapi defaults, by making:
'data':{'*flag':'bool'}
shorthand for:
'data':{'flag':{'type':'bool', 'optional':true}}
so that the default can be specified:
'data':{'flag':{'type':'bool', 'optional':true, 'default':true}}
This series does not quite get us there, but it DOES do a number
of other things. It gets rid of the three uses of nested inline
structs, changes anonymous unions to use a specific 'alternate'
metatype rather than abusing 'union', and fixes lots of other
parser bugs found while designing the testsuite. The testsuite
changes make the bulk of this series, with a repeating pattern
of writing tests that expose weaknesses in the old parser, then
beefing up the generator to catch the problem during the initial
parse rather than choking with an obscure python message or even
causing a C compilation failure.
v4 was here:
https://lists.gnu.org/archive/html/qemu-devel/2014-09/msg04022.html
Changes since then: lots of refactoring; 8 new commits; lots of
testsuite additions; address Markus' review comments where I
could. However, so much has changed, and so much time elapsed,
that it is probably easier to just review this series fresh than
to try and compare it to earlier versions.
Eric Blake (27):
qapi: Document type-safety considerations
qapi: Fix generation of 'size' builtin type
qapi: Require ASCII in schema
qapi: Add some enum tests
qapi: Better error messages for bad enums
qapi: Add some union tests
qapi: Simplify tests of simple unions
qapi: Better error messages for bad unions
qapi: Prepare for catching more semantic parse errors
qapi: Segregate anonymous unions into alternates in generator
qapi: Rename anonymous union type in test
qapi: Introduce 'alternate' to replace anonymous union
qapi: Add some expr tests
qapi: Better error messages for bad expressions
qapi: Add tests of redefined expressions
qapi: Better error messages for duplicated expressions
qapi: Unify type bypass and add tests
qapi: Add some type check tests
qapi: More rigourous checking of types
qapi: Require valid names
qapi: Whitelist commands that don't return dictionary
qapi: More rigorous checking for type safety bypass
qapi: Merge UserDefTwo and UserDefNested in tests
qapi: Drop tests for inline nested structs
qapi: Drop inline nested type in query-version
qapi: Drop inline nested types in query-pci
qapi: Drop support for inline nested types
Fam Zheng (1):
qapi: Allow true, false and null in schema json
docs/qapi-code-gen.txt | 347 ++++++++++++---
docs/qmp/qmp-spec.txt | 92 +++-
hmp.c | 28 +-
hw/pci/pci.c | 42 +-
qapi-schema.json | 104 +++--
qapi/block-core.json | 6 +-
qapi/common.json | 26 +-
qga/qapi-schema.json | 8 +-
qmp.c | 9 +-
scripts/qapi-commands.py | 8 +-
scripts/qapi-event.py | 4 +-
scripts/qapi-types.py | 61 ++-
scripts/qapi-visit.py | 75 ++--
scripts/qapi.py | 469 +++++++++++++++++----
tests/Makefile | 32 +-
tests/qapi-schema/alternate-array.err | 1 +
tests/qapi-schema/alternate-array.exit | 1 +
tests/qapi-schema/alternate-array.json | 6 +
tests/qapi-schema/alternate-array.out | 0
tests/qapi-schema/alternate-base.err | 1 +
tests/qapi-schema/alternate-base.exit | 1 +
tests/qapi-schema/alternate-base.json | 6 +
tests/qapi-schema/alternate-base.out | 0
tests/qapi-schema/alternate-clash.err | 1 +
tests/qapi-schema/alternate-clash.exit | 1 +
tests/qapi-schema/alternate-clash.json | 3 +
tests/qapi-schema/alternate-clash.out | 0
tests/qapi-schema/alternate-conflict-dict.err | 1 +
tests/qapi-schema/alternate-conflict-dict.exit | 1 +
tests/qapi-schema/alternate-conflict-dict.json | 8 +
tests/qapi-schema/alternate-conflict-dict.out | 0
tests/qapi-schema/alternate-conflict-string.err | 1 +
tests/qapi-schema/alternate-conflict-string.exit | 1 +
tests/qapi-schema/alternate-conflict-string.json | 7 +
tests/qapi-schema/alternate-conflict-string.out | 0
tests/qapi-schema/alternate-good.err | 0
tests/qapi-schema/alternate-good.exit | 1 +
tests/qapi-schema/alternate-good.json | 9 +
tests/qapi-schema/alternate-good.out | 6 +
tests/qapi-schema/alternate-nested.err | 1 +
tests/qapi-schema/alternate-nested.exit | 1 +
tests/qapi-schema/alternate-nested.json | 5 +
tests/qapi-schema/alternate-nested.out | 0
tests/qapi-schema/alternate-unknown.err | 1 +
tests/qapi-schema/alternate-unknown.exit | 1 +
tests/qapi-schema/alternate-unknown.json | 3 +
tests/qapi-schema/alternate-unknown.out | 0
tests/qapi-schema/bad-base.err | 1 +
tests/qapi-schema/bad-base.exit | 1 +
tests/qapi-schema/bad-base.json | 3 +
tests/qapi-schema/bad-base.out | 0
tests/qapi-schema/bad-ident.err | 1 +
tests/qapi-schema/bad-ident.exit | 1 +
tests/qapi-schema/bad-ident.json | 3 +
tests/qapi-schema/bad-ident.out | 0
tests/qapi-schema/bad-type-bool.err | 1 +
tests/qapi-schema/bad-type-bool.exit | 1 +
tests/qapi-schema/bad-type-bool.json | 2 +
tests/qapi-schema/bad-type-bool.out | 0
tests/qapi-schema/bad-type-dict.err | 1 +
tests/qapi-schema/bad-type-dict.exit | 1 +
tests/qapi-schema/bad-type-dict.json | 2 +
tests/qapi-schema/bad-type-dict.out | 0
tests/qapi-schema/bad-type-int.err | 1 +
tests/qapi-schema/bad-type-int.exit | 1 +
tests/qapi-schema/bad-type-int.json | 3 +
tests/qapi-schema/bad-type-int.out | 0
tests/qapi-schema/command-int.err | 1 +
tests/qapi-schema/command-int.exit | 1 +
tests/qapi-schema/command-int.json | 3 +
tests/qapi-schema/command-int.out | 0
tests/qapi-schema/data-array-empty.err | 1 +
tests/qapi-schema/data-array-empty.exit | 1 +
tests/qapi-schema/data-array-empty.json | 2 +
tests/qapi-schema/data-array-empty.out | 0
tests/qapi-schema/data-array-unknown.err | 1 +
tests/qapi-schema/data-array-unknown.exit | 1 +
tests/qapi-schema/data-array-unknown.json | 2 +
tests/qapi-schema/data-array-unknown.out | 0
tests/qapi-schema/data-int.err | 1 +
tests/qapi-schema/data-int.exit | 1 +
tests/qapi-schema/data-int.json | 2 +
tests/qapi-schema/data-int.out | 0
tests/qapi-schema/data-member-array-bad.err | 1 +
tests/qapi-schema/data-member-array-bad.exit | 1 +
tests/qapi-schema/data-member-array-bad.json | 2 +
tests/qapi-schema/data-member-array-bad.out | 0
tests/qapi-schema/data-member-array.err | 0
tests/qapi-schema/data-member-array.exit | 1 +
tests/qapi-schema/data-member-array.json | 4 +
tests/qapi-schema/data-member-array.out | 5 +
tests/qapi-schema/data-member-unknown.err | 1 +
tests/qapi-schema/data-member-unknown.exit | 1 +
tests/qapi-schema/data-member-unknown.json | 2 +
tests/qapi-schema/data-member-unknown.out | 0
tests/qapi-schema/data-unknown.err | 1 +
tests/qapi-schema/data-unknown.exit | 1 +
tests/qapi-schema/data-unknown.json | 2 +
tests/qapi-schema/data-unknown.out | 0
tests/qapi-schema/double-data.err | 1 +
tests/qapi-schema/double-data.exit | 1 +
tests/qapi-schema/double-data.json | 2 +
tests/qapi-schema/double-data.out | 0
tests/qapi-schema/double-type.err | 1 +
tests/qapi-schema/double-type.exit | 1 +
tests/qapi-schema/double-type.json | 2 +
tests/qapi-schema/double-type.out | 0
tests/qapi-schema/enum-clash-member.err | 1 +
tests/qapi-schema/enum-clash-member.exit | 1 +
tests/qapi-schema/enum-clash-member.json | 2 +
tests/qapi-schema/enum-clash-member.out | 0
tests/qapi-schema/enum-dict-member.err | 1 +
tests/qapi-schema/enum-dict-member.exit | 1 +
tests/qapi-schema/enum-dict-member.json | 2 +
tests/qapi-schema/enum-dict-member.out | 0
tests/qapi-schema/enum-empty.err | 0
tests/qapi-schema/enum-empty.exit | 1 +
tests/qapi-schema/enum-empty.json | 2 +
tests/qapi-schema/enum-empty.out | 3 +
tests/qapi-schema/enum-int-member.err | 1 +
tests/qapi-schema/enum-int-member.exit | 1 +
tests/qapi-schema/enum-int-member.json | 3 +
tests/qapi-schema/enum-int-member.out | 0
tests/qapi-schema/enum-max-member.err | 1 +
tests/qapi-schema/enum-max-member.exit | 1 +
tests/qapi-schema/enum-max-member.json | 3 +
tests/qapi-schema/enum-max-member.out | 0
tests/qapi-schema/enum-missing-data.err | 1 +
tests/qapi-schema/enum-missing-data.exit | 1 +
tests/qapi-schema/enum-missing-data.json | 2 +
tests/qapi-schema/enum-missing-data.out | 0
tests/qapi-schema/enum-union-clash.err | 1 +
tests/qapi-schema/enum-union-clash.exit | 1 +
tests/qapi-schema/enum-union-clash.json | 4 +
tests/qapi-schema/enum-union-clash.out | 0
tests/qapi-schema/enum-wrong-data.err | 1 +
tests/qapi-schema/enum-wrong-data.exit | 1 +
tests/qapi-schema/enum-wrong-data.json | 2 +
tests/qapi-schema/enum-wrong-data.out | 0
tests/qapi-schema/event-case.err | 1 +
tests/qapi-schema/event-case.exit | 1 +
tests/qapi-schema/event-case.json | 2 +
tests/qapi-schema/event-case.out | 0
tests/qapi-schema/event-max.err | 1 +
tests/qapi-schema/event-max.exit | 1 +
tests/qapi-schema/event-max.json | 2 +
tests/qapi-schema/event-max.out | 0
tests/qapi-schema/event-nest-struct.err | 2 +-
tests/qapi-schema/flat-union-bad-base.err | 1 +
tests/qapi-schema/flat-union-bad-base.exit | 1 +
tests/qapi-schema/flat-union-bad-base.json | 13 +
tests/qapi-schema/flat-union-bad-base.out | 0
tests/qapi-schema/flat-union-bad-discriminator.err | 1 +
.../qapi-schema/flat-union-bad-discriminator.exit | 1 +
.../qapi-schema/flat-union-bad-discriminator.json | 15 +
tests/qapi-schema/flat-union-bad-discriminator.out | 0
tests/qapi-schema/flat-union-base-union.err | 1 +
tests/qapi-schema/flat-union-base-union.exit | 1 +
tests/qapi-schema/flat-union-base-union.json | 15 +
tests/qapi-schema/flat-union-base-union.out | 0
tests/qapi-schema/flat-union-no-base.err | 2 +-
tests/qapi-schema/flat-union-no-base.json | 7 +-
.../flat-union-optional-discriminator.err | 1 +
.../flat-union-optional-discriminator.exit | 1 +
.../flat-union-optional-discriminator.json | 9 +
.../flat-union-optional-discriminator.out | 0
tests/qapi-schema/indented-expr.json | 4 +-
tests/qapi-schema/indented-expr.out | 2 +-
tests/qapi-schema/missing-type.err | 1 +
tests/qapi-schema/missing-type.exit | 1 +
tests/qapi-schema/missing-type.json | 2 +
tests/qapi-schema/missing-type.out | 0
tests/qapi-schema/nested-struct-data.err | 1 +
tests/qapi-schema/nested-struct-data.exit | 1 +
tests/qapi-schema/nested-struct-data.json | 4 +
tests/qapi-schema/nested-struct-data.out | 0
tests/qapi-schema/nested-struct-returns.err | 1 +
tests/qapi-schema/nested-struct-returns.exit | 1 +
tests/qapi-schema/nested-struct-returns.json | 3 +
tests/qapi-schema/nested-struct-returns.out | 0
tests/qapi-schema/qapi-schema-test.json | 28 +-
tests/qapi-schema/qapi-schema-test.out | 18 +-
tests/qapi-schema/redefined-builtin.err | 1 +
tests/qapi-schema/redefined-builtin.exit | 1 +
tests/qapi-schema/redefined-builtin.json | 2 +
tests/qapi-schema/redefined-builtin.out | 0
tests/qapi-schema/redefined-command.err | 1 +
tests/qapi-schema/redefined-command.exit | 1 +
tests/qapi-schema/redefined-command.json | 3 +
tests/qapi-schema/redefined-command.out | 0
tests/qapi-schema/redefined-event.err | 1 +
tests/qapi-schema/redefined-event.exit | 1 +
tests/qapi-schema/redefined-event.json | 3 +
tests/qapi-schema/redefined-event.out | 0
tests/qapi-schema/redefined-type.err | 1 +
tests/qapi-schema/redefined-type.exit | 1 +
tests/qapi-schema/redefined-type.json | 3 +
tests/qapi-schema/redefined-type.out | 0
tests/qapi-schema/returns-alternate.err | 1 +
tests/qapi-schema/returns-alternate.exit | 1 +
tests/qapi-schema/returns-alternate.json | 3 +
tests/qapi-schema/returns-alternate.out | 0
tests/qapi-schema/returns-array-bad.err | 1 +
tests/qapi-schema/returns-array-bad.exit | 1 +
tests/qapi-schema/returns-array-bad.json | 2 +
tests/qapi-schema/returns-array-bad.out | 0
tests/qapi-schema/returns-int.err | 0
tests/qapi-schema/returns-int.exit | 1 +
tests/qapi-schema/returns-int.json | 3 +
tests/qapi-schema/returns-int.out | 3 +
tests/qapi-schema/returns-unknown.err | 1 +
tests/qapi-schema/returns-unknown.exit | 1 +
tests/qapi-schema/returns-unknown.json | 2 +
tests/qapi-schema/returns-unknown.out | 0
tests/qapi-schema/returns-whitelist.err | 1 +
tests/qapi-schema/returns-whitelist.exit | 1 +
tests/qapi-schema/returns-whitelist.json | 11 +
tests/qapi-schema/returns-whitelist.out | 0
tests/qapi-schema/type-bypass-bad-gen.err | 1 +
tests/qapi-schema/type-bypass-bad-gen.exit | 1 +
tests/qapi-schema/type-bypass-bad-gen.json | 2 +
tests/qapi-schema/type-bypass-bad-gen.out | 0
tests/qapi-schema/type-bypass-no-gen.err | 1 +
tests/qapi-schema/type-bypass-no-gen.exit | 1 +
tests/qapi-schema/type-bypass-no-gen.json | 2 +
tests/qapi-schema/type-bypass-no-gen.out | 0
tests/qapi-schema/type-bypass.err | 0
tests/qapi-schema/type-bypass.exit | 1 +
tests/qapi-schema/type-bypass.json | 2 +
tests/qapi-schema/type-bypass.out | 3 +
tests/qapi-schema/union-bad-branch.err | 1 +
tests/qapi-schema/union-bad-branch.exit | 1 +
tests/qapi-schema/union-bad-branch.json | 8 +
tests/qapi-schema/union-bad-branch.out | 0
tests/qapi-schema/union-base-no-discriminator.err | 1 +
tests/qapi-schema/union-base-no-discriminator.exit | 1 +
tests/qapi-schema/union-base-no-discriminator.json | 15 +
tests/qapi-schema/union-base-no-discriminator.out | 0
tests/qapi-schema/union-invalid-base.err | 2 +-
tests/qapi-schema/union-invalid-base.json | 4 +-
tests/qapi-schema/union-max.err | 1 +
tests/qapi-schema/union-max.exit | 1 +
tests/qapi-schema/union-max.json | 3 +
tests/qapi-schema/union-max.out | 0
tests/qapi-schema/union-optional-branch.err | 1 +
tests/qapi-schema/union-optional-branch.exit | 1 +
tests/qapi-schema/union-optional-branch.json | 2 +
tests/qapi-schema/union-optional-branch.out | 0
tests/qapi-schema/union-unknown.err | 1 +
tests/qapi-schema/union-unknown.exit | 1 +
tests/qapi-schema/union-unknown.json | 3 +
tests/qapi-schema/union-unknown.out | 0
tests/qapi-schema/unknown-expr-key.err | 1 +
tests/qapi-schema/unknown-expr-key.exit | 1 +
tests/qapi-schema/unknown-expr-key.json | 2 +
tests/qapi-schema/unknown-expr-key.out | 0
tests/test-qmp-commands.c | 35 +-
tests/test-qmp-input-strict.c | 98 ++---
tests/test-qmp-input-visitor.c | 117 +++--
tests/test-qmp-output-visitor.c | 152 +++----
tests/test-visitor-serialization.c | 84 ++--
261 files changed, 1603 insertions(+), 633 deletions(-)
create mode 100644 tests/qapi-schema/alternate-array.err
create mode 100644 tests/qapi-schema/alternate-array.exit
create mode 100644 tests/qapi-schema/alternate-array.json
create mode 100644 tests/qapi-schema/alternate-array.out
create mode 100644 tests/qapi-schema/alternate-base.err
create mode 100644 tests/qapi-schema/alternate-base.exit
create mode 100644 tests/qapi-schema/alternate-base.json
create mode 100644 tests/qapi-schema/alternate-base.out
create mode 100644 tests/qapi-schema/alternate-clash.err
create mode 100644 tests/qapi-schema/alternate-clash.exit
create mode 100644 tests/qapi-schema/alternate-clash.json
create mode 100644 tests/qapi-schema/alternate-clash.out
create mode 100644 tests/qapi-schema/alternate-conflict-dict.err
create mode 100644 tests/qapi-schema/alternate-conflict-dict.exit
create mode 100644 tests/qapi-schema/alternate-conflict-dict.json
create mode 100644 tests/qapi-schema/alternate-conflict-dict.out
create mode 100644 tests/qapi-schema/alternate-conflict-string.err
create mode 100644 tests/qapi-schema/alternate-conflict-string.exit
create mode 100644 tests/qapi-schema/alternate-conflict-string.json
create mode 100644 tests/qapi-schema/alternate-conflict-string.out
create mode 100644 tests/qapi-schema/alternate-good.err
create mode 100644 tests/qapi-schema/alternate-good.exit
create mode 100644 tests/qapi-schema/alternate-good.json
create mode 100644 tests/qapi-schema/alternate-good.out
create mode 100644 tests/qapi-schema/alternate-nested.err
create mode 100644 tests/qapi-schema/alternate-nested.exit
create mode 100644 tests/qapi-schema/alternate-nested.json
create mode 100644 tests/qapi-schema/alternate-nested.out
create mode 100644 tests/qapi-schema/alternate-unknown.err
create mode 100644 tests/qapi-schema/alternate-unknown.exit
create mode 100644 tests/qapi-schema/alternate-unknown.json
create mode 100644 tests/qapi-schema/alternate-unknown.out
create mode 100644 tests/qapi-schema/bad-base.err
create mode 100644 tests/qapi-schema/bad-base.exit
create mode 100644 tests/qapi-schema/bad-base.json
create mode 100644 tests/qapi-schema/bad-base.out
create mode 100644 tests/qapi-schema/bad-ident.err
create mode 100644 tests/qapi-schema/bad-ident.exit
create mode 100644 tests/qapi-schema/bad-ident.json
create mode 100644 tests/qapi-schema/bad-ident.out
create mode 100644 tests/qapi-schema/bad-type-bool.err
create mode 100644 tests/qapi-schema/bad-type-bool.exit
create mode 100644 tests/qapi-schema/bad-type-bool.json
create mode 100644 tests/qapi-schema/bad-type-bool.out
create mode 100644 tests/qapi-schema/bad-type-dict.err
create mode 100644 tests/qapi-schema/bad-type-dict.exit
create mode 100644 tests/qapi-schema/bad-type-dict.json
create mode 100644 tests/qapi-schema/bad-type-dict.out
create mode 100644 tests/qapi-schema/bad-type-int.err
create mode 100644 tests/qapi-schema/bad-type-int.exit
create mode 100644 tests/qapi-schema/bad-type-int.json
create mode 100644 tests/qapi-schema/bad-type-int.out
create mode 100644 tests/qapi-schema/command-int.err
create mode 100644 tests/qapi-schema/command-int.exit
create mode 100644 tests/qapi-schema/command-int.json
create mode 100644 tests/qapi-schema/command-int.out
create mode 100644 tests/qapi-schema/data-array-empty.err
create mode 100644 tests/qapi-schema/data-array-empty.exit
create mode 100644 tests/qapi-schema/data-array-empty.json
create mode 100644 tests/qapi-schema/data-array-empty.out
create mode 100644 tests/qapi-schema/data-array-unknown.err
create mode 100644 tests/qapi-schema/data-array-unknown.exit
create mode 100644 tests/qapi-schema/data-array-unknown.json
create mode 100644 tests/qapi-schema/data-array-unknown.out
create mode 100644 tests/qapi-schema/data-int.err
create mode 100644 tests/qapi-schema/data-int.exit
create mode 100644 tests/qapi-schema/data-int.json
create mode 100644 tests/qapi-schema/data-int.out
create mode 100644 tests/qapi-schema/data-member-array-bad.err
create mode 100644 tests/qapi-schema/data-member-array-bad.exit
create mode 100644 tests/qapi-schema/data-member-array-bad.json
create mode 100644 tests/qapi-schema/data-member-array-bad.out
create mode 100644 tests/qapi-schema/data-member-array.err
create mode 100644 tests/qapi-schema/data-member-array.exit
create mode 100644 tests/qapi-schema/data-member-array.json
create mode 100644 tests/qapi-schema/data-member-array.out
create mode 100644 tests/qapi-schema/data-member-unknown.err
create mode 100644 tests/qapi-schema/data-member-unknown.exit
create mode 100644 tests/qapi-schema/data-member-unknown.json
create mode 100644 tests/qapi-schema/data-member-unknown.out
create mode 100644 tests/qapi-schema/data-unknown.err
create mode 100644 tests/qapi-schema/data-unknown.exit
create mode 100644 tests/qapi-schema/data-unknown.json
create mode 100644 tests/qapi-schema/data-unknown.out
create mode 100644 tests/qapi-schema/double-data.err
create mode 100644 tests/qapi-schema/double-data.exit
create mode 100644 tests/qapi-schema/double-data.json
create mode 100644 tests/qapi-schema/double-data.out
create mode 100644 tests/qapi-schema/double-type.err
create mode 100644 tests/qapi-schema/double-type.exit
create mode 100644 tests/qapi-schema/double-type.json
create mode 100644 tests/qapi-schema/double-type.out
create mode 100644 tests/qapi-schema/enum-clash-member.err
create mode 100644 tests/qapi-schema/enum-clash-member.exit
create mode 100644 tests/qapi-schema/enum-clash-member.json
create mode 100644 tests/qapi-schema/enum-clash-member.out
create mode 100644 tests/qapi-schema/enum-dict-member.err
create mode 100644 tests/qapi-schema/enum-dict-member.exit
create mode 100644 tests/qapi-schema/enum-dict-member.json
create mode 100644 tests/qapi-schema/enum-dict-member.out
create mode 100644 tests/qapi-schema/enum-empty.err
create mode 100644 tests/qapi-schema/enum-empty.exit
create mode 100644 tests/qapi-schema/enum-empty.json
create mode 100644 tests/qapi-schema/enum-empty.out
create mode 100644 tests/qapi-schema/enum-int-member.err
create mode 100644 tests/qapi-schema/enum-int-member.exit
create mode 100644 tests/qapi-schema/enum-int-member.json
create mode 100644 tests/qapi-schema/enum-int-member.out
create mode 100644 tests/qapi-schema/enum-max-member.err
create mode 100644 tests/qapi-schema/enum-max-member.exit
create mode 100644 tests/qapi-schema/enum-max-member.json
create mode 100644 tests/qapi-schema/enum-max-member.out
create mode 100644 tests/qapi-schema/enum-missing-data.err
create mode 100644 tests/qapi-schema/enum-missing-data.exit
create mode 100644 tests/qapi-schema/enum-missing-data.json
create mode 100644 tests/qapi-schema/enum-missing-data.out
create mode 100644 tests/qapi-schema/enum-union-clash.err
create mode 100644 tests/qapi-schema/enum-union-clash.exit
create mode 100644 tests/qapi-schema/enum-union-clash.json
create mode 100644 tests/qapi-schema/enum-union-clash.out
create mode 100644 tests/qapi-schema/enum-wrong-data.err
create mode 100644 tests/qapi-schema/enum-wrong-data.exit
create mode 100644 tests/qapi-schema/enum-wrong-data.json
create mode 100644 tests/qapi-schema/enum-wrong-data.out
create mode 100644 tests/qapi-schema/event-case.err
create mode 100644 tests/qapi-schema/event-case.exit
create mode 100644 tests/qapi-schema/event-case.json
create mode 100644 tests/qapi-schema/event-case.out
create mode 100644 tests/qapi-schema/event-max.err
create mode 100644 tests/qapi-schema/event-max.exit
create mode 100644 tests/qapi-schema/event-max.json
create mode 100644 tests/qapi-schema/event-max.out
create mode 100644 tests/qapi-schema/flat-union-bad-base.err
create mode 100644 tests/qapi-schema/flat-union-bad-base.exit
create mode 100644 tests/qapi-schema/flat-union-bad-base.json
create mode 100644 tests/qapi-schema/flat-union-bad-base.out
create mode 100644 tests/qapi-schema/flat-union-bad-discriminator.err
create mode 100644 tests/qapi-schema/flat-union-bad-discriminator.exit
create mode 100644 tests/qapi-schema/flat-union-bad-discriminator.json
create mode 100644 tests/qapi-schema/flat-union-bad-discriminator.out
create mode 100644 tests/qapi-schema/flat-union-base-union.err
create mode 100644 tests/qapi-schema/flat-union-base-union.exit
create mode 100644 tests/qapi-schema/flat-union-base-union.json
create mode 100644 tests/qapi-schema/flat-union-base-union.out
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator.err
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator.exit
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator.json
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator.out
create mode 100644 tests/qapi-schema/missing-type.err
create mode 100644 tests/qapi-schema/missing-type.exit
create mode 100644 tests/qapi-schema/missing-type.json
create mode 100644 tests/qapi-schema/missing-type.out
create mode 100644 tests/qapi-schema/nested-struct-data.err
create mode 100644 tests/qapi-schema/nested-struct-data.exit
create mode 100644 tests/qapi-schema/nested-struct-data.json
create mode 100644 tests/qapi-schema/nested-struct-data.out
create mode 100644 tests/qapi-schema/nested-struct-returns.err
create mode 100644 tests/qapi-schema/nested-struct-returns.exit
create mode 100644 tests/qapi-schema/nested-struct-returns.json
create mode 100644 tests/qapi-schema/nested-struct-returns.out
create mode 100644 tests/qapi-schema/redefined-builtin.err
create mode 100644 tests/qapi-schema/redefined-builtin.exit
create mode 100644 tests/qapi-schema/redefined-builtin.json
create mode 100644 tests/qapi-schema/redefined-builtin.out
create mode 100644 tests/qapi-schema/redefined-command.err
create mode 100644 tests/qapi-schema/redefined-command.exit
create mode 100644 tests/qapi-schema/redefined-command.json
create mode 100644 tests/qapi-schema/redefined-command.out
create mode 100644 tests/qapi-schema/redefined-event.err
create mode 100644 tests/qapi-schema/redefined-event.exit
create mode 100644 tests/qapi-schema/redefined-event.json
create mode 100644 tests/qapi-schema/redefined-event.out
create mode 100644 tests/qapi-schema/redefined-type.err
create mode 100644 tests/qapi-schema/redefined-type.exit
create mode 100644 tests/qapi-schema/redefined-type.json
create mode 100644 tests/qapi-schema/redefined-type.out
create mode 100644 tests/qapi-schema/returns-alternate.err
create mode 100644 tests/qapi-schema/returns-alternate.exit
create mode 100644 tests/qapi-schema/returns-alternate.json
create mode 100644 tests/qapi-schema/returns-alternate.out
create mode 100644 tests/qapi-schema/returns-array-bad.err
create mode 100644 tests/qapi-schema/returns-array-bad.exit
create mode 100644 tests/qapi-schema/returns-array-bad.json
create mode 100644 tests/qapi-schema/returns-array-bad.out
create mode 100644 tests/qapi-schema/returns-int.err
create mode 100644 tests/qapi-schema/returns-int.exit
create mode 100644 tests/qapi-schema/returns-int.json
create mode 100644 tests/qapi-schema/returns-int.out
create mode 100644 tests/qapi-schema/returns-unknown.err
create mode 100644 tests/qapi-schema/returns-unknown.exit
create mode 100644 tests/qapi-schema/returns-unknown.json
create mode 100644 tests/qapi-schema/returns-unknown.out
create mode 100644 tests/qapi-schema/returns-whitelist.err
create mode 100644 tests/qapi-schema/returns-whitelist.exit
create mode 100644 tests/qapi-schema/returns-whitelist.json
create mode 100644 tests/qapi-schema/returns-whitelist.out
create mode 100644 tests/qapi-schema/type-bypass-bad-gen.err
create mode 100644 tests/qapi-schema/type-bypass-bad-gen.exit
create mode 100644 tests/qapi-schema/type-bypass-bad-gen.json
create mode 100644 tests/qapi-schema/type-bypass-bad-gen.out
create mode 100644 tests/qapi-schema/type-bypass-no-gen.err
create mode 100644 tests/qapi-schema/type-bypass-no-gen.exit
create mode 100644 tests/qapi-schema/type-bypass-no-gen.json
create mode 100644 tests/qapi-schema/type-bypass-no-gen.out
create mode 100644 tests/qapi-schema/type-bypass.err
create mode 100644 tests/qapi-schema/type-bypass.exit
create mode 100644 tests/qapi-schema/type-bypass.json
create mode 100644 tests/qapi-schema/type-bypass.out
create mode 100644 tests/qapi-schema/union-bad-branch.err
create mode 100644 tests/qapi-schema/union-bad-branch.exit
create mode 100644 tests/qapi-schema/union-bad-branch.json
create mode 100644 tests/qapi-schema/union-bad-branch.out
create mode 100644 tests/qapi-schema/union-base-no-discriminator.err
create mode 100644 tests/qapi-schema/union-base-no-discriminator.exit
create mode 100644 tests/qapi-schema/union-base-no-discriminator.json
create mode 100644 tests/qapi-schema/union-base-no-discriminator.out
create mode 100644 tests/qapi-schema/union-max.err
create mode 100644 tests/qapi-schema/union-max.exit
create mode 100644 tests/qapi-schema/union-max.json
create mode 100644 tests/qapi-schema/union-max.out
create mode 100644 tests/qapi-schema/union-optional-branch.err
create mode 100644 tests/qapi-schema/union-optional-branch.exit
create mode 100644 tests/qapi-schema/union-optional-branch.json
create mode 100644 tests/qapi-schema/union-optional-branch.out
create mode 100644 tests/qapi-schema/union-unknown.err
create mode 100644 tests/qapi-schema/union-unknown.exit
create mode 100644 tests/qapi-schema/union-unknown.json
create mode 100644 tests/qapi-schema/union-unknown.out
create mode 100644 tests/qapi-schema/unknown-expr-key.err
create mode 100644 tests/qapi-schema/unknown-expr-key.exit
create mode 100644 tests/qapi-schema/unknown-expr-key.json
create mode 100644 tests/qapi-schema/unknown-expr-key.out
--
2.1.0
next reply other threads:[~2015-03-24 20:04 UTC|newest]
Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-24 20:03 Eric Blake [this message]
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 01/28] qapi: Document type-safety considerations Eric Blake
2015-03-25 18:31 ` Markus Armbruster
2015-03-25 20:11 ` Eric Blake
2015-03-25 21:15 ` Eric Blake
2015-03-26 9:09 ` Markus Armbruster
2015-03-26 7:52 ` Markus Armbruster
2015-03-30 15:23 ` Eric Blake
2015-03-26 8:09 ` Markus Armbruster
2015-03-31 15:09 ` Kevin Wolf
2015-03-31 17:07 ` Eric Blake
2015-03-31 17:15 ` Kevin Wolf
2015-04-01 15:29 ` Markus Armbruster
2015-04-01 15:36 ` Eric Blake
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 02/28] qapi: Fix generation of 'size' builtin type Eric Blake
2015-03-26 9:52 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 03/28] qapi: Require ASCII in schema Eric Blake
2015-03-24 20:33 ` Eric Blake
2015-03-26 9:54 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 04/28] qapi: Add some enum tests Eric Blake
2015-03-26 10:01 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 05/28] qapi: Better error messages for bad enums Eric Blake
2015-03-26 10:08 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 06/28] qapi: Add some union tests Eric Blake
2015-03-26 13:18 ` Markus Armbruster
2015-03-26 15:04 ` Eric Blake
2015-03-27 12:30 ` Markus Armbruster
2015-03-27 19:47 ` Eric Blake
2015-03-31 17:13 ` Kevin Wolf
2015-03-31 18:15 ` Eric Blake
2015-03-31 18:31 ` Eric Blake
2015-03-31 18:34 ` Kevin Wolf
2015-03-31 20:46 ` Markus Armbruster
2015-04-01 8:23 ` Kevin Wolf
2015-04-01 9:14 ` Markus Armbruster
2015-03-26 13:23 ` Markus Armbruster
2015-03-26 13:51 ` Eric Blake
2015-03-26 15:58 ` Markus Armbruster
2015-03-30 22:45 ` Eric Blake
2015-03-31 23:40 ` Eric Blake
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 07/28] qapi: Simplify tests of simple unions Eric Blake
2015-03-26 13:41 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 08/28] qapi: Better error messages for bad unions Eric Blake
2015-03-24 20:38 ` Eric Blake
2015-03-26 14:20 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 09/28] qapi: Prepare for catching more semantic parse errors Eric Blake
2015-03-26 14:22 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 10/28] qapi: Segregate anonymous unions into alternates in generator Eric Blake
2015-03-26 14:47 ` Markus Armbruster
2015-03-26 15:26 ` Eric Blake
2015-03-27 12:32 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 11/28] qapi: Rename anonymous union type in test Eric Blake
2015-03-26 14:55 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 12/28] qapi: Introduce 'alternate' to replace anonymous union Eric Blake
2015-03-24 20:41 ` Eric Blake
2015-03-26 15:42 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 13/28] qapi: Add some expr tests Eric Blake
2015-03-26 15:55 ` Markus Armbruster
2015-03-26 19:02 ` Eric Blake
2015-03-27 12:38 ` Markus Armbruster
2015-03-27 19:39 ` Eric Blake
2015-03-29 8:27 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 14/28] qapi: Better error messages for bad expressions Eric Blake
2015-03-26 16:27 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 15/28] qapi: Add tests of redefined expressions Eric Blake
2015-03-26 17:05 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 16/28] qapi: Better error messages for duplicated expressions Eric Blake
2015-03-26 17:21 ` Markus Armbruster
2015-03-27 7:52 ` Markus Armbruster
2015-03-27 19:53 ` Eric Blake
2015-03-29 8:38 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 17/28] qapi: Allow true, false and null in schema json Eric Blake
2015-03-26 17:32 ` Markus Armbruster
2015-03-31 15:23 ` Kevin Wolf
2015-03-31 20:09 ` Markus Armbruster
2015-04-01 8:31 ` Kevin Wolf
2015-04-01 9:33 ` Markus Armbruster
2015-04-01 9:58 ` Kevin Wolf
2015-04-01 11:03 ` Markus Armbruster
2015-04-01 11:17 ` Kevin Wolf
2015-04-01 14:51 ` Markus Armbruster
2015-04-01 12:17 ` Eric Blake
2015-04-01 14:55 ` Markus Armbruster
2015-04-01 15:43 ` Eric Blake
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 18/28] qapi: Unify type bypass and add tests Eric Blake
2015-03-26 17:38 ` Markus Armbruster
2015-03-26 19:05 ` Eric Blake
2015-03-27 12:40 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 19/28] qapi: Add some type check tests Eric Blake
2015-03-26 17:58 ` Markus Armbruster
2015-03-26 19:07 ` Eric Blake
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 20/28] qapi: More rigourous checking of types Eric Blake
2015-03-27 8:23 ` Markus Armbruster
2015-03-27 20:03 ` Eric Blake
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 21/28] qapi: Require valid names Eric Blake
2015-03-27 8:48 ` Markus Armbruster
2015-03-27 20:15 ` Eric Blake
2015-03-29 10:17 ` Markus Armbruster
2015-03-29 14:23 ` Markus Armbruster
2015-03-27 17:14 ` Markus Armbruster
2015-03-27 20:17 ` Eric Blake
2015-03-29 9:06 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 22/28] qapi: Whitelist commands that don't return dictionary Eric Blake
2015-03-27 9:11 ` Markus Armbruster
2015-03-27 20:20 ` Eric Blake
2015-03-27 16:19 ` Markus Armbruster
2015-03-27 20:29 ` Eric Blake
2015-03-29 10:22 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 23/28] qapi: More rigorous checking for type safety bypass Eric Blake
2015-03-27 9:45 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 24/28] qapi: Merge UserDefTwo and UserDefNested in tests Eric Blake
2015-03-27 9:52 ` Markus Armbruster
2015-03-27 20:30 ` Eric Blake
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 25/28] qapi: Drop tests for inline nested structs Eric Blake
2015-03-27 10:30 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 26/28] qapi: Drop inline nested type in query-version Eric Blake
2015-03-27 10:34 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 27/28] qapi: Drop inline nested types in query-pci Eric Blake
2015-03-27 10:37 ` Markus Armbruster
2015-03-24 20:03 ` [Qemu-devel] [PATCH v5 28/28] qapi: Drop support for inline nested types Eric Blake
2015-03-27 10:45 ` Markus Armbruster
2015-03-27 12:50 ` [Qemu-devel] [PATCH v5 00/28] drop qapi nested structs Markus Armbruster
2015-03-29 16:03 ` Markus Armbruster
2015-03-31 4:30 ` Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1427227433-5030-1-git-send-email-eblake@redhat.com \
--to=eblake@redhat.com \
--cc=armbru@redhat.com \
--cc=famz@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=wenchaoqemu@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.