aboutsummaryrefslogtreecommitdiff
path: root/tests/qapi-schema/flat-union-string-discriminator.json
diff options
context:
space:
mode:
authorWenchao Xia <wenchaoqemu@gmail.com>2014-03-04 18:44:39 -0800
committerLuiz Capitulino <lcapitulino@redhat.com>2014-03-11 09:07:42 -0400
commit5223070c47c6fc35ee000b2392ae76d9fab54f16 (patch)
tree52a971bbbc5db95b1ebaa064483eeb6ee54ecaeb /tests/qapi-schema/flat-union-string-discriminator.json
parent59ca664ef86c8a9078157336b566e832fc5466e2 (diff)
qapi script: do not allow string discriminator
Since enum based discriminators provide better type-safety and ensure that future qapi additions do not forget to adjust dependent unions, forbid using string as discriminator from now on. Signed-off-by: Wenchao Xia <wenchaoqemu@gmail.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Diffstat (limited to 'tests/qapi-schema/flat-union-string-discriminator.json')
-rw-r--r--tests/qapi-schema/flat-union-string-discriminator.json17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/qapi-schema/flat-union-string-discriminator.json b/tests/qapi-schema/flat-union-string-discriminator.json
new file mode 100644
index 0000000000..e966aeb395
--- /dev/null
+++ b/tests/qapi-schema/flat-union-string-discriminator.json
@@ -0,0 +1,17 @@
+{ 'enum': 'TestEnum',
+ 'data': [ 'value1', 'value2' ] }
+
+{ 'type': 'TestBase',
+ 'data': { 'enum1': 'TestEnum', 'kind': 'str' } }
+
+{ 'type': 'TestTypeA',
+ 'data': { 'string': 'str' } }
+
+{ 'type': 'TestTypeB',
+ 'data': { 'integer': 'int' } }
+
+{ 'union': 'TestUnion',
+ 'base': 'TestBase',
+ 'discriminator': 'kind',
+ 'data': { 'kind1': 'TestTypeA',
+ 'kind2': 'TestTypeB' } }