mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
qapi: Fix to reject empty union base gracefully
Common Python pitfall: 'assert base_members' fires on [] in addition to None. Correct to 'assert base_members is not None'. 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-10-git-send-email-armbru@redhat.com>
This commit is contained in:
parent
707fb2d381
commit
4815374513
2 changed files with 2 additions and 11 deletions
|
@ -735,7 +735,7 @@ def check_union(expr, info):
|
||||||
raise QAPISemError(info, "Flat union '%s' must have a base"
|
raise QAPISemError(info, "Flat union '%s' must have a base"
|
||||||
% name)
|
% name)
|
||||||
base_members = find_base_members(base)
|
base_members = find_base_members(base)
|
||||||
assert base_members
|
assert base_members is not None
|
||||||
|
|
||||||
# The value of member 'discriminator' must name a non-optional
|
# The value of member 'discriminator' must name a non-optional
|
||||||
# member of the base struct.
|
# member of the base struct.
|
||||||
|
|
|
@ -1,10 +1 @@
|
||||||
Traceback (most recent call last):
|
tests/qapi-schema/union-base-empty.json:5: Discriminator 'type' is not a member of base struct 'Empty'
|
||||||
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
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue