diff options
author | Markus Armbruster <armbru@redhat.com> | 2015-06-10 13:03:04 +0200 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2015-06-18 14:19:47 +0200 |
commit | 75276710ae0a9f802a9774a8d845a2c84f89305a (patch) | |
tree | b015e574a8c5637bde6c1861a95784d0e37fc6d0 | |
parent | 00e4b285a31d19dcd88bd46729c9e09bfc9cc7fd (diff) |
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>
-rw-r--r-- | tests/Makefile | 3 | ||||
-rw-r--r-- | tests/qapi-schema/flat-union-array-branch.err | 10 | ||||
-rw-r--r-- | tests/qapi-schema/flat-union-array-branch.exit | 1 | ||||
-rw-r--r-- | tests/qapi-schema/flat-union-array-branch.json | 12 | ||||
-rw-r--r-- | tests/qapi-schema/flat-union-array-branch.out | 0 |
5 files changed, 25 insertions, 1 deletions
diff --git a/tests/Makefile b/tests/Makefile index c5e474455c..4de40deb2f 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 0000000000..b45ef43e51 --- /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 <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 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 0000000000..d00491fd7e --- /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 0000000000..0b98820a8f --- /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 0000000000..e69de29bb2 --- /dev/null +++ b/tests/qapi-schema/flat-union-array-branch.out |