tests/qapi-schema: New flat union array branch test case

The new test demonstrates another generator crash.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Markus Armbruster 2015-06-10 13:03:04 +02:00
parent 00e4b285a3
commit 75276710ae
5 changed files with 25 additions and 1 deletions

View file

@ -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 \

View file

@ -0,0 +1,10 @@
Traceback (most recent call last):
File "tests/qapi-schema/test-qapi.py", line 19, in <module>
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

View file

@ -0,0 +1 @@
1

View file

@ -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' } }