From: Markus Armbruster Date: Wed, 15 Mar 2017 12:56:58 +0000 (+0100) Subject: qapi: Fix to reject empty union base gracefully X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=481537451302fc63eee5cf3663a92629bb78954f;p=qemu.git 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 Reviewed-by: Marc-André Lureau Reviewed-by: Eric Blake Message-Id: <1489582656-31133-10-git-send-email-armbru@redhat.com> --- diff --git a/scripts/qapi.py b/scripts/qapi.py index 78db319831..f4c82100f4 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -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. diff --git a/tests/qapi-schema/union-base-empty.err b/tests/qapi-schema/union-base-empty.err index 26bfa07bc9..7695806d81 100644 --- a/tests/qapi-schema/union-base-empty.err +++ b/tests/qapi-schema/union-base-empty.err @@ -1,10 +1 @@ -Traceback (most recent call last): - File "tests/qapi-schema/test-qapi.py", line 56, in - 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'