From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47130) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4sFq-0007oW-Uo for qemu-devel@nongnu.org; Tue, 16 Jun 2015 10:54:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4sFn-0004QI-Ig for qemu-devel@nongnu.org; Tue, 16 Jun 2015 10:54:22 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52703) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4s2y-0005c7-7L for qemu-devel@nongnu.org; Tue, 16 Jun 2015 10:41:04 -0400 From: Markus Armbruster Date: Tue, 16 Jun 2015 16:40:53 +0200 Message-Id: <1434465658-20782-11-git-send-email-armbru@redhat.com> In-Reply-To: <1434465658-20782-1-git-send-email-armbru@redhat.com> References: <1434465658-20782-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [PATCH v2 10/15] tests/qapi-schema: New flat union array branch test case List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mdroth@linux.vnet.ibm.com The new test demonstrates another generator crash. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- tests/Makefile | 3 ++- tests/qapi-schema/flat-union-array-branch.err | 10 ++++++++++ tests/qapi-schema/flat-union-array-branch.exit | 1 + tests/qapi-schema/flat-union-array-branch.json | 12 ++++++++++++ tests/qapi-schema/flat-union-array-branch.out | 0 5 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 tests/qapi-schema/flat-union-array-branch.err create mode 100644 tests/qapi-schema/flat-union-array-branch.exit create mode 100644 tests/qapi-schema/flat-union-array-branch.json create mode 100644 tests/qapi-schema/flat-union-array-branch.out diff --git a/tests/Makefile b/tests/Makefile index c5e4744..4de40de 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -237,7 +237,8 @@ check-qapi-schema-y := $(addprefix tests/qapi-schema/, \ flat-union-invalid-branch-key.json flat-union-reverse-define.json \ flat-union-string-discriminator.json union-base-no-discriminator.json \ flat-union-bad-discriminator.json flat-union-bad-base.json \ - flat-union-base-star.json flat-union-int-branch.json \ + flat-union-base-star.json \ + flat-union-array-branch.json flat-union-int-branch.json \ flat-union-base-union.json flat-union-branch-clash.json \ alternate-nested.json alternate-unknown.json alternate-clash.json \ alternate-good.json alternate-base.json alternate-array.json \ diff --git a/tests/qapi-schema/flat-union-array-branch.err b/tests/qapi-schema/flat-union-array-branch.err new file mode 100644 index 0000000..b45ef43 --- /dev/null +++ b/tests/qapi-schema/flat-union-array-branch.err @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "tests/qapi-schema/test-qapi.py", line 19, in + exprs = parse_schema(sys.argv[1]) + File "scripts/qapi.py", line 760, in parse_schema + return check_exprs(schema.exprs) + File "scripts/qapi.py", line 743, in check_exprs + check_union(expr, info) + File "scripts/qapi.py", line 586, in check_union + assert branch_struct +AssertionError diff --git a/tests/qapi-schema/flat-union-array-branch.exit b/tests/qapi-schema/flat-union-array-branch.exit new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/qapi-schema/flat-union-array-branch.exit @@ -0,0 +1 @@ +1 diff --git a/tests/qapi-schema/flat-union-array-branch.json b/tests/qapi-schema/flat-union-array-branch.json new file mode 100644 index 0000000..0b98820 --- /dev/null +++ b/tests/qapi-schema/flat-union-array-branch.json @@ -0,0 +1,12 @@ +# we require flat union branches to be a struct +{ 'enum': 'TestEnum', + 'data': [ 'value1', 'value2' ] } +{ 'struct': 'Base', + 'data': { 'enum1': 'TestEnum' } } +{ 'struct': 'TestTypeB', + 'data': { 'integer': 'int' } } +{ 'union': 'TestUnion', + 'base': 'Base', + 'discriminator': 'enum1', + 'data': { 'value1': ['TestTypeB'], + 'value2': 'TestTypeB' } } diff --git a/tests/qapi-schema/flat-union-array-branch.out b/tests/qapi-schema/flat-union-array-branch.out new file mode 100644 index 0000000..e69de29 -- 1.9.3