[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v10 0/4] qapi: Allow modularization of QAPI schema f
From: |
Lluís Vilanova |
Subject: |
[Qemu-devel] [PATCH v10 0/4] qapi: Allow modularization of QAPI schema files |
Date: |
Wed, 30 Apr 2014 21:09:29 +0200 |
User-agent: |
StGit/0.17.1-dirty |
Adds an include primitive to the syntax of QAPI schema files, allowing these to
be modularized into multiple per-topic files in the future.
Signed-off-by: Lluís Vilanova <address@hidden>
---
Changes in v10:
* Various argument/variable name changes (Markus Armbruster).
* Fix path replacement command in error files when executing tests (Markus
Armbruster).
* Catch IOError and translate it to QAPIExprError (Markus Armbruster).
Changes in v9:
* Do not catch unknown exceptions in "tests/qapi-schema/test-qapi.py".
* Show primitive syntax in commit message.
* Do not pre-initialize 'input_file' in "scripts/qapi-commands.py".
* Use a one-liner for test error message checking.
Changes in v8:
* Do not show absolute paths in error messages.
Changes in v7:
* Add tests for relative path inclusion.
* Print inclusion path on all errors.
* Add test to ensure errors after an include have the correct context.
* Squash "qapi.py" changes and tests into a single patch.
* Add test for 'include' directive format.
* s/file path/file name/.
* s/included/include/.
* Move "-i" to the end of the command.
* Fix GNUism when using sed.
Changes in v6:
* Split changes for long-line breaking in makefiles.
* Put documentation on a separate section; reference recursiveness.
* Check (and test) for non-string include arguments (tanks to Benoît Canet).
Changes in v5:
* Rebase on b3706fa.
* Remove 'error_base' argument in 'parse_schema'; fix test checks instead.
* Implement include directive using JSON syntax.
Changes in v4:
* Rebase on 3e890c7.
* Minor cosmetic changes.
* Fix recording of included files in case of a cycle error.
* Add a more complex include cycle test.
Changes in v3:
* Fix documentation examples regarding how the input file is passed to the
scripts.
* Add documentation for the 'include' directive.
* Detect inclusion loops.
* Fix "tests/qapi-schema/test-qapi.py" and "tests/Makefile" to use an explicit
input file when running tests.
* Fix QAPI tests to cope with an explicit input file.
* Add tests for the "include" directive.
Changes in v2:
* Change the scripts to use an explicit input file instead of standard input.
* Fix "tests/Makefile" to use the new argument.
* Get the input directory for the "include" directive from the input file
dirname.
Lluís Vilanova (4):
qapi: [trivial] Break long command lines
qapi: [trivial] Do not catch unknown exceptions in "test-qapi.py"
qapi: Use an explicit input file
qapi: Add a primitive to include other files from a QAPI schema file
Makefile | 24 +++++--
docs/qapi-code-gen.txt | 15 ++++
scripts/qapi-commands.py | 9 ++-
scripts/qapi-types.py | 9 ++-
scripts/qapi-visit.py | 9 ++-
scripts/qapi.py | 70 ++++++++++++++++----
tests/Makefile | 28 ++++++--
tests/qapi-schema/duplicate-key.err | 2 -
.../qapi-schema/flat-union-invalid-branch-key.err | 2 -
.../flat-union-invalid-discriminator.err | 2 -
tests/qapi-schema/flat-union-no-base.err | 2 -
.../flat-union-string-discriminator.err | 2 -
tests/qapi-schema/funny-char.err | 2 -
tests/qapi-schema/include-after-err.err | 1
tests/qapi-schema/include-after-err.exit | 1
tests/qapi-schema/include-after-err.json | 2 +
tests/qapi-schema/include-after-err.out | 0
tests/qapi-schema/include-cycle-b.json | 1
tests/qapi-schema/include-cycle-c.json | 1
tests/qapi-schema/include-cycle.err | 3 +
tests/qapi-schema/include-cycle.exit | 1
tests/qapi-schema/include-cycle.json | 1
tests/qapi-schema/include-cycle.out | 0
tests/qapi-schema/include-format-err.err | 1
tests/qapi-schema/include-format-err.exit | 1
tests/qapi-schema/include-format-err.json | 2 +
tests/qapi-schema/include-format-err.out | 0
tests/qapi-schema/include-nested-err.err | 2 +
tests/qapi-schema/include-nested-err.exit | 1
tests/qapi-schema/include-nested-err.json | 1
tests/qapi-schema/include-nested-err.out | 0
tests/qapi-schema/include-no-file.err | 1
tests/qapi-schema/include-no-file.exit | 1
tests/qapi-schema/include-no-file.json | 1
tests/qapi-schema/include-no-file.out | 0
tests/qapi-schema/include-non-file.err | 1
tests/qapi-schema/include-non-file.exit | 1
tests/qapi-schema/include-non-file.json | 1
tests/qapi-schema/include-non-file.out | 0
tests/qapi-schema/include-relpath-sub.json | 2 +
tests/qapi-schema/include-relpath.err | 0
tests/qapi-schema/include-relpath.exit | 1
tests/qapi-schema/include-relpath.json | 1
tests/qapi-schema/include-relpath.out | 3 +
tests/qapi-schema/include-self-cycle.err | 1
tests/qapi-schema/include-self-cycle.exit | 1
tests/qapi-schema/include-self-cycle.json | 1
tests/qapi-schema/include-self-cycle.out | 0
tests/qapi-schema/include-simple-sub.json | 2 +
tests/qapi-schema/include-simple.err | 0
tests/qapi-schema/include-simple.exit | 1
tests/qapi-schema/include-simple.json | 1
tests/qapi-schema/include-simple.out | 3 +
tests/qapi-schema/include/relpath.json | 1
tests/qapi-schema/missing-colon.err | 2 -
tests/qapi-schema/missing-comma-list.err | 2 -
tests/qapi-schema/missing-comma-object.err | 2 -
tests/qapi-schema/non-objects.err | 2 -
tests/qapi-schema/quoted-structural-chars.err | 2 -
tests/qapi-schema/test-qapi.py | 6 +-
tests/qapi-schema/trailing-comma-list.err | 2 -
tests/qapi-schema/trailing-comma-object.err | 2 -
tests/qapi-schema/unclosed-list.err | 2 -
tests/qapi-schema/unclosed-object.err | 2 -
tests/qapi-schema/unclosed-string.err | 2 -
tests/qapi-schema/union-invalid-base.err | 2 -
66 files changed, 189 insertions(+), 58 deletions(-)
create mode 100644 tests/qapi-schema/include-after-err.err
create mode 100644 tests/qapi-schema/include-after-err.exit
create mode 100644 tests/qapi-schema/include-after-err.json
create mode 100644 tests/qapi-schema/include-after-err.out
create mode 100644 tests/qapi-schema/include-cycle-b.json
create mode 100644 tests/qapi-schema/include-cycle-c.json
create mode 100644 tests/qapi-schema/include-cycle.err
create mode 100644 tests/qapi-schema/include-cycle.exit
create mode 100644 tests/qapi-schema/include-cycle.json
create mode 100644 tests/qapi-schema/include-cycle.out
create mode 100644 tests/qapi-schema/include-format-err.err
create mode 100644 tests/qapi-schema/include-format-err.exit
create mode 100644 tests/qapi-schema/include-format-err.json
create mode 100644 tests/qapi-schema/include-format-err.out
create mode 100644 tests/qapi-schema/include-nested-err.err
create mode 100644 tests/qapi-schema/include-nested-err.exit
create mode 100644 tests/qapi-schema/include-nested-err.json
create mode 100644 tests/qapi-schema/include-nested-err.out
create mode 100644 tests/qapi-schema/include-no-file.err
create mode 100644 tests/qapi-schema/include-no-file.exit
create mode 100644 tests/qapi-schema/include-no-file.json
create mode 100644 tests/qapi-schema/include-no-file.out
create mode 100644 tests/qapi-schema/include-non-file.err
create mode 100644 tests/qapi-schema/include-non-file.exit
create mode 100644 tests/qapi-schema/include-non-file.json
create mode 100644 tests/qapi-schema/include-non-file.out
create mode 100644 tests/qapi-schema/include-relpath-sub.json
create mode 100644 tests/qapi-schema/include-relpath.err
create mode 100644 tests/qapi-schema/include-relpath.exit
create mode 100644 tests/qapi-schema/include-relpath.json
create mode 100644 tests/qapi-schema/include-relpath.out
create mode 100644 tests/qapi-schema/include-self-cycle.err
create mode 100644 tests/qapi-schema/include-self-cycle.exit
create mode 100644 tests/qapi-schema/include-self-cycle.json
create mode 100644 tests/qapi-schema/include-self-cycle.out
create mode 100644 tests/qapi-schema/include-simple-sub.json
create mode 100644 tests/qapi-schema/include-simple.err
create mode 100644 tests/qapi-schema/include-simple.exit
create mode 100644 tests/qapi-schema/include-simple.json
create mode 100644 tests/qapi-schema/include-simple.out
create mode 100644 tests/qapi-schema/include/relpath.json
To: address@hidden
Cc: Luiz Capitulino <address@hidden>
Cc: Markus Armbruster <address@hidden>
Cc: Eric Blake <address@hidden>
Cc: Benoît Canet <address@hidden>
- [Qemu-devel] [PATCH v10 0/4] qapi: Allow modularization of QAPI schema files,
Lluís Vilanova <=