qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: qemu-devel@nongnu.org
Cc: armbru@redhat.com
Subject: [Qemu-devel] [PATCH v6 00/15] post-introspection cleanups, subset C
Date: Wed,  7 Oct 2015 20:00:35 -0600	[thread overview]
Message-ID: <1444269650-4117-1-git-send-email-eblake@redhat.com> (raw)

Pending prerequisite: Markus' qapi-next branch (which has my
subset A patches):
git://repo.or.cz/qemu/armbru.git qapi-next
http://thread.gmane.org/gmane.comp.emulators.qemu/365827/focus=366351
as well as my subset B patches (currently at v7):
http://article.gmane.org/gmane.comp.emulators.qemu/366810
http://repo.or.cz/qemu/ericb.git/shortlog/refs/tags/qapi-cleanupv7b

Also available as a tag at this location:
git fetch git://repo.or.cz/qemu/ericb.git qapi-cleanupv6c

and I plan to eventually forcefully update my branch with the rest
of the v5 series, at:
http://repo.or.cz/qemu/ericb.git/shortlog/refs/heads/qapi

v6 notes:
Add some patches and rebase onto work on subset B. Rearrange some
patches from v5 (this set includes 17-20, 23, 25-27). Backport diff
gets a bit confused by one patch title changing.

001/15:[down] 'qapi: Move empty-enum to compile-time test'
002/15:[down] 'qapi: Drop redundant returns-int test'
003/15:[down] 'qapi: Drop redundant flat-union-reverse-define test'
004/15:[down] 'qapi: Use generated TestStruct machinery in tests'
005/15:[----] [--] 'qapi: Provide nicer array names in introspection'
006/15:[----] [--] 'qapi-introspect: Guarantee particular sorting'
007/15:[down] 'qapi: Change alternate layout to use 'type''
008/15:[0141] [FC] 'qapi: Simplify visiting of alternate types'
009/15:[0023] [FC] 'qapi: Fix alternates that accept 'number' but not 'int''
010/15:[----] [--] 'qapi: Remove dead visitor code'
011/15:[down] 'qapi: Plug leaks in test-qmp-*'
012/15:[down] 'qapi: Simplify error testing in test-qmp-*'
013/15:[0007] [FC] 'qapi: Test failure in middle of array parse'
014/15:[down] 'qapi: More tests of input arrays'
015/15:[0021] [FC] 'qapi: Simplify visits of optional fields'

Not much direct review comments, although some of the changes here
are updated based on comments made on other patches in the v5 series.

Subset D (and more?) will come later.

In v5:
https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg05410.html
I _did_ rearrange patches to try and group related features:

1-2: Groundwork cleanups
3-5: Add more test cases
6-16: Front-end cleanups
17-18: Introspection output cleanups
19-20: 'alternate' type cleanups
21-29: qapi visitor cleanups
30-45: qapi-ify netdev_add
46: add qapi shorthand for flat unions

Lots of fixes based on additional testing, and rebased to
track other changes that happened in the meantime.  The series
is huge; I can split off smaller portions as requested.

In v4:
https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg02580.html
add some more clean up patches
rebase to Markus' recent work
pull in part of Zoltán's work to make netdev_add a flat union,
further enhancing it to be introspectible

I might be able to rearrange some of these patches, or separate
it into smaller independent series, if requested; but I'm
posting now to get review started.

In v3:
https://lists.gnu.org/archive/html/qemu-devel/2015-08/msg02059.html
redo cleanup of dealloc of partial struct
add patches to make all visit_type_*() avoid leaks on failure
add patches to allow boxed command arguments and events

In v2:
https://lists.gnu.org/archive/html/qemu-devel/2015-08/msg00900.html
rebase to Markus' v3 series
rework how comments are emitted for fields inherited from base
additional patches added for deleting colliding 'void *data'
documentation updates to match code changes

v1 was here:
https://lists.gnu.org/archive/html/qemu-devel/2015-07/msg05266.html
https://lists.gnu.org/archive/html/qemu-devel/2015-07/msg05325.html

Eric Blake (15):
  qapi: Move empty-enum to compile-time test
  qapi: Drop redundant returns-int test
  qapi: Drop redundant flat-union-reverse-define test
  qapi: Use generated TestStruct machinery in tests
  qapi: Provide nicer array names in introspection
  qapi-introspect: Guarantee particular sorting
  qapi: Change alternate layout to use 'type'
  qapi: Simplify visiting of alternate types
  qapi: Fix alternates that accept 'number' but not 'int'
  qapi: Remove dead visitor code
  qapi: Plug leaks in test-qmp-*
  qapi: Simplify error testing in test-qmp-*
  qapi: Test failure in middle of array parse
  qapi: More tests of input arrays
  qapi: Simplify visits of optional fields

 docs/qapi-code-gen.txt                           |  31 ++-
 include/qapi/visitor-impl.h                      |  27 +--
 include/qapi/visitor.h                           |  22 +-
 qapi/introspect.json                             |  22 +-
 qapi/opts-visitor.c                              |   2 +-
 qapi/qapi-visit-core.c                           | 141 +++++-------
 qapi/qmp-input-visitor.c                         |  11 +-
 qapi/string-input-visitor.c                      |   3 +-
 scripts/qapi-introspect.py                       |  17 +-
 scripts/qapi-types.py                            |  36 +--
 scripts/qapi-visit.py                            |  25 ++-
 scripts/qapi.py                                  |  60 +++--
 tests/Makefile                                   |   3 -
 tests/qapi-schema/alternate-clash-members.err    |   2 +-
 tests/qapi-schema/alternate-clash-type.err       |   2 +-
 tests/qapi-schema/alternate-clash-type.json      |   2 +-
 tests/qapi-schema/alternate-empty.out            |   1 -
 tests/qapi-schema/enum-empty.err                 |   0
 tests/qapi-schema/enum-empty.exit                |   1 -
 tests/qapi-schema/enum-empty.json                |   2 -
 tests/qapi-schema/enum-empty.out                 |   2 -
 tests/qapi-schema/flat-union-reverse-define.err  |   0
 tests/qapi-schema/flat-union-reverse-define.exit |   1 -
 tests/qapi-schema/flat-union-reverse-define.json |  17 --
 tests/qapi-schema/flat-union-reverse-define.out  |  13 --
 tests/qapi-schema/qapi-schema-test.json          |  28 ++-
 tests/qapi-schema/qapi-schema-test.out           |  24 +-
 tests/qapi-schema/returns-int.err                |   0
 tests/qapi-schema/returns-int.exit               |   1 -
 tests/qapi-schema/returns-int.json               |   3 -
 tests/qapi-schema/returns-int.out                |   3 -
 tests/test-qmp-commands.c                        |   4 +-
 tests/test-qmp-input-strict.c                    | 108 +++------
 tests/test-qmp-input-visitor.c                   | 268 ++++++++++-------------
 tests/test-qmp-output-visitor.c                  | 135 +++---------
 tests/test-visitor-serialization.c               |  76 ++-----
 36 files changed, 427 insertions(+), 666 deletions(-)
 delete mode 100644 tests/qapi-schema/enum-empty.err
 delete mode 100644 tests/qapi-schema/enum-empty.exit
 delete mode 100644 tests/qapi-schema/enum-empty.json
 delete mode 100644 tests/qapi-schema/enum-empty.out
 delete mode 100644 tests/qapi-schema/flat-union-reverse-define.err
 delete mode 100644 tests/qapi-schema/flat-union-reverse-define.exit
 delete mode 100644 tests/qapi-schema/flat-union-reverse-define.json
 delete mode 100644 tests/qapi-schema/flat-union-reverse-define.out
 delete mode 100644 tests/qapi-schema/returns-int.err
 delete mode 100644 tests/qapi-schema/returns-int.exit
 delete mode 100644 tests/qapi-schema/returns-int.json
 delete mode 100644 tests/qapi-schema/returns-int.out

-- 
2.4.3

             reply	other threads:[~2015-10-08  2:01 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-08  2:00 Eric Blake [this message]
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 01/15] qapi: Move empty-enum to compile-time test Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 02/15] qapi: Drop redundant returns-int test Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 03/15] qapi: Drop redundant flat-union-reverse-define test Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 04/15] qapi: Use generated TestStruct machinery in tests Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 05/15] qapi: Provide nicer array names in introspection Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 06/15] qapi-introspect: Guarantee particular sorting Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 07/15] qapi: Change alternate layout to use 'type' Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 08/15] qapi: Simplify visiting of alternate types Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 09/15] qapi: Fix alternates that accept 'number' but not 'int' Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 10/15] qapi: Remove dead visitor code Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 11/15] qapi: Plug leaks in test-qmp-* Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 12/15] qapi: Simplify error testing " Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 13/15] qapi: Test failure in middle of array parse Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 14/15] qapi: More tests of input arrays Eric Blake
2015-10-08  2:00 ` [Qemu-devel] [PATCH v6 15/15] qapi: Simplify visits of optional fields Eric Blake
2015-10-16 15:23 ` [Qemu-devel] [PATCH v6 00/15] post-introspection cleanups, subset C Eric Blake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1444269650-4117-1-git-send-email-eblake@redhat.com \
    --to=eblake@redhat.com \
    --cc=armbru@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).