tests/qapi-schema: Rewrite simple union TestIfUnion to be flat
Simple unions predate flat unions. Having both complicates the QAPI schema language and the QAPI generator. We haven't been using simple unions in new code for a long time, because they are less flexible and somewhat awkward on the wire. To prepare for their removal, rewrite TestIfUnion to be flat. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20210917143134.412106-18-armbru@redhat.com>
This commit is contained in:
parent
def1d1f571
commit
5450186337
@ -229,8 +229,10 @@
|
|||||||
'if': 'TEST_IF_ENUM' }
|
'if': 'TEST_IF_ENUM' }
|
||||||
|
|
||||||
{ 'union': 'TestIfUnion',
|
{ 'union': 'TestIfUnion',
|
||||||
|
'base': { 'type': 'TestIfEnum' },
|
||||||
|
'discriminator': 'type',
|
||||||
'data': { 'foo': 'TestStruct',
|
'data': { 'foo': 'TestStruct',
|
||||||
'bar': { 'type': 'str', 'if': 'TEST_IF_UNION_BAR'} },
|
'bar': { 'type': 'UserDefZero', 'if': 'TEST_IF_ENUM_BAR'} },
|
||||||
'if': { 'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT'] } }
|
'if': { 'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT'] } }
|
||||||
|
|
||||||
{ 'command': 'test-if-union-cmd',
|
{ 'command': 'test-if-union-cmd',
|
||||||
|
@ -257,19 +257,15 @@ enum TestIfEnum
|
|||||||
member bar
|
member bar
|
||||||
if TEST_IF_ENUM_BAR
|
if TEST_IF_ENUM_BAR
|
||||||
if TEST_IF_ENUM
|
if TEST_IF_ENUM
|
||||||
object q_obj_TestStruct-wrapper
|
object q_obj_TestIfUnion-base
|
||||||
member data: TestStruct optional=False
|
member type: TestIfEnum optional=False
|
||||||
enum TestIfUnionKind
|
|
||||||
member foo
|
|
||||||
member bar
|
|
||||||
if TEST_IF_UNION_BAR
|
|
||||||
if {'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT']}
|
if {'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT']}
|
||||||
object TestIfUnion
|
object TestIfUnion
|
||||||
member type: TestIfUnionKind optional=False
|
base q_obj_TestIfUnion-base
|
||||||
tag type
|
tag type
|
||||||
case foo: q_obj_TestStruct-wrapper
|
case foo: TestStruct
|
||||||
case bar: q_obj_str-wrapper
|
case bar: UserDefZero
|
||||||
if TEST_IF_UNION_BAR
|
if TEST_IF_ENUM_BAR
|
||||||
if {'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT']}
|
if {'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT']}
|
||||||
object q_obj_test-if-union-cmd-arg
|
object q_obj_test-if-union-cmd-arg
|
||||||
member union-cmd-arg: TestIfUnion optional=False
|
member union-cmd-arg: TestIfUnion optional=False
|
||||||
|
Loading…
x
Reference in New Issue
Block a user