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 via email to