From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51960) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V38wb-0000Tx-5f for qemu-devel@nongnu.org; Sat, 27 Jul 2013 14:10:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V38wV-00048w-C8 for qemu-devel@nongnu.org; Sat, 27 Jul 2013 14:10:17 -0400 Received: from oxygen.pond.sub.org ([2a01:4f8:121:10e4::3]:55998) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V36dC-0006g1-BE for qemu-devel@nongnu.org; Sat, 27 Jul 2013 11:42:06 -0400 From: Markus Armbruster Date: Sat, 27 Jul 2013 17:41:52 +0200 Message-Id: <1374939721-7876-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [PATCH v2 0/9] Our QAPI parser is a hack, replace it List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, akong@redhat.com, mdroth@linux.vnet.ibm.com If you think I'm exaggerating, check out the list of issues in PATCH 3/9. v2: * Straightforward rebase * A few more tests in 1/9, in part suggested by Eric Markus Armbruster (9): tests: QAPI schema parser tests tests: Use qapi-schema-test.json as schema parser test qapi.py: Restructure lexer and parser qapi.py: Decent syntax error reporting qapi.py: Reject invalid characters in schema file qapi.py: Fix schema parser to check syntax systematically qapi.py: Fix diagnosing non-objects at a schema's top-level qapi.py: Rename expr_eval to expr in parse_schema() qapi.py: Permit comments starting anywhere on the line configure | 2 +- scripts/qapi.py | 227 +++++++++++++-------- tests/Makefile | 30 ++- tests/qapi-schema/comments.exit | 1 + tests/qapi-schema/comments.json | 4 + tests/qapi-schema/comments.out | 3 + tests/qapi-schema/empty.exit | 1 + tests/qapi-schema/empty.out | 3 + tests/qapi-schema/funny-char.err | 1 + tests/qapi-schema/funny-char.exit | 1 + tests/qapi-schema/funny-char.json | 2 + tests/qapi-schema/indented-expr.exit | 1 + tests/qapi-schema/indented-expr.json | 2 + tests/qapi-schema/indented-expr.out | 3 + tests/qapi-schema/missing-colon.err | 1 + tests/qapi-schema/missing-colon.exit | 1 + tests/qapi-schema/missing-colon.json | 2 + tests/qapi-schema/missing-comma-list.err | 1 + tests/qapi-schema/missing-comma-list.exit | 1 + tests/qapi-schema/missing-comma-list.json | 2 + tests/qapi-schema/missing-comma-object.err | 1 + tests/qapi-schema/missing-comma-object.exit | 1 + tests/qapi-schema/missing-comma-object.json | 2 + tests/qapi-schema/non-objects.err | 1 + tests/qapi-schema/non-objects.exit | 1 + tests/qapi-schema/non-objects.json | 2 + tests/qapi-schema/qapi-schema-test.exit | 1 + .../qapi-schema/qapi-schema-test.json | 0 tests/qapi-schema/qapi-schema-test.out | 19 ++ tests/qapi-schema/quoted-structural-chars.err | 1 + tests/qapi-schema/quoted-structural-chars.exit | 1 + tests/qapi-schema/quoted-structural-chars.json | 1 + tests/qapi-schema/test-qapi.py | 27 +++ tests/qapi-schema/trailing-comma-list.err | 1 + tests/qapi-schema/trailing-comma-list.exit | 1 + tests/qapi-schema/trailing-comma-list.json | 2 + tests/qapi-schema/trailing-comma-object.err | 1 + tests/qapi-schema/trailing-comma-object.exit | 1 + tests/qapi-schema/trailing-comma-object.json | 2 + tests/qapi-schema/unclosed-list.err | 1 + tests/qapi-schema/unclosed-list.exit | 1 + tests/qapi-schema/unclosed-list.json | 1 + tests/qapi-schema/unclosed-object.err | 1 + tests/qapi-schema/unclosed-object.exit | 1 + tests/qapi-schema/unclosed-object.json | 1 + tests/qapi-schema/unclosed-string.err | 1 + tests/qapi-schema/unclosed-string.exit | 1 + tests/qapi-schema/unclosed-string.json | 2 + 48 files changed, 271 insertions(+), 94 deletions(-) create mode 100644 tests/qapi-schema/comments.err create mode 100644 tests/qapi-schema/comments.exit create mode 100644 tests/qapi-schema/comments.json create mode 100644 tests/qapi-schema/comments.out create mode 100644 tests/qapi-schema/empty.err create mode 100644 tests/qapi-schema/empty.exit create mode 100644 tests/qapi-schema/empty.json create mode 100644 tests/qapi-schema/empty.out create mode 100644 tests/qapi-schema/funny-char.err create mode 100644 tests/qapi-schema/funny-char.exit create mode 100644 tests/qapi-schema/funny-char.json create mode 100644 tests/qapi-schema/funny-char.out create mode 100644 tests/qapi-schema/indented-expr.err create mode 100644 tests/qapi-schema/indented-expr.exit create mode 100644 tests/qapi-schema/indented-expr.json create mode 100644 tests/qapi-schema/indented-expr.out create mode 100644 tests/qapi-schema/missing-colon.err create mode 100644 tests/qapi-schema/missing-colon.exit create mode 100644 tests/qapi-schema/missing-colon.json create mode 100644 tests/qapi-schema/missing-colon.out create mode 100644 tests/qapi-schema/missing-comma-list.err create mode 100644 tests/qapi-schema/missing-comma-list.exit create mode 100644 tests/qapi-schema/missing-comma-list.json create mode 100644 tests/qapi-schema/missing-comma-list.out create mode 100644 tests/qapi-schema/missing-comma-object.err create mode 100644 tests/qapi-schema/missing-comma-object.exit create mode 100644 tests/qapi-schema/missing-comma-object.json create mode 100644 tests/qapi-schema/missing-comma-object.out create mode 100644 tests/qapi-schema/non-objects.err create mode 100644 tests/qapi-schema/non-objects.exit create mode 100644 tests/qapi-schema/non-objects.json create mode 100644 tests/qapi-schema/non-objects.out create mode 100644 tests/qapi-schema/qapi-schema-test.err create mode 100644 tests/qapi-schema/qapi-schema-test.exit rename qapi-schema-test.json => tests/qapi-schema/qapi-schema-test.json (100%) create mode 100644 tests/qapi-schema/qapi-schema-test.out create mode 100644 tests/qapi-schema/quoted-structural-chars.err create mode 100644 tests/qapi-schema/quoted-structural-chars.exit create mode 100644 tests/qapi-schema/quoted-structural-chars.json create mode 100644 tests/qapi-schema/quoted-structural-chars.out create mode 100644 tests/qapi-schema/test-qapi.py create mode 100644 tests/qapi-schema/trailing-comma-list.err create mode 100644 tests/qapi-schema/trailing-comma-list.exit create mode 100644 tests/qapi-schema/trailing-comma-list.json create mode 100644 tests/qapi-schema/trailing-comma-list.out create mode 100644 tests/qapi-schema/trailing-comma-object.err create mode 100644 tests/qapi-schema/trailing-comma-object.exit create mode 100644 tests/qapi-schema/trailing-comma-object.json create mode 100644 tests/qapi-schema/trailing-comma-object.out create mode 100644 tests/qapi-schema/unclosed-list.err create mode 100644 tests/qapi-schema/unclosed-list.exit create mode 100644 tests/qapi-schema/unclosed-list.json create mode 100644 tests/qapi-schema/unclosed-list.out create mode 100644 tests/qapi-schema/unclosed-object.err create mode 100644 tests/qapi-schema/unclosed-object.exit create mode 100644 tests/qapi-schema/unclosed-object.json create mode 100644 tests/qapi-schema/unclosed-object.out create mode 100644 tests/qapi-schema/unclosed-string.err create mode 100644 tests/qapi-schema/unclosed-string.exit create mode 100644 tests/qapi-schema/unclosed-string.json create mode 100644 tests/qapi-schema/unclosed-string.out -- 1.7.11.7