qemu-irix/tests/qapi-schema
Eric Blake 68d078395d qapi: Add tests of complex objects within alternate
Upcoming patches will adjust how we visit an object branch of an
alternate; but we were completely lacking testsuite coverage.
Rectify this, so that the future patches will be able to highlight
the changes and still prove that we avoided regressions.

In particular, the use of a flat union UserDefFlatUnion rather
than a simple struct UserDefA as the branch will give us coverage
of an object with variants.  And visiting an alternate as both
the top level and as a nested member gives confidence in correct
memory allocation handling, especially if the test is run under
valgrind.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1455778109-6278-5-git-send-email-eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2016-02-19 11:08:57 +01:00
..
include
alternate-any.err qapi: Forbid 'any' inside an alternate 2016-02-19 11:08:56 +01:00
alternate-any.exit qapi: Forbid 'any' inside an alternate 2016-02-19 11:08:56 +01:00
alternate-any.json qapi: Forbid 'any' inside an alternate 2016-02-19 11:08:56 +01:00
alternate-any.out qapi: Forbid 'any' inside an alternate 2016-02-19 11:08:56 +01:00
alternate-array.err
alternate-array.exit
alternate-array.json
alternate-array.out
alternate-base.err
alternate-base.exit
alternate-base.json
alternate-base.out
alternate-clash.err qapi: Move duplicate collision checks to schema check() 2015-12-17 08:21:29 +01:00
alternate-clash.exit
alternate-clash.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
alternate-clash.out
alternate-conflict-dict.err
alternate-conflict-dict.exit
alternate-conflict-dict.json
alternate-conflict-dict.out
alternate-conflict-string.err
alternate-conflict-string.exit
alternate-conflict-string.json
alternate-conflict-string.out
alternate-empty.err qapi: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +01:00
alternate-empty.exit qapi: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +01:00
alternate-empty.json qapi: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +01:00
alternate-empty.out qapi: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +01:00
alternate-nested.err
alternate-nested.exit
alternate-nested.json qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
alternate-nested.out
alternate-unknown.err
alternate-unknown.exit
alternate-unknown.json qapi: Add tests for empty unions 2015-10-12 18:44:54 +02:00
alternate-unknown.out
args-alternate.err
args-alternate.exit
args-alternate.json
args-alternate.out
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
args-array-empty.exit
args-array-empty.json
args-array-empty.out
args-array-unknown.err
args-array-unknown.exit
args-array-unknown.json
args-array-unknown.out
args-int.err
args-int.exit
args-int.json
args-int.out
args-invalid.err
args-invalid.exit
args-invalid.json
args-invalid.out
args-member-array-bad.err
args-member-array-bad.exit
args-member-array-bad.json
args-member-array-bad.out
args-member-case.err qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
args-member-case.exit qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
args-member-case.json qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
args-member-case.out qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
args-member-unknown.err
args-member-unknown.exit
args-member-unknown.json
args-member-unknown.out
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
args-union.exit
args-union.json
args-union.out
args-unknown.err
args-unknown.exit
args-unknown.json
args-unknown.out
bad-base.err
bad-base.exit
bad-base.json
bad-base.out
bad-data.err
bad-data.exit
bad-data.json
bad-data.out
bad-ident.err
bad-ident.exit
bad-ident.json
bad-ident.out
bad-type-bool.err
bad-type-bool.exit
bad-type-bool.json
bad-type-bool.out
bad-type-dict.err
bad-type-dict.exit
bad-type-dict.json
bad-type-dict.out
bad-type-int.err
bad-type-int.exit
bad-type-int.json
bad-type-int.out
base-cycle-direct.err qapi: Detect base class loops 2015-12-17 08:21:29 +01:00
base-cycle-direct.exit qapi: Detect base class loops 2015-12-17 08:21:29 +01:00
base-cycle-direct.json qapi: Detect base class loops 2015-12-17 08:21:29 +01:00
base-cycle-direct.out qapi: Detect base class loops 2015-12-17 08:21:29 +01:00
base-cycle-indirect.err qapi: Detect base class loops 2015-12-17 08:21:29 +01:00
base-cycle-indirect.exit qapi: Detect base class loops 2015-12-17 08:21:29 +01:00
base-cycle-indirect.json qapi: Detect base class loops 2015-12-17 08:21:29 +01:00
base-cycle-indirect.out qapi: Detect base class loops 2015-12-17 08:21:29 +01:00
command-int.err
command-int.exit
command-int.json
command-int.out
comments.err
comments.exit
comments.json
comments.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
double-data.err
double-data.exit
double-data.json
double-data.out
double-type.err
double-type.exit
double-type.json
double-type.out
duplicate-key.err qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
duplicate-key.exit
duplicate-key.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
duplicate-key.out
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
enum-bad-name.exit
enum-bad-name.json
enum-bad-name.out
enum-bad-prefix.err
enum-bad-prefix.exit
enum-bad-prefix.json
enum-bad-prefix.out
enum-clash-member.err qapi: Move duplicate collision checks to schema check() 2015-12-17 08:21:29 +01:00
enum-clash-member.exit
enum-clash-member.json qapi: Move duplicate collision checks to schema check() 2015-12-17 08:21:29 +01:00
enum-clash-member.out
enum-dict-member.err
enum-dict-member.exit
enum-dict-member.json
enum-dict-member.out
enum-int-member.err
enum-int-member.exit
enum-int-member.json
enum-int-member.out
enum-member-case.err qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
enum-member-case.exit qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
enum-member-case.json qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
enum-member-case.out qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
enum-missing-data.err
enum-missing-data.exit
enum-missing-data.json
enum-missing-data.out
enum-wrong-data.err
enum-wrong-data.exit
enum-wrong-data.json
enum-wrong-data.out
escape-outside-string.err
escape-outside-string.exit
escape-outside-string.json
escape-outside-string.out
escape-too-big.err
escape-too-big.exit
escape-too-big.json
escape-too-big.out
escape-too-short.err
escape-too-short.exit
escape-too-short.json
escape-too-short.out
event-case.err
event-case.exit
event-case.json
event-case.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
event-nest-struct.err
event-nest-struct.exit
event-nest-struct.json
event-nest-struct.out
flat-union-array-branch.err
flat-union-array-branch.exit
flat-union-array-branch.json
flat-union-array-branch.out
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
flat-union-bad-base.json
flat-union-bad-base.out
flat-union-bad-discriminator.err
flat-union-bad-discriminator.exit
flat-union-bad-discriminator.json
flat-union-bad-discriminator.out
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
flat-union-base-union.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
flat-union-base-union.out
flat-union-clash-member.err qapi: Move duplicate collision checks to schema check() 2015-12-17 08:21:29 +01: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: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +01:00
flat-union-empty.exit qapi: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +01:00
flat-union-empty.json qapi: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +01:00
flat-union-empty.out qapi: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +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
flat-union-inline.json qapi: Reuse code for flat union base validation 2015-10-12 18:46:49 +02:00
flat-union-inline.out
flat-union-int-branch.err
flat-union-int-branch.exit
flat-union-int-branch.json
flat-union-int-branch.out
flat-union-invalid-branch-key.err
flat-union-invalid-branch-key.exit
flat-union-invalid-branch-key.json
flat-union-invalid-branch-key.out
flat-union-invalid-discriminator.err
flat-union-invalid-discriminator.exit
flat-union-invalid-discriminator.json
flat-union-invalid-discriminator.out
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
flat-union-no-base.json
flat-union-no-base.out
flat-union-optional-discriminator.err
flat-union-optional-discriminator.exit
flat-union-optional-discriminator.json
flat-union-optional-discriminator.out
flat-union-string-discriminator.err
flat-union-string-discriminator.exit
flat-union-string-discriminator.json
flat-union-string-discriminator.out
funny-char.err
funny-char.exit
funny-char.json
funny-char.out
ident-with-escape.err
ident-with-escape.exit
ident-with-escape.json
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
include-before-err.exit
include-before-err.json
include-before-err.out
include-cycle-b.json
include-cycle-c.json
include-cycle.err
include-cycle.exit
include-cycle.json
include-cycle.out
include-format-err.err
include-format-err.exit
include-format-err.json
include-format-err.out
include-nested-err.err
include-nested-err.exit
include-nested-err.json
include-nested-err.out
include-no-file.err
include-no-file.exit
include-no-file.json
include-no-file.out
include-non-file.err qapi: Improve 'include' error message 2015-10-12 18:44:54 +02:00
include-non-file.exit
include-non-file.json qapi: Improve 'include' error message 2015-10-12 18:44:54 +02:00
include-non-file.out
include-relpath-sub.json
include-relpath.err
include-relpath.exit
include-relpath.json
include-relpath.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
include-repetition-sub.json
include-repetition.err
include-repetition.exit
include-repetition.json
include-repetition.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
include-self-cycle.err
include-self-cycle.exit
include-self-cycle.json
include-self-cycle.out
include-simple-sub.json
include-simple.err
include-simple.exit
include-simple.json
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
indented-expr.out qapi: Convert QType into QAPI built-in enum type 2015-12-17 08:21:28 +01:00
leading-comma-list.err
leading-comma-list.exit
leading-comma-list.json
leading-comma-list.out
leading-comma-object.err
leading-comma-object.exit
leading-comma-object.json
leading-comma-object.out
missing-colon.err
missing-colon.exit
missing-colon.json
missing-colon.out
missing-comma-list.err
missing-comma-list.exit
missing-comma-list.json
missing-comma-list.out
missing-comma-object.err
missing-comma-object.exit
missing-comma-object.json
missing-comma-object.out
missing-type.err
missing-type.exit
missing-type.json
missing-type.out
nested-struct-data.err
nested-struct-data.exit
nested-struct-data.json
nested-struct-data.out
non-objects.err
non-objects.exit
non-objects.json
non-objects.out
qapi-schema-test.err
qapi-schema-test.exit
qapi-schema-test.json qapi: Add tests of complex objects within alternate 2016-02-19 11:08:57 +01:00
qapi-schema-test.out qapi: Add tests of complex objects within alternate 2016-02-19 11:08:57 +01:00
quoted-structural-chars.err
quoted-structural-chars.exit
quoted-structural-chars.json
quoted-structural-chars.out
redefined-builtin.err
redefined-builtin.exit
redefined-builtin.json
redefined-builtin.out
redefined-command.err
redefined-command.exit
redefined-command.json
redefined-command.out
redefined-event.err
redefined-event.exit
redefined-event.json
redefined-event.out
redefined-type.err
redefined-type.exit
redefined-type.json
redefined-type.out
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
returns-alternate.exit
returns-alternate.json
returns-alternate.out
returns-array-bad.err
returns-array-bad.exit
returns-array-bad.json
returns-array-bad.out
returns-dict.err
returns-dict.exit
returns-dict.json
returns-dict.out
returns-unknown.err
returns-unknown.exit
returns-unknown.json
returns-unknown.out
returns-whitelist.err
returns-whitelist.exit
returns-whitelist.json
returns-whitelist.out
struct-base-clash-deep.err qapi: Move duplicate collision checks to schema check() 2015-12-17 08:21:29 +01:00
struct-base-clash-deep.exit
struct-base-clash-deep.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
struct-base-clash-deep.out
struct-base-clash.err qapi: Move duplicate collision checks to schema check() 2015-12-17 08:21:29 +01:00
struct-base-clash.exit
struct-base-clash.json qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
struct-base-clash.out
struct-data-invalid.err
struct-data-invalid.exit
struct-data-invalid.json
struct-data-invalid.out
struct-member-invalid.err
struct-member-invalid.exit
struct-member-invalid.json
struct-member-invalid.out
test-qapi.py tests/qapi-schema: Convert test harness to QAPISchemaVisitor 2015-09-21 09:32:50 +02:00
trailing-comma-list.err
trailing-comma-list.exit
trailing-comma-list.json
trailing-comma-list.out
trailing-comma-object.err
trailing-comma-object.exit
trailing-comma-object.json
trailing-comma-object.out
type-bypass-bad-gen.err
type-bypass-bad-gen.exit
type-bypass-bad-gen.json
type-bypass-bad-gen.out
unclosed-list.err
unclosed-list.exit
unclosed-list.json
unclosed-list.out
unclosed-object.err
unclosed-object.exit
unclosed-object.json
unclosed-object.out
unclosed-string.err
unclosed-string.exit
unclosed-string.json
unclosed-string.out
unicode-str.err
unicode-str.exit
unicode-str.json
unicode-str.out
union-base-no-discriminator.err
union-base-no-discriminator.exit
union-base-no-discriminator.json
union-base-no-discriminator.out
union-branch-case.err qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
union-branch-case.exit qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
union-branch-case.json qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
union-branch-case.out qapi: Enforce (or whitelist) case conventions on qapi members 2015-12-17 08:21:29 +01:00
union-clash-branches.err qapi: Move duplicate collision checks to schema check() 2015-12-17 08:21:29 +01:00
union-clash-branches.exit qapi: Test for various name collisions 2015-10-12 18:44:54 +02:00
union-clash-branches.json qapi: Move duplicate collision checks to schema check() 2015-12-17 08:21:29 +01: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: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +01:00
union-empty.exit qapi: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +01:00
union-empty.json qapi: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +01:00
union-empty.out qapi: Forbid empty unions and useless alternates 2016-02-19 11:08:56 +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
union-invalid-base.json
union-invalid-base.out
union-optional-branch.err
union-optional-branch.exit
union-optional-branch.json
union-optional-branch.out
union-unknown.err
union-unknown.exit
union-unknown.json
union-unknown.out
unknown-escape.err
unknown-escape.exit
unknown-escape.json
unknown-escape.out
unknown-expr-key.err
unknown-expr-key.exit
unknown-expr-key.json
unknown-expr-key.out