qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH RFC v4 02.5/32] qapi: Hide internal data members


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH RFC v4 02.5/32] qapi: Hide internal data members of schema objects.
Date: Sat, 5 Sep 2015 07:25:25 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0

On 09/05/2015 07:19 AM, Eric Blake wrote:
> On 09/04/2015 05:51 PM, Eric Blake wrote:
>> We have a few fields that exist mainly to hold information from
>> __init__() until check() (matching the fact that parsing is
>> two-pass; the first to find type names, the second to associate
>> types together while honoring forward references), or which should
>> only be used through accessor methods.  We should not use these
>> fields directly in other files after check() has run, so use the
>> python convention of naming these fields with leading underscore
>> to mark their internal usage, and to check that no one else was
>> using them.
>>
>> Exception: our crazy handling of simple unions (with a C member
>> 'kind' matching the QMP wire 'type') requires peeking through
>> the hidden field.  This leaky abstraction will be cleaned up in
>> a later patch.
>>
>> Signed-off-by: Eric Blake <address@hidden>
>> ---
>>
>> Technically, I wrote this patch after 32; if you decide to rebase
>> it into the series, you'll have to split it among 2, 10, 11, and 30.
>> Up to you if you want to squash this in during your spin of v5, or
>> if you want me to keep it as a separate patch for inclusion after
>> your series.
> 
> Oh, and tests/qapi-schema/test-qapi.py is annoying - even when it exits
> non-zero, it does NOT cause a failure in 'make check-qapi-schema'.

Rather, it does not leave an obvious stack trace or immediate non-zero
status; and 'make check-qapi-schema' only fails as a side effect if
later output happens to differ from expectations.  I would have had a
much easier time chasing the problem if I'd had an obvious python stack
trace.

-- 
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]