[PATCH 00/14] qapi: Fix minor bugs, require boxed for conditional arguments

Markus Armbruster posted 14 patches 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230316071325.492471-1-armbru@redhat.com
Maintainers: Markus Armbruster <armbru@redhat.com>, Michael Roth <michael.roth@amd.com>
docs/devel/qapi-code-gen.rst                  |   5 +-
scripts/qapi/commands.py                      |   1 +
scripts/qapi/expr.py                          | 115 ++++++++++--------
scripts/qapi/gen.py                           |   1 +
scripts/qapi/main.py                          |   2 +-
scripts/qapi/schema.py                        |  16 ++-
scripts/qapi/visit.py                         |   2 +
tests/qapi-schema/args-if-implicit.err        |   2 +
tests/qapi-schema/args-if-implicit.json       |   4 +
tests/qapi-schema/args-if-implicit.out        |   0
tests/qapi-schema/args-if-unboxed.err         |   2 +
tests/qapi-schema/args-if-unboxed.json        |   6 +
tests/qapi-schema/args-if-unboxed.out         |   0
tests/qapi-schema/bad-data.err                |   2 +-
tests/qapi-schema/event-args-if-unboxed.err   |   2 +
tests/qapi-schema/event-args-if-unboxed.json  |   4 +
tests/qapi-schema/event-args-if-unboxed.out   |   0
tests/qapi-schema/event-nest-struct.err       |   2 +-
tests/qapi-schema/meson.build                 |   3 +
tests/qapi-schema/nested-struct-data.err      |   2 +-
tests/qapi-schema/qapi-schema-test.json       |  20 +--
tests/qapi-schema/qapi-schema-test.out        |  32 ++---
tests/qapi-schema/returns-dict.err            |   2 +-
tests/qapi-schema/struct-data-typename.err    |   2 +
tests/qapi-schema/struct-data-typename.json   |   2 +
tests/qapi-schema/struct-data-typename.out    |   0
tests/qapi-schema/struct-member-invalid.err   |   2 +-
tests/qapi-schema/union-array-branch.err      |   2 +-
.../union-invalid-discriminator.err           |   2 +-
.../union-invalid-discriminator.json          |   4 +-
30 files changed, 141 insertions(+), 98 deletions(-)
create mode 100644 tests/qapi-schema/args-if-implicit.err
create mode 100644 tests/qapi-schema/args-if-implicit.json
create mode 100644 tests/qapi-schema/args-if-implicit.out
create mode 100644 tests/qapi-schema/args-if-unboxed.err
create mode 100644 tests/qapi-schema/args-if-unboxed.json
create mode 100644 tests/qapi-schema/args-if-unboxed.out
create mode 100644 tests/qapi-schema/event-args-if-unboxed.err
create mode 100644 tests/qapi-schema/event-args-if-unboxed.json
create mode 100644 tests/qapi-schema/event-args-if-unboxed.out
create mode 100644 tests/qapi-schema/struct-data-typename.err
create mode 100644 tests/qapi-schema/struct-data-typename.json
create mode 100644 tests/qapi-schema/struct-data-typename.out
[PATCH 00/14] qapi: Fix minor bugs, require boxed for conditional arguments
Posted by Markus Armbruster 1 year ago
PATCH 01-08 fix a few minor bugs I found on the way.  Could be a
separate series, but keeping them here seems simpler.

PATCH 09-12 improve tests for 'if' conditionals.

PATCH 13 fixes a code generation regression, and PATCH 14 rejects uses
conditionals that never worked and aren't worth fixing.

Markus Armbruster (14):
  qapi: Fix error message format regression
  qapi/schema: Use super()
  qapi: Clean up after removal of simple unions
  qapi: Split up check_type()
  qapi: Improve error message for unexpected array types
  qapi: Simplify code a bit after previous commit
  qapi: Fix error message when type name or array is expected
  qapi: Fix to reject 'data': 'mumble' in struct
  tests/qapi-schema: Improve union discriminator coverage
  tests/qapi-schema: Rename a few conditionals
  tests/qapi-schema: Clean up positive test for conditionals
  tests/qapi-schema: Cover optional conditional struct member
  qapi: Fix code generated for optional conditional struct member
  qapi: Require boxed for conditional command and event arguments

 docs/devel/qapi-code-gen.rst                  |   5 +-
 scripts/qapi/commands.py                      |   1 +
 scripts/qapi/expr.py                          | 115 ++++++++++--------
 scripts/qapi/gen.py                           |   1 +
 scripts/qapi/main.py                          |   2 +-
 scripts/qapi/schema.py                        |  16 ++-
 scripts/qapi/visit.py                         |   2 +
 tests/qapi-schema/args-if-implicit.err        |   2 +
 tests/qapi-schema/args-if-implicit.json       |   4 +
 tests/qapi-schema/args-if-implicit.out        |   0
 tests/qapi-schema/args-if-unboxed.err         |   2 +
 tests/qapi-schema/args-if-unboxed.json        |   6 +
 tests/qapi-schema/args-if-unboxed.out         |   0
 tests/qapi-schema/bad-data.err                |   2 +-
 tests/qapi-schema/event-args-if-unboxed.err   |   2 +
 tests/qapi-schema/event-args-if-unboxed.json  |   4 +
 tests/qapi-schema/event-args-if-unboxed.out   |   0
 tests/qapi-schema/event-nest-struct.err       |   2 +-
 tests/qapi-schema/meson.build                 |   3 +
 tests/qapi-schema/nested-struct-data.err      |   2 +-
 tests/qapi-schema/qapi-schema-test.json       |  20 +--
 tests/qapi-schema/qapi-schema-test.out        |  32 ++---
 tests/qapi-schema/returns-dict.err            |   2 +-
 tests/qapi-schema/struct-data-typename.err    |   2 +
 tests/qapi-schema/struct-data-typename.json   |   2 +
 tests/qapi-schema/struct-data-typename.out    |   0
 tests/qapi-schema/struct-member-invalid.err   |   2 +-
 tests/qapi-schema/union-array-branch.err      |   2 +-
 .../union-invalid-discriminator.err           |   2 +-
 .../union-invalid-discriminator.json          |   4 +-
 30 files changed, 141 insertions(+), 98 deletions(-)
 create mode 100644 tests/qapi-schema/args-if-implicit.err
 create mode 100644 tests/qapi-schema/args-if-implicit.json
 create mode 100644 tests/qapi-schema/args-if-implicit.out
 create mode 100644 tests/qapi-schema/args-if-unboxed.err
 create mode 100644 tests/qapi-schema/args-if-unboxed.json
 create mode 100644 tests/qapi-schema/args-if-unboxed.out
 create mode 100644 tests/qapi-schema/event-args-if-unboxed.err
 create mode 100644 tests/qapi-schema/event-args-if-unboxed.json
 create mode 100644 tests/qapi-schema/event-args-if-unboxed.out
 create mode 100644 tests/qapi-schema/struct-data-typename.err
 create mode 100644 tests/qapi-schema/struct-data-typename.json
 create mode 100644 tests/qapi-schema/struct-data-typename.out

-- 
2.39.2