qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 06/28] tests/qapi-schema: Tweak to demonstrate buggy member n


From: Markus Armbruster
Subject: Re: [PATCH 06/28] tests/qapi-schema: Tweak to demonstrate buggy member name check
Date: Tue, 23 Mar 2021 16:44:15 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

John Snow <jsnow@redhat.com> writes:

> On 3/23/21 5:40 AM, Markus Armbruster wrote:
>> Member name 'u' and names starting with 'has-' or 'has_' are reserved
>> for the generator.  check_type() enforces this, covered by tests
>> reserved-member-u and reserved-member-has.
>> These tests neglect to cover optional members, where the name starts
>> with '*'.  Tweak reserved-member-u to fix that.
>> This demonstrates the reserved member name check is broken for
>> optional members.  The next commit will fix it.
>> 
>
> The test without an optional member goes away. Do we lose coverage?
> (Do we care?)

Up to a point :)  We do try to cover all failure modes, just not in all
contexts.

The test is about this error:

         if c_name(key, False) == 'u' or c_name(key, False).startswith('has_'):
             raise QAPISemError(info, "%s uses reserved name" % key_source)

Full matrix: (is "u", starts with "has_") x (optional, not optional).

Instead of covering all four cases, we cover two: non-optional "u"
(reserved-member-u) and non-optional "has-" (reserved-member-has).

The patch flips the former to optional.  The latter still covers
non-optional.

Good enough, I think.

Do you feel I should point to reserved-member-has in the commit message?




reply via email to

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