qemu/tests/qapi-schema
Eric Blake 0426d53c65 qapi: Simplify visiting of alternate types
Previously, working with alternates required two lookup arrays
and some indirection: for type Foo, we created Foo_qtypes[]
which maps each qtype to a value of the generated FooKind enum,
then look up that value in FooKind_lookup[] like we do for other
union types.

This has a couple of subtle bugs.  First, the generator was
creating a call with a parameter '(int *) &(*obj)->type' where
type is an enum type; this is unsafe if the compiler chooses
to store the enum type in a different size than int, where
assigning through the wrong size pointer can corrupt data or
cause a SIGBUS.

Related bug, not not fixed in this patch: qapi-visit.py's
gen_visit_enum() generates a cast of its enum * argument to
int *. Marked FIXME.

Second, since the values of the FooKind enum start at zero, all
entries of the Foo_qtypes[] array that were not explicitly
initialized will map to the same branch of the union as the
first member of the alternate, rather than triggering a desired
failure in visit_get_next_type().  Fortunately, the bug seldom
bites; the very next thing the input visitor does is try to
parse the incoming JSON with the wrong parser, which normally
fails; the output visitor is not used with a C struct in that
state, and the dealloc visitor has nothing to clean up (so
there is no leak).

However, the second bug IS observable in one case: parsing an
integer causes unusual behavior in an alternate that contains
at least a 'number' member but no 'int' member, because the
'number' parser accepts QTYPE_QINT in addition to the expected
QTYPE_QFLOAT (that is, since 'int' is not a member, the type
QTYPE_QINT accidentally maps to FooKind 0; if this enum value
is the 'number' branch the integer parses successfully, but if
the 'number' branch is not first, some other branch tries to
parse the integer and rejects it).  A later patch will worry
about fixing alternates to always parse all inputs that a
non-alternate 'number' would accept, for now this is still
marked FIXME in the updated test-qmp-input-visitor.c, to
merely point out that new undesired behavior of 'ans' matches
the existing undesired behavior of 'asn'.

This patch fixes the default-initialization bug by deleting the
indirection, and modifying get_next_type() to directly assign a
QTypeCode parameter.  This in turn fixes the type-casting bug,
as we are no longer casting a pointer to enum to a questionable
size. There is no longer a need to generate an implicit FooKind
enum associated with the alternate type (since the QMP wire
format never uses the stringized counterparts of the C union
member names).  Since the updated visit_get_next_type() does not
know which qtypes are expected, the generated visitor is
modified to generate an error statement if an unexpected type is
encountered.

Callers now have to know the QTYPE_* mapping when looking at the
discriminator; but so far, only the testsuite was even using the
C struct of an alternate types.  I considered the possibility of
keeping the internal enum FooKind, but initialized differently
than most generated arrays, as in:
  typedef enum FooKind {
      FOO_KIND_A = QTYPE_QDICT,
      FOO_KIND_B = QTYPE_QINT,
  } FooKind;
to create nicer aliases for knowing when to use foo->a or foo->b
when inspecting foo->type; but it turned out to add too much
complexity, especially without a client.

There is a user-visible side effect to this change, but I
consider it to be an improvement. Previously,
the invalid QMP command:
  {"execute":"blockdev-add", "arguments":{"options":
    {"driver":"raw", "id":"a", "file":true}}}
failed with:
  {"error": {"class": "GenericError",
    "desc": "Invalid parameter type for 'file', expected: QDict"}}
(visit_get_next_type() succeeded, and the error comes from the
visit_type_BlockdevOptions() expecting {}; there is no mention of
the fact that a string would also work).  Now it fails with:
  {"error": {"class": "GenericError",
    "desc": "Invalid parameter type for 'file', expected: BlockdevRef"}}
(the error when the next type doesn't match any expected types for
the overall alternate).

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1449033659-25497-5-git-send-email-eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2015-12-17 08:21:28 +01:00
..
include qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
alternate-array.err qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
alternate-array.exit qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-array.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
alternate-array.out qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-base.err qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
alternate-base.exit qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-base.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
alternate-base.out qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-clash.err qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
alternate-clash.exit qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-clash.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
alternate-clash.out qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-conflict-dict.err qapi: Use 'alternate' to replace anonymous union 2015-05-05 18:39:00 +02:00
alternate-conflict-dict.exit qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-conflict-dict.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
alternate-conflict-dict.out qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-conflict-string.err qapi: Use 'alternate' to replace anonymous union 2015-05-05 18:39:00 +02:00
alternate-conflict-string.exit qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-conflict-string.json qapi: Use 'alternate' to replace anonymous union 2015-05-05 18:39:00 +02:00
alternate-conflict-string.out qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-empty.err qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
alternate-empty.exit qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
alternate-empty.json qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
alternate-empty.out qapi: Simplify visiting of alternate types 2015-12-17 08:21:28 +01:00
alternate-nested.err qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
alternate-nested.exit qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-nested.json qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
alternate-nested.out qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-unknown.err qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
alternate-unknown.exit qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
alternate-unknown.json qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
alternate-unknown.out qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
args-alternate.err qapi-tests: New tests for union, alternate command arguments 2015-09-04 15:47:15 +02:00
args-alternate.exit qapi-tests: New tests for union, alternate command arguments 2015-09-04 15:47:15 +02:00
args-alternate.json qapi-tests: New tests for union, alternate command arguments 2015-09-04 15:47:15 +02:00
args-alternate.out qapi-tests: New tests for union, alternate command arguments 2015-09-04 15:47:15 +02:00
args-any.err qapi: Introduce a first class 'any' type 2015-09-21 09:56:49 +02:00
args-any.exit qapi: Introduce a first class 'any' type 2015-09-21 09:56:49 +02:00
args-any.json qapi: Introduce a first class 'any' type 2015-09-21 09:56:49 +02:00
args-any.out qapi: Introduce a first class 'any' type 2015-09-21 09:56:49 +02:00
args-array-empty.err tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-array-empty.exit tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-array-empty.json tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-array-empty.out tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-array-unknown.err qapi: Simplify error reporting for array types 2015-09-04 15:47:16 +02:00
args-array-unknown.exit tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-array-unknown.json tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-array-unknown.out tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-int.err tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-int.exit tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-int.json tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-int.out tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-invalid.err qapi: Fix errors for non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
args-invalid.exit tests/qapi-schema: Cover non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
args-invalid.json qapi: Fix errors for non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
args-invalid.out tests/qapi-schema: Cover non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
args-member-array-bad.err tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-member-array-bad.exit tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-member-array-bad.json tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-member-array-bad.out tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-member-unknown.err tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-member-unknown.exit tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-member-unknown.json tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-member-unknown.out tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-name-clash.err qapi: Detect collisions in C member names 2015-12-17 08:21:27 +01:00
args-name-clash.exit qapi: Detect collisions in C member names 2015-12-17 08:21:27 +01:00
args-name-clash.json qapi: Detect collisions in C member names 2015-12-17 08:21:27 +01:00
args-name-clash.out qapi: Detect collisions in C member names 2015-12-17 08:21:27 +01:00
args-union.err qapi: Fix to reject union command and event arguments 2015-09-04 15:47:15 +02:00
args-union.exit qapi: Fix to reject union command and event arguments 2015-09-04 15:47:15 +02:00
args-union.json qapi: Fix to reject union command and event arguments 2015-09-04 15:47:15 +02:00
args-union.out qapi: Fix to reject union command and event arguments 2015-09-04 15:47:15 +02:00
args-unknown.err tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-unknown.exit tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-unknown.json tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
args-unknown.out tests/qapi-schema: Rename tests from data- to args- 2015-09-04 15:47:15 +02:00
bad-base.err qapi: Prefer 'struct' over 'type' in generator 2015-05-05 18:39:01 +02:00
bad-base.exit qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
bad-base.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
bad-base.out qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
bad-data.err qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
bad-data.exit qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
bad-data.json qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
bad-data.out qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
bad-ident.err qapi: Prefer 'struct' over 'type' in generator 2015-05-05 18:39:01 +02:00
bad-ident.exit qapi: Require valid names 2015-05-05 18:39:01 +02:00
bad-ident.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
bad-ident.out qapi: Require valid names 2015-05-05 18:39:01 +02:00
bad-type-bool.err qapi: Prefer 'struct' over 'type' in generator 2015-05-05 18:39:01 +02:00
bad-type-bool.exit qapi: Add some expr tests 2015-05-05 18:39:01 +02:00
bad-type-bool.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
bad-type-bool.out qapi: Add some expr tests 2015-05-05 18:39:01 +02:00
bad-type-dict.err qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
bad-type-dict.exit qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
bad-type-dict.json qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
bad-type-dict.out qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
bad-type-int.err qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
bad-type-int.exit qapi: Add some expr tests 2015-05-05 18:39:01 +02:00
bad-type-int.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
bad-type-int.out qapi: Add some expr tests 2015-05-05 18:39:01 +02:00
command-int.err qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
command-int.exit qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
command-int.json qapi: Command returning anonymous type doesn't work, outlaw 2015-09-04 15:47:15 +02:00
command-int.out qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
comments.err qapi.py: Permit comments starting anywhere on the line 2013-07-29 10:37:11 -05:00
comments.exit qapi.py: Permit comments starting anywhere on the line 2013-07-29 10:37:11 -05:00
comments.json
comments.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
double-data.err qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
double-data.exit qapi: Add some expr tests 2015-05-05 18:39:01 +02:00
double-data.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
double-data.out qapi: Add some expr tests 2015-05-05 18:39:01 +02:00
double-type.err qapi: Prefer 'struct' over 'type' in generator 2015-05-05 18:39:01 +02:00
double-type.exit qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
double-type.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
double-type.out qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
duplicate-key.err qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
duplicate-key.exit qapi script: add check for duplicated key 2014-03-11 09:07:41 -04:00
duplicate-key.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
duplicate-key.out qapi script: add check for duplicated key 2014-03-11 09:07:41 -04:00
empty.err
empty.exit
empty.json
empty.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
enum-bad-name.err qapi: Require valid names 2015-05-05 18:39:01 +02:00
enum-bad-name.exit qapi: Require valid names 2015-05-05 18:39:01 +02:00
enum-bad-name.json qapi: Require valid names 2015-05-05 18:39:01 +02:00
enum-bad-name.out qapi: Require valid names 2015-05-05 18:39:01 +02:00
enum-bad-prefix.err qapi: allow override of default enum prefix naming 2015-09-15 10:59:28 +01:00
enum-bad-prefix.exit qapi: allow override of default enum prefix naming 2015-09-15 10:59:28 +01:00
enum-bad-prefix.json qapi: allow override of default enum prefix naming 2015-09-15 10:59:28 +01:00
enum-bad-prefix.out qapi: allow override of default enum prefix naming 2015-09-15 10:59:28 +01:00
enum-clash-member.err qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-clash-member.exit qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-clash-member.json qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-clash-member.out qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-dict-member.err qapi: Require valid names 2015-05-05 18:39:01 +02:00
enum-dict-member.exit qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-dict-member.json qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-dict-member.out qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-int-member.err qapi: Add some enum tests 2015-05-05 18:39:00 +02:00
enum-int-member.exit qapi: Add some enum tests 2015-05-05 18:39:00 +02:00
enum-int-member.json qapi: Add some enum tests 2015-05-05 18:39:00 +02:00
enum-int-member.out qapi: Add some enum tests 2015-05-05 18:39:00 +02:00
enum-missing-data.err qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
enum-missing-data.exit qapi: Add some enum tests 2015-05-05 18:39:00 +02:00
enum-missing-data.json qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-missing-data.out qapi: Add some enum tests 2015-05-05 18:39:00 +02:00
enum-wrong-data.err qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-wrong-data.exit qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-wrong-data.json qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
enum-wrong-data.out qapi: Better error messages for bad enums 2015-05-05 18:39:00 +02:00
escape-outside-string.err qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-outside-string.exit qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-outside-string.json qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-outside-string.out qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-too-big.err qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-too-big.exit qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-too-big.json qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-too-big.out qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-too-short.err qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-too-short.exit qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-too-short.json qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
escape-too-short.out qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
event-case.err qapi: Add some expr tests 2015-05-05 18:39:01 +02:00
event-case.exit qapi: Add some expr tests 2015-05-05 18:39:01 +02:00
event-case.json qapi: Add some expr tests 2015-05-05 18:39:01 +02:00
event-case.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
event-nest-struct.err qapi: Drop support for inline nested types 2015-05-05 18:39:02 +02:00
event-nest-struct.exit qapi script: add event support 2014-06-23 11:01:25 -04:00
event-nest-struct.json qapi script: add event support 2014-06-23 11:01:25 -04:00
event-nest-struct.out qapi script: add event support 2014-06-23 11:01:25 -04:00
flat-union-array-branch.err qapi: Catch and reject flat union branch of array type 2015-06-18 14:19:47 +02:00
flat-union-array-branch.exit tests/qapi-schema: New flat union array branch test case 2015-06-18 14:19:47 +02:00
flat-union-array-branch.json tests/qapi-schema: New flat union array branch test case 2015-06-18 14:19:47 +02:00
flat-union-array-branch.out tests/qapi-schema: New flat union array branch test case 2015-06-18 14:19:47 +02:00
flat-union-bad-base.err qapi: Reuse code for flat union base validation 2015-10-12 18:46:49 +02:00
flat-union-bad-base.exit qapi: Add some union tests 2015-05-05 18:39:00 +02:00
flat-union-bad-base.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
flat-union-bad-base.out qapi: Add some union tests 2015-05-05 18:39:00 +02:00
flat-union-bad-discriminator.err qapi: Require valid names 2015-05-05 18:39:01 +02:00
flat-union-bad-discriminator.exit qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
flat-union-bad-discriminator.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
flat-union-bad-discriminator.out qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
flat-union-base-any.err qapi: Reuse code for flat union base validation 2015-10-12 18:46:49 +02:00
flat-union-base-any.exit qapi: Introduce a first class 'any' type 2015-09-21 09:56:49 +02:00
flat-union-base-any.json qapi: Introduce a first class 'any' type 2015-09-21 09:56:49 +02:00
flat-union-base-any.out qapi: Introduce a first class 'any' type 2015-09-21 09:56:49 +02:00
flat-union-base-union.err qapi: Reuse code for flat union base validation 2015-10-12 18:46:49 +02:00
flat-union-base-union.exit qapi: Add some union tests 2015-05-05 18:39:00 +02:00
flat-union-base-union.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
flat-union-base-union.out qapi: Add some union tests 2015-05-05 18:39:00 +02:00
flat-union-clash-member.err qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
flat-union-clash-member.exit qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
flat-union-clash-member.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
flat-union-clash-member.out qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
flat-union-empty.err qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
flat-union-empty.exit qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
flat-union-empty.json qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
flat-union-empty.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
flat-union-inline.err qapi: Reuse code for flat union base validation 2015-10-12 18:46:49 +02:00
flat-union-inline.exit qapi: Add some union tests 2015-05-05 18:39:00 +02:00
flat-union-inline.json qapi: Reuse code for flat union base validation 2015-10-12 18:46:49 +02:00
flat-union-inline.out qapi: Add some union tests 2015-05-05 18:39:00 +02:00
flat-union-int-branch.err qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
flat-union-int-branch.exit qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
flat-union-int-branch.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
flat-union-int-branch.out qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
flat-union-invalid-branch-key.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
flat-union-invalid-branch-key.exit qapi script: check correctness of union 2014-03-11 09:07:41 -04:00
flat-union-invalid-branch-key.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
flat-union-invalid-branch-key.out qapi script: check correctness of union 2014-03-11 09:07:41 -04:00
flat-union-invalid-discriminator.err qapi: Prefer 'struct' over 'type' in generator 2015-05-05 18:39:01 +02:00
flat-union-invalid-discriminator.exit qapi script: check correctness of union 2014-03-11 09:07:41 -04:00
flat-union-invalid-discriminator.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
flat-union-invalid-discriminator.out qapi script: check correctness of union 2014-03-11 09:07:41 -04:00
flat-union-no-base.err qapi: Reuse code for flat union base validation 2015-10-12 18:46:49 +02:00
flat-union-no-base.exit qapi script: check correctness of union 2014-03-11 09:07:41 -04:00
flat-union-no-base.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
flat-union-no-base.out qapi script: check correctness of union 2014-03-11 09:07:41 -04:00
flat-union-optional-discriminator.err qapi: Require valid names 2015-05-05 18:39:01 +02:00
flat-union-optional-discriminator.exit qapi: Require valid names 2015-05-05 18:39:01 +02:00
flat-union-optional-discriminator.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
flat-union-optional-discriminator.out qapi: Require valid names 2015-05-05 18:39:01 +02:00
flat-union-string-discriminator.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
flat-union-string-discriminator.exit qapi script: do not allow string discriminator 2014-03-11 09:07:42 -04:00
flat-union-string-discriminator.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
flat-union-string-discriminator.out qapi script: do not allow string discriminator 2014-03-11 09:07:42 -04:00
funny-char.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
funny-char.exit qapi.py: Reject invalid characters in schema file 2013-07-29 10:37:11 -05:00
funny-char.json
funny-char.out qapi.py: Reject invalid characters in schema file 2013-07-29 10:37:11 -05:00
ident-with-escape.err qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
ident-with-escape.exit qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
ident-with-escape.json qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
ident-with-escape.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
include-before-err.err qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-before-err.exit qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-before-err.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-before-err.out qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-cycle-b.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-cycle-c.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-cycle.err qapi: Fix file name in error messages for included files 2015-06-18 14:12:34 +02:00
include-cycle.exit qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-cycle.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-cycle.out qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-format-err.err qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-format-err.exit qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-format-err.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-format-err.out qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-nested-err.err qapi: Fix file name in error messages for included files 2015-06-18 14:12:34 +02:00
include-nested-err.exit qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-nested-err.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-nested-err.out qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-no-file.err qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-no-file.exit qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-no-file.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-no-file.out qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-non-file.err qapi: Improve 'include' error message 2015-10-12 18:44:54 +02:00
include-non-file.exit qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-non-file.json qapi: Improve 'include' error message 2015-10-12 18:44:54 +02:00
include-non-file.out qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-relpath-sub.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-relpath.err qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-relpath.exit qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-relpath.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-relpath.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
include-repetition-sub.json qapi: skip redundant includes 2014-05-16 10:35:59 -04:00
include-repetition.err qapi: skip redundant includes 2014-05-16 10:35:59 -04:00
include-repetition.exit qapi: skip redundant includes 2014-05-16 10:35:59 -04:00
include-repetition.json qapi: skip redundant includes 2014-05-16 10:35:59 -04:00
include-repetition.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
include-self-cycle.err qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-self-cycle.exit qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-self-cycle.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-self-cycle.out qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-simple-sub.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-simple.err qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-simple.exit qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-simple.json qapi: Add a primitive to include other files from a QAPI schema file 2014-05-08 14:19:58 -04:00
include-simple.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
indented-expr.err
indented-expr.exit
indented-expr.json qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
indented-expr.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
leading-comma-list.err tests/qapi-schema: Cover two more syntax errors 2015-09-04 15:47:16 +02:00
leading-comma-list.exit tests/qapi-schema: Cover two more syntax errors 2015-09-04 15:47:16 +02:00
leading-comma-list.json tests/qapi-schema: Cover two more syntax errors 2015-09-04 15:47:16 +02:00
leading-comma-list.out tests/qapi-schema: Cover two more syntax errors 2015-09-04 15:47:16 +02:00
leading-comma-object.err tests/qapi-schema: Cover two more syntax errors 2015-09-04 15:47:16 +02:00
leading-comma-object.exit tests/qapi-schema: Cover two more syntax errors 2015-09-04 15:47:16 +02:00
leading-comma-object.json tests/qapi-schema: Cover two more syntax errors 2015-09-04 15:47:16 +02:00
leading-comma-object.out tests/qapi-schema: Cover two more syntax errors 2015-09-04 15:47:16 +02:00
missing-colon.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
missing-colon.exit qapi.py: Fix schema parser to check syntax systematically 2013-07-29 10:37:11 -05:00
missing-colon.json
missing-colon.out qapi.py: Fix schema parser to check syntax systematically 2013-07-29 10:37:11 -05:00
missing-comma-list.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
missing-comma-list.exit qapi.py: Fix schema parser to check syntax systematically 2013-07-29 10:37:11 -05:00
missing-comma-list.json
missing-comma-list.out qapi.py: Fix schema parser to check syntax systematically 2013-07-29 10:37:11 -05:00
missing-comma-object.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
missing-comma-object.exit qapi.py: Fix schema parser to check syntax systematically 2013-07-29 10:37:11 -05:00
missing-comma-object.json
missing-comma-object.out qapi.py: Fix schema parser to check syntax systematically 2013-07-29 10:37:11 -05:00
missing-type.err qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
missing-type.exit qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
missing-type.json qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
missing-type.out qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
nested-struct-data.err qapi: Drop support for inline nested types 2015-05-05 18:39:02 +02:00
nested-struct-data.exit qapi: Drop support for inline nested types 2015-05-05 18:39:02 +02:00
nested-struct-data.json qapi: Command returning anonymous type doesn't work, outlaw 2015-09-04 15:47:15 +02:00
nested-struct-data.out qapi: Drop support for inline nested types 2015-05-05 18:39:02 +02:00
non-objects.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
non-objects.exit
non-objects.json
non-objects.out
qapi-schema-test.err
qapi-schema-test.exit
qapi-schema-test.json qapi: Fix c_name() munging 2015-12-17 08:21:27 +01:00
qapi-schema-test.out qapi: Simplify visiting of alternate types 2015-12-17 08:21:28 +01:00
quoted-structural-chars.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
quoted-structural-chars.exit qapi.py: Restructure lexer and parser 2013-07-29 10:37:10 -05:00
quoted-structural-chars.json
quoted-structural-chars.out qapi.py: Restructure lexer and parser 2013-07-29 10:37:10 -05:00
redefined-builtin.err qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-builtin.exit qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-builtin.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
redefined-builtin.out qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-command.err qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-command.exit qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-command.json qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-command.out qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-event.err qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-event.exit qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-event.json qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-event.out qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-type.err qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-type.exit qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
redefined-type.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
redefined-type.out qapi: Better error messages for duplicated expressions 2015-05-05 18:39:01 +02:00
reserved-command-q.err qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-command-q.exit qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-command-q.json qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-command-q.out qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-enum-q.err qapi: Tighten the regex on valid names 2015-12-17 08:21:27 +01:00
reserved-enum-q.exit qapi: Tighten the regex on valid names 2015-12-17 08:21:27 +01:00
reserved-enum-q.json qapi: Tighten the regex on valid names 2015-12-17 08:21:27 +01:00
reserved-enum-q.out qapi: Tighten the regex on valid names 2015-12-17 08:21:27 +01:00
reserved-member-has.err qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-member-has.exit qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-member-has.json qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-member-has.out qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-member-q.err qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-member-q.exit qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-member-q.json qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-member-q.out qapi: Reserve 'q_*' and 'has_*' member names 2015-11-02 08:30:26 +01:00
reserved-member-u.err qapi: Reserve 'u' member name 2015-11-02 08:30:28 +01:00
reserved-member-u.exit qapi: Reserve 'u' member name 2015-11-02 08:30:28 +01:00
reserved-member-u.json qapi: Reserve 'u' member name 2015-11-02 08:30:28 +01:00
reserved-member-u.out qapi: Reserve 'u' member name 2015-11-02 08:30:28 +01:00
reserved-member-underscore.err qapi: Tighten the regex on valid names 2015-12-17 08:21:27 +01:00
reserved-member-underscore.exit qapi: Tighten the regex on valid names 2015-12-17 08:21:27 +01:00
reserved-member-underscore.json qapi: Tighten the regex on valid names 2015-12-17 08:21:27 +01:00
reserved-member-underscore.out qapi: Tighten the regex on valid names 2015-12-17 08:21:27 +01:00
reserved-type-kind.err tests/qapi-schema: Test for reserved names, empty struct 2015-11-02 08:30:25 +01:00
reserved-type-kind.exit tests/qapi-schema: Test for reserved names, empty struct 2015-11-02 08:30:25 +01:00
reserved-type-kind.json tests/qapi-schema: Test for reserved names, empty struct 2015-11-02 08:30:25 +01:00
reserved-type-kind.out tests/qapi-schema: Test for reserved names, empty struct 2015-11-02 08:30:25 +01:00
reserved-type-list.err qapi: Reserve '*List' type names for list types 2015-11-02 08:30:26 +01:00
reserved-type-list.exit qapi: Reserve '*List' type names for list types 2015-11-02 08:30:26 +01:00
reserved-type-list.json qapi: Reserve '*List' type names for list types 2015-11-02 08:30:26 +01:00
reserved-type-list.out qapi: Reserve '*List' type names for list types 2015-11-02 08:30:26 +01:00
returns-alternate.err qapi: Whitelist commands that don't return dictionary 2015-05-05 18:39:01 +02:00
returns-alternate.exit qapi: Whitelist commands that don't return dictionary 2015-05-05 18:39:01 +02:00
returns-alternate.json qapi: Whitelist commands that don't return dictionary 2015-05-05 18:39:01 +02:00
returns-alternate.out qapi: Whitelist commands that don't return dictionary 2015-05-05 18:39:01 +02:00
returns-array-bad.err qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
returns-array-bad.exit qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
returns-array-bad.json qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
returns-array-bad.out qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
returns-dict.err qapi: Command returning anonymous type doesn't work, outlaw 2015-09-04 15:47:15 +02:00
returns-dict.exit qapi: Command returning anonymous type doesn't work, outlaw 2015-09-04 15:47:15 +02:00
returns-dict.json qapi: Command returning anonymous type doesn't work, outlaw 2015-09-04 15:47:15 +02:00
returns-dict.out qapi: Command returning anonymous type doesn't work, outlaw 2015-09-04 15:47:15 +02:00
returns-unknown.err qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
returns-unknown.exit qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
returns-unknown.json qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
returns-unknown.out qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
returns-whitelist.err qapi: Simplify error reporting for array types 2015-09-04 15:47:16 +02:00
returns-whitelist.exit qapi: Whitelist commands that don't return dictionary 2015-05-05 18:39:01 +02:00
returns-whitelist.json qapi: Whitelist commands that don't return dictionary 2015-05-05 18:39:01 +02:00
returns-whitelist.out qapi: Whitelist commands that don't return dictionary 2015-05-05 18:39:01 +02:00
struct-base-clash-deep.err qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
struct-base-clash-deep.exit qapi: Check for member name conflicts with a base class 2015-05-05 18:39:02 +02:00
struct-base-clash-deep.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
struct-base-clash-deep.out qapi: Check for member name conflicts with a base class 2015-05-05 18:39:02 +02:00
struct-base-clash.err qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
struct-base-clash.exit qapi: Check for member name conflicts with a base class 2015-05-05 18:39:02 +02:00
struct-base-clash.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
struct-base-clash.out qapi: Check for member name conflicts with a base class 2015-05-05 18:39:02 +02:00
struct-data-invalid.err qapi: Fix errors for non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
struct-data-invalid.exit tests/qapi-schema: Cover non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
struct-data-invalid.json qapi: Fix errors for non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
struct-data-invalid.out tests/qapi-schema: Cover non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
struct-member-invalid.err qapi: Fix errors for non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
struct-member-invalid.exit tests/qapi-schema: Cover non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
struct-member-invalid.json qapi: Fix errors for non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
struct-member-invalid.out tests/qapi-schema: Cover non-string, non-dictionary members 2015-09-04 15:47:16 +02:00
test-qapi.py tests/qapi-schema: Convert test harness to QAPISchemaVisitor 2015-09-21 09:32:50 +02:00
trailing-comma-list.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
trailing-comma-list.exit qapi.py: Fix schema parser to check syntax systematically 2013-07-29 10:37:11 -05:00
trailing-comma-list.json
trailing-comma-list.out qapi.py: Fix schema parser to check syntax systematically 2013-07-29 10:37:11 -05:00
trailing-comma-object.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
trailing-comma-object.exit qapi.py: Fix schema parser to check syntax systematically 2013-07-29 10:37:11 -05:00
trailing-comma-object.json
trailing-comma-object.out qapi.py: Fix schema parser to check syntax systematically 2013-07-29 10:37:11 -05:00
type-bypass-bad-gen.err qapi: More rigorous checking for type safety bypass 2015-05-05 18:39:01 +02:00
type-bypass-bad-gen.exit qapi: More rigorous checking for type safety bypass 2015-05-05 18:39:01 +02:00
type-bypass-bad-gen.json qapi: More rigorous checking for type safety bypass 2015-05-05 18:39:01 +02:00
type-bypass-bad-gen.out qapi: More rigorous checking for type safety bypass 2015-05-05 18:39:01 +02:00
unclosed-list.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
unclosed-list.exit
unclosed-list.json
unclosed-list.out
unclosed-object.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
unclosed-object.exit
unclosed-object.json
unclosed-object.out
unclosed-string.err qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
unclosed-string.exit
unclosed-string.json
unclosed-string.out
unicode-str.err qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
unicode-str.exit qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
unicode-str.json qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
unicode-str.out qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
union-bad-branch.err qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
union-bad-branch.exit qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
union-bad-branch.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
union-bad-branch.out qapi: Tighten checking of unions 2015-05-05 18:39:00 +02:00
union-base-no-discriminator.err qapi: Drop one of two "simple union must not have base" checks 2015-09-04 15:47:16 +02:00
union-base-no-discriminator.exit qapi: Forbid base without discriminator in unions 2015-05-05 18:39:00 +02:00
union-base-no-discriminator.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
union-base-no-discriminator.out qapi: Forbid base without discriminator in unions 2015-05-05 18:39:00 +02:00
union-clash-branches.err qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
union-clash-branches.exit qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
union-clash-branches.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
union-clash-branches.out qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
union-clash-data.err qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
union-clash-data.exit qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
union-clash-data.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
union-clash-data.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
union-empty.err qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
union-empty.exit qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
union-empty.json qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
union-empty.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
union-invalid-base.err qapi: Reuse code for flat union base validation 2015-10-12 18:46:49 +02:00
union-invalid-base.exit qapi script: check correctness of union 2014-03-11 09:07:41 -04:00
union-invalid-base.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
union-invalid-base.out qapi script: check correctness of union 2014-03-11 09:07:41 -04:00
union-optional-branch.err qapi: Require valid names 2015-05-05 18:39:01 +02:00
union-optional-branch.exit qapi: Require valid names 2015-05-05 18:39:01 +02:00
union-optional-branch.json qapi: Require valid names 2015-05-05 18:39:01 +02:00
union-optional-branch.out qapi: Require valid names 2015-05-05 18:39:01 +02:00
union-unknown.err qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
union-unknown.exit qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
union-unknown.json qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
union-unknown.out qapi: More rigourous checking of types 2015-05-05 18:39:01 +02:00
unknown-escape.err qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
unknown-escape.exit qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
unknown-escape.json qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
unknown-escape.out qapi: Support (subset of) \u escapes in strings 2015-05-05 18:39:02 +02:00
unknown-expr-key.err qapi: Prefer 'struct' over 'type' in generator 2015-05-05 18:39:01 +02:00
unknown-expr-key.exit qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
unknown-expr-key.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
unknown-expr-key.out qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00