aboutsummaryrefslogtreecommitdiff
path: root/tests/qapi-schema/union-base-union.json
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2021-09-17 16:31:33 +0200
committerMarkus Armbruster <armbru@redhat.com>2021-09-27 08:23:25 +0200
commit8b3b3a16dfca57b7c4e7b8af215aec96880153d7 (patch)
treea4d6838ead2f7a8ef8e45240e310987c373be1cc /tests/qapi-schema/union-base-union.json
parent4e99f4b12c0e47898e8358a5c8fa54267bb16185 (diff)
tests/qapi-schema: Rename flat-union-* test cases to union-*
Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20210917143134.412106-23-armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com
Diffstat (limited to 'tests/qapi-schema/union-base-union.json')
-rw-r--r--tests/qapi-schema/union-base-union.json21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/qapi-schema/union-base-union.json b/tests/qapi-schema/union-base-union.json
new file mode 100644
index 0000000000..82d4c96e57
--- /dev/null
+++ b/tests/qapi-schema/union-base-union.json
@@ -0,0 +1,21 @@
+# For now, we require the base to be a struct without variants
+# TODO: It would be possible to allow a union as a base, as long as all
+# permutations of QMP names exposed by base do not clash with any QMP
+# member names added by local variants.
+{ 'enum': 'TestEnum',
+ 'data': [ 'value1', 'value2' ] }
+{ 'struct': 'TestTypeA',
+ 'data': { 'string': 'str' } }
+{ 'struct': 'TestTypeB',
+ 'data': { 'integer': 'int' } }
+{ 'enum': 'Enum', 'data': [ 'kind1', 'kind2' ] }
+{ 'union': 'UnionBase',
+ 'base': { 'type': 'Enum' },
+ 'discriminator': 'type',
+ 'data': { 'kind1': 'TestTypeA',
+ 'kind2': 'TestTypeB' } }
+{ 'union': 'TestUnion',
+ 'base': 'UnionBase',
+ 'discriminator': 'type',
+ 'data': { 'kind1': 'TestTypeA',
+ 'kind2': 'TestTypeB' } }