[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/8] qapi: add support for lists of native types
From: |
mdroth |
Subject: |
Re: [Qemu-devel] [PATCH 0/8] qapi: add support for lists of native types |
Date: |
Thu, 9 May 2013 08:49:53 -0500 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, May 09, 2013 at 03:31:08PM +0200, Laszlo Ersek wrote:
> On 05/09/13 01:33, Michael Roth wrote:
> > These patches apply on top of qemu.git master, and can also be obtained
> > from:
> > git://github.com/mdroth/qemu.git qapi-native-lists
> >
> > Sending this now since a number of series have popped up in the past that
> > wanted this, and Amos has some pending patches (query-mac-tables) that rely
> > on this as well.
> >
> > These patches add support for specifying lists of native qapi types
> > (int/bool/str/number) like so:
> >
> > { 'type': 'foo',
> > 'data': { 'bar': ['int'] }}
> >
> > for a 'bar' field that is a list of type 'int',
> >
> > { 'type': 'foo2',
> > 'data': { 'bar2': ['str'] }}
> >
> > for a 'bar2' field that is a list of type 'str', and so on.
> >
> > This uses linked list types for the native C representations, just as we do
> > for complex schema-defined types. In the future we may add schema
> > annotations
> > of some sort to specify a more natural/efficient array type for the C
> > representations, but this should serve the majority of uses-cases for now.
> >
> > Makefile | 6 +-
> > qapi-schema-test.json | 8 ++
> > scripts/qapi-types.py | 44 ++++++-
> > scripts/qapi-visit.py | 36 ++++-
> > scripts/qapi.py | 21 +++
> > tests/test-qmp-input-visitor.c | 181 +++++++++++++++++++++++++
> > tests/test-qmp-output-visitor.c | 172 ++++++++++++++++++++++++
> > tests/test-visitor-serialization.c | 256
> > +++++++++++++++++++++++++++++++++---
> > 8 files changed, 692 insertions(+), 32 deletions(-)
> >
> >
>
> Two notes:
> - the remark I made for 6/8 (comparing empty strings),
>
> - for 7/8 and 8/8: the format specification %3.4f is not very useful.
> "3" is the field width, "4" is the precision, and the latter means for
> %f the number of digits printed after the radix character. It's not
> useful to specify a smaller field width (which covers the entire output
> string) than precision here.
Yup, that's a mistake. The field width isn't useful at all for what I
was intending actually (to constrain the whole portion of float so that
the fractional portion wouldn't get truncated by snprintf and make the
test less likely to catch re-encoding issues). I think just using %.4f
should suffice since we have plenty of extra buffer space for the values
we're working with (max being 32 / 3) so I'll do that for the next pass.
>
> Other than these nothing pokes me in the eye.
>
> Laszlo
>
- [Qemu-devel] [PATCH 2/8] qapi: qapi-visit.py, fix list handling for union types, (continued)
- [Qemu-devel] [PATCH 2/8] qapi: qapi-visit.py, fix list handling for union types, Michael Roth, 2013/05/08
- [Qemu-devel] [PATCH 3/8] qapi: qapi-visit.py, native list support, Michael Roth, 2013/05/08
- [Qemu-devel] [PATCH 4/8] qapi: enable generation of native list code, Michael Roth, 2013/05/08
- [Qemu-devel] [PATCH 5/8] qapi: fix leak in unit tests, Michael Roth, 2013/05/08
- [Qemu-devel] [PATCH 6/8] qapi: add native list coverage for visitor serialization tests, Michael Roth, 2013/05/08
- [Qemu-devel] [PATCH 7/8] qapi: add native list coverage for QMP output visitor tests, Michael Roth, 2013/05/08
- [Qemu-devel] [PATCH 8/8] qapi: add native list coverage for QMP input visitor tests, Michael Roth, 2013/05/08
- Re: [Qemu-devel] [PATCH 0/8] qapi: add support for lists of native types, Laszlo Ersek, 2013/05/09
- Re: [Qemu-devel] [PATCH 0/8] qapi: add support for lists of native types,
mdroth <=