qemu-devel
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]