qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 13/28] qapi: Add some expr tests


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH v5 13/28] qapi: Add some expr tests
Date: Fri, 27 Mar 2015 13:39:41 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0

On 03/27/2015 06:38 AM, Markus Armbruster wrote:
> Eric Blake <address@hidden> writes:
> 
>> On 03/26/2015 09:55 AM, Markus Armbruster wrote:
>>> Eric Blake <address@hidden> writes:
>>>
>>>> Demonstrate that the qapi generator doesn't deal well with
>>>> expressions that aren't up to par. Later patches will improve
>>>> the expected results as the generator is made stricter.  Only
>>>> one of the added tests actually behaves sanely at rejecting
>>>> obvious problems.
>>>>
>>>
>>> qapi-code-gen.txt documents the naming conventions:
>>>
>>>     Types, commands, and events share a common namespace.  Therefore,
>>>     generally speaking, type definitions should always use CamelCase for
>>>     user-defined type names, while built-in types are lowercase. Type
>>>     definitions should not end in 'Kind', as this namespace is used for
>>>     creating implicit C enums for visiting union types.  Command names,
>>>     and field names within a type, should be all lower case with words
>>>     separated by a hyphen.  However, some existing older commands and
>>>     complex types use underscore; when extending such expressions,
>>>     consistency is preferred over blindly avoiding underscore.  Event
>>>     names should be ALL_CAPS with words separated by underscore.  The
>>>     special string '**' appears for some commands that manually perform
>>>     their own type checking rather than relying on the type-safe code
>>>     produced by the qapi code generators.
>>>
>>> We should either enforce the conventions consistently, or not at all.
>>>
>>> Enforcing them makes certain kinds of name clashes in generated C
>>> impossible.  If we don't enforce them, we should catch the clashes.
>>>
>>> Since I haven't read to the end of your series, I have to ask: do you
>>> intend to enforce them?
>>
>> I added tests to enforce it for event names, but did not enforce things
>> for command names or complex type members.  I guess that can be added on
>> top, if desired.
>>
>> So, did this patch get R-b?
> 
> I'd rather not enforce naming conventions just for events.
> 
> If we want to enforce them, let's do it consistently, and in a separate
> series that includes this patch.  Okay?

Sounds like I need a v6 respin then, where I drop my patch that attempts
to enforce all-caps event naming but did not enforce type or command
naming; but I will keep everything else (enforcing that names are valid
C identifiers + '-' and '.' (which both get flattened to '_').

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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