提交 48153745 编写于 作者: M Markus Armbruster

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: NMarkus Armbruster <armbru@redhat.com>
Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
Message-Id: <1489582656-31133-10-git-send-email-armbru@redhat.com>
上级 707fb2d3
......@@ -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.
......
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'
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册