diff mbox

[11/16] tests/qapi-schema: New flat union array branch test case

Message ID 1434120674-8122-12-git-send-email-armbru@redhat.com
State New
Headers show

Commit Message

Markus Armbruster June 12, 2015, 2:51 p.m. UTC
The new test demonstrates another generator crash.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 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/qapi-schema/flat-union-array-branch.out b/tests/qapi-schema/flat-union-array-branch.out
new file mode 100644
index 0000000..e69de29

Comments

Eric Blake June 13, 2015, 4:55 p.m. UTC | #1
On 06/12/2015 08:51 AM, Markus Armbruster wrote:
> The new test demonstrates another generator crash.

What, I missed one?

> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  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
> 

Reviewed-by: Eric Blake <eblake@redhat.com>
Markus Armbruster June 16, 2015, 8:33 a.m. UTC | #2
Eric Blake <eblake@redhat.com> writes:

> On 06/12/2015 08:51 AM, Markus Armbruster wrote:
>> The new test demonstrates another generator crash.
>
> What, I missed one?

An obscure one :)

>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>>  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
>> 
>
> Reviewed-by: Eric Blake <eblake@redhat.com>

Thanks!
diff mbox

Patch

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