[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 05/19] tests/qapi-schema: Demonstrate insufficie
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH 05/19] tests/qapi-schema: Demonstrate insufficient 'if' checking |
Date: |
Tue, 17 Sep 2019 12:47:50 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 9/14/19 10:34 AM, Markus Armbruster wrote:
> Cover invalid 'if' in struct members, features, union and alternate
> branches. Four out of four are broken. Mark FIXME.
>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
Embarrassing. But the fact that you're pointing them out presumably
means that you fix it later in the series ;)
> +++ b/tests/qapi-schema/features-if-invalid.json
> @@ -0,0 +1,5 @@
> +# Cover feature with invalid 'if'
> +# FIXME not rejected, misinterpreded as unconditional
misinterpreted
With the typo fix,
Reviewed-by: Eric Blake <address@hidden>
> +++ b/tests/qapi-schema/struct-member-if-invalid.json
> @@ -0,0 +1,4 @@
> +# Cover member with invalid 'if'
> +# FIXME not rejected, would generate '#if True\n'
Which might actually compile, depending on what else is present in
various headers! But certainly not what was intended.
> +++ b/tests/qapi-schema/union-branch-if-invalid.json
> @@ -0,0 +1,7 @@
> +# Cover branch with invalid 'if'
> +# FIXME not rejected, would generate '#if \n'
> +{ 'enum': 'Branches', 'data': ['branch1'] }
> +{ 'struct': 'Stru', 'data': { 'member': 'str' } }
> +{ 'union': 'Uni',
> + 'base': { 'tag': 'Branches' }, 'discriminator': 'tag',
> + 'data': { 'branch1': { 'type': 'Stru', 'if': [''] } } }
So you're pointing out a difference between an empty string and a string
not containing a C macro name (possibly because later patches will give
them different error messages).
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH 00/19] qapi: Frontend fixes and cleanups, Markus Armbruster, 2019/09/14
- [Qemu-devel] [PATCH 03/19] tests/qapi-schema: Demonstrate misleading optional tag error, Markus Armbruster, 2019/09/14
- [Qemu-devel] [PATCH 14/19] qapi: Simplify check_keys(), Markus Armbruster, 2019/09/14
- [Qemu-devel] [PATCH 12/19] qapi: Fix missing 'if' checks in struct, union, alternate 'data', Markus Armbruster, 2019/09/14
- [Qemu-devel] [PATCH 10/19] qapi: Fix broken discriminator error messages, Markus Armbruster, 2019/09/14