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
@ -735,7 +735,7 @@ def check_union(expr, info):
|
||||
raise QAPISemError(info, "Flat union '%s' must have a base"
|
||||
% name)
|
||||
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
|
||||
# member of the base struct.
|
||||
|
@ -1,10 +1 @@
|
||||
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
|
||||
tests/qapi-schema/union-base-empty.json:5: Discriminator 'type' is not a member of base struct 'Empty'
|
||||
|
Loading…
Reference in New Issue
Block a user