mirror of https://gitee.com/openkylin/qemu.git
tests/qapi-schema: Cover empty union base
The new test case shows off qapi.py choking on an empty union base. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <1489582656-31133-9-git-send-email-armbru@redhat.com>
This commit is contained in:
parent
bd7f974796
commit
707fb2d381
|
@ -476,6 +476,7 @@ qapi-schema += unclosed-list.json
|
||||||
qapi-schema += unclosed-object.json
|
qapi-schema += unclosed-object.json
|
||||||
qapi-schema += unclosed-string.json
|
qapi-schema += unclosed-string.json
|
||||||
qapi-schema += unicode-str.json
|
qapi-schema += unicode-str.json
|
||||||
|
qapi-schema += union-base-empty.json
|
||||||
qapi-schema += union-base-no-discriminator.json
|
qapi-schema += union-base-no-discriminator.json
|
||||||
qapi-schema += union-branch-case.json
|
qapi-schema += union-branch-case.json
|
||||||
qapi-schema += union-clash-branches.json
|
qapi-schema += union-clash-branches.json
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "tests/qapi-schema/test-qapi.py", line 56, in <module>
|
||||||
|
schema = QAPISchema(sys.argv[1])
|
||||||
|
File "scripts/qapi.py", line 1487, in __init__
|
||||||
|
self.exprs = check_exprs(parser.exprs)
|
||||||
|
File "scripts/qapi.py", line 921, in check_exprs
|
||||||
|
check_union(expr, info)
|
||||||
|
File "scripts/qapi.py", line 738, in check_union
|
||||||
|
assert base_members
|
||||||
|
AssertionError
|
|
@ -0,0 +1 @@
|
||||||
|
1
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Flat union with empty base and therefore without discriminator
|
||||||
|
|
||||||
|
{ 'struct': 'Empty', 'data': { } }
|
||||||
|
|
||||||
|
{ 'union': 'TestUnion',
|
||||||
|
'base': 'Empty',
|
||||||
|
'discriminator': 'type',
|
||||||
|
'data': { 'value1': 'int',
|
||||||
|
'value2': 'str' } }
|
Loading…
Reference in New Issue