qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v7 0/4] qapi: Allow modularization of QAPI schema fi


From: Lluís Vilanova
Subject: [Qemu-devel] [PATCH v7 0/4] qapi: Allow modularization of QAPI schema files
Date: Tue, 1 Apr 2014 16:10:42 +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 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] Show full exception message 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                           |   10 ++-
 scripts/qapi-types.py                              |    9 ++-
 scripts/qapi-visit.py                              |    9 ++-
 scripts/qapi.py                                    |   64 ++++++++++++++++----
 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                     |    7 +-
 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(+), 54 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>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]