From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33454) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yc8Z1-0001lh-6N for qemu-devel@nongnu.org; Sun, 29 Mar 2015 04:27:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yc8Yx-0005QR-4z for qemu-devel@nongnu.org; Sun, 29 Mar 2015 04:27:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53076) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yc8Yw-0005QL-Th for qemu-devel@nongnu.org; Sun, 29 Mar 2015 04:27:19 -0400 From: Markus Armbruster References: <1427227433-5030-1-git-send-email-eblake@redhat.com> <1427227433-5030-14-git-send-email-eblake@redhat.com> <87sicrzrau.fsf@blackfin.pond.sub.org> <551457B8.30005@redhat.com> <877fu2lioc.fsf@blackfin.pond.sub.org> <5515B1FD.40703@redhat.com> Date: Sun, 29 Mar 2015 10:27:12 +0200 In-Reply-To: <5515B1FD.40703@redhat.com> (Eric Blake's message of "Fri, 27 Mar 2015 13:39:41 -0600") Message-ID: <87lhig5hun.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH v5 13/28] qapi: Add some expr tests List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: kwolf@redhat.com, lcapitulino@redhat.com, famz@redhat.com, qemu-devel@nongnu.org, wenchaoqemu@gmail.com Eric Blake writes: > On 03/27/2015 06:38 AM, Markus Armbruster wrote: >> Eric Blake writes: >> >>> On 03/26/2015 09:55 AM, Markus Armbruster wrote: >>>> Eric Blake 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 '_'). Sounds good!