qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v13 12/14] qapi: Enforce (or whitelist) case con


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH v13 12/14] qapi: Enforce (or whitelist) case conventions on qapi members
Date: Fri, 27 Nov 2015 10:42:45 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Eric Blake <address@hidden> writes:

> We document that members of enums and objects should be
> 'lower-case', although we were not enforcing it.  We have to
> whitelist a few pre-existing entities that violate the norms.
> Add three new tests to expose the new error message, each of
> which first uses the whitelisted name 'UuidInfo' to prove the
> whitelist works, then triggers the failure.
>
> Note that by adding this check, we have effectively forbidden
> an entity with a case-insensitive clash of member names, for
> any entity that is not on the whitelist (although there is
> still the possibility to clash via '-' vs. '_').
>
> Signed-off-by: Eric Blake <address@hidden>
[...]
> @@ -1039,6 +1054,10 @@ class QAPISchemaMember(object):
>
>      def check_clash(self, info, seen):
>          cname = c_name(self.name)
> +        if cname.lower() != cname and info['name'] not in case_whitelist:
> +            raise QAPIExprError(info,
> +                                "Member '%s' of '%s' should use lowercase"
> +                                % (self.name, info['name']))
>          if cname in seen:
>              raise QAPIExprError(info,
>                                  "%s collides with %s"

As far as I can tell, this is the only use of info['name'] in this
series.

Can you give an example where info['name'] != self.owner?



reply via email to

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