deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-array-branch.json: In union 'TestUnion':
-flat-union-array-branch.json:8: 'data' member 'value1' cannot be an array
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-bad-base.json: In union 'TestUnion':
-flat-union-bad-base.json:8: member 'string' of type 'TestTypeA' collides with base member 'string'
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-bad-discriminator.json: In union 'TestUnion':
-flat-union-bad-discriminator.json:11: 'discriminator' requires a string name
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-base-any.json: In union 'TestUnion':
-flat-union-base-any.json:8: 'base' requires a struct type, built-in type 'any' isn't
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-base-union.json: In union 'TestUnion':
-flat-union-base-union.json:17: 'base' requires a struct type, union type 'UnionBase' isn't
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-clash-member.json: In union 'TestUnion':
-flat-union-clash-member.json:11: member 'name' of type 'Branch1' collides with member 'name' of type 'Base'
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-discriminator-bad-name.json: In union 'MyUnion':
-flat-union-discriminator-bad-name.json:6: discriminator '*switch' is not a member of 'base'
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-empty.json: In union 'Union':
-flat-union-empty.json:4: union has no branches
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-inline-invalid-dict.json: In union 'TestUnion':
-flat-union-inline-invalid-dict.json:7: 'data' member 'value1' misses key 'type'
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-int-branch.json: In union 'TestUnion':
-flat-union-int-branch.json:8: branch 'value1' cannot use built-in type 'int'
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-invalid-branch-key.json: In union 'TestUnion':
-flat-union-invalid-branch-key.json:13: branch 'value_wrong' is not a value of enum type 'TestEnum'
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-invalid-discriminator.json: In union 'TestUnion':
-flat-union-invalid-discriminator.json:10: discriminator 'enum_wrong' is not a member of 'base'
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-invalid-if-discriminator.json: In union 'TestUnion':
-flat-union-invalid-if-discriminator.json:10: discriminator member 'enum1' of 'base' must not be conditional
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-no-base.json: In union 'TestUnion':
-flat-union-no-base.json:8: union misses key 'base'
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-optional-discriminator.json: In union 'MyUnion':
-flat-union-optional-discriminator.json:6: discriminator member 'switch' of base type 'Base' must not be optional
deleted file mode 100644
@@ -1,2 +0,0 @@
-flat-union-string-discriminator.json: In union 'TestUnion':
-flat-union-string-discriminator.json:13: discriminator member 'kind' of base type 'TestBase' must be of enum type
@@ -107,22 +107,6 @@ schemas = [
'features-name-bad-type.json',
'features-no-list.json',
'features-unknown-key.json',
- 'flat-union-array-branch.json',
- 'flat-union-bad-base.json',
- 'flat-union-bad-discriminator.json',
- 'flat-union-base-any.json',
- 'flat-union-base-union.json',
- 'flat-union-clash-member.json',
- 'flat-union-discriminator-bad-name.json',
- 'flat-union-empty.json',
- 'flat-union-inline-invalid-dict.json',
- 'flat-union-int-branch.json',
- 'flat-union-invalid-branch-key.json',
- 'flat-union-invalid-discriminator.json',
- 'flat-union-invalid-if-discriminator.json',
- 'flat-union-no-base.json',
- 'flat-union-optional-discriminator.json',
- 'flat-union-string-discriminator.json',
'funny-char.json',
'funny-word.json',
'ident-with-escape.json',
@@ -190,12 +174,28 @@ schemas = [
'unclosed-list.json',
'unclosed-object.json',
'unclosed-string.json',
+ 'union-array-branch.json',
+ 'union-bad-base.json',
+ 'union-bad-discriminator.json',
+ 'union-base-any.json',
'union-base-empty.json',
'union-base-no-discriminator.json',
+ 'union-base-union.json',
'union-branch-if-invalid.json',
'union-branch-invalid-dict.json',
+ 'union-clash-member.json',
+ 'union-discriminator-bad-name.json',
+ 'union-empty.json',
+ 'union-inline-invalid-dict.json',
+ 'union-int-branch.json',
'union-invalid-base.json',
+ 'union-invalid-branch-key.json',
'union-invalid-data.json',
+ 'union-invalid-discriminator.json',
+ 'union-invalid-if-discriminator.json',
+ 'union-no-base.json',
+ 'union-optional-discriminator.json',
+ 'union-string-discriminator.json',
'union-unknown.json',
'unknown-escape.json',
'unknown-expr-key.json',
new file mode 100644
@@ -0,0 +1,2 @@
+union-array-branch.json: In union 'TestUnion':
+union-array-branch.json:8: 'data' member 'value1' cannot be an array
similarity index 100%
rename from tests/qapi-schema/flat-union-array-branch.json
rename to tests/qapi-schema/union-array-branch.json
similarity index 100%
rename from tests/qapi-schema/flat-union-array-branch.out
rename to tests/qapi-schema/union-array-branch.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-bad-base.json: In union 'TestUnion':
+union-bad-base.json:8: member 'string' of type 'TestTypeA' collides with base member 'string'
similarity index 100%
rename from tests/qapi-schema/flat-union-bad-base.json
rename to tests/qapi-schema/union-bad-base.json
similarity index 100%
rename from tests/qapi-schema/flat-union-bad-base.out
rename to tests/qapi-schema/union-bad-base.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-bad-discriminator.json: In union 'TestUnion':
+union-bad-discriminator.json:11: 'discriminator' requires a string name
similarity index 100%
rename from tests/qapi-schema/flat-union-bad-discriminator.json
rename to tests/qapi-schema/union-bad-discriminator.json
similarity index 100%
rename from tests/qapi-schema/flat-union-bad-discriminator.out
rename to tests/qapi-schema/union-bad-discriminator.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-base-any.json: In union 'TestUnion':
+union-base-any.json:8: 'base' requires a struct type, built-in type 'any' isn't
similarity index 100%
rename from tests/qapi-schema/flat-union-base-any.json
rename to tests/qapi-schema/union-base-any.json
similarity index 100%
rename from tests/qapi-schema/flat-union-base-any.out
rename to tests/qapi-schema/union-base-any.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-base-union.json: In union 'TestUnion':
+union-base-union.json:17: 'base' requires a struct type, union type 'UnionBase' isn't
similarity index 100%
rename from tests/qapi-schema/flat-union-base-union.json
rename to tests/qapi-schema/union-base-union.json
similarity index 100%
rename from tests/qapi-schema/flat-union-base-union.out
rename to tests/qapi-schema/union-base-union.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-clash-member.json: In union 'TestUnion':
+union-clash-member.json:11: member 'name' of type 'Branch1' collides with member 'name' of type 'Base'
similarity index 100%
rename from tests/qapi-schema/flat-union-clash-member.json
rename to tests/qapi-schema/union-clash-member.json
similarity index 100%
rename from tests/qapi-schema/flat-union-clash-member.out
rename to tests/qapi-schema/union-clash-member.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-discriminator-bad-name.json: In union 'MyUnion':
+union-discriminator-bad-name.json:6: discriminator '*switch' is not a member of 'base'
similarity index 100%
rename from tests/qapi-schema/flat-union-discriminator-bad-name.json
rename to tests/qapi-schema/union-discriminator-bad-name.json
similarity index 100%
rename from tests/qapi-schema/flat-union-discriminator-bad-name.out
rename to tests/qapi-schema/union-discriminator-bad-name.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-empty.json: In union 'Union':
+union-empty.json:4: union has no branches
similarity index 100%
rename from tests/qapi-schema/flat-union-empty.json
rename to tests/qapi-schema/union-empty.json
similarity index 100%
rename from tests/qapi-schema/flat-union-empty.out
rename to tests/qapi-schema/union-empty.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-inline-invalid-dict.json: In union 'TestUnion':
+union-inline-invalid-dict.json:7: 'data' member 'value1' misses key 'type'
similarity index 100%
rename from tests/qapi-schema/flat-union-inline-invalid-dict.json
rename to tests/qapi-schema/union-inline-invalid-dict.json
similarity index 100%
rename from tests/qapi-schema/flat-union-inline-invalid-dict.out
rename to tests/qapi-schema/union-inline-invalid-dict.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-int-branch.json: In union 'TestUnion':
+union-int-branch.json:8: branch 'value1' cannot use built-in type 'int'
similarity index 100%
rename from tests/qapi-schema/flat-union-int-branch.json
rename to tests/qapi-schema/union-int-branch.json
similarity index 100%
rename from tests/qapi-schema/flat-union-int-branch.out
rename to tests/qapi-schema/union-int-branch.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-invalid-branch-key.json: In union 'TestUnion':
+union-invalid-branch-key.json:13: branch 'value_wrong' is not a value of enum type 'TestEnum'
similarity index 100%
rename from tests/qapi-schema/flat-union-invalid-branch-key.json
rename to tests/qapi-schema/union-invalid-branch-key.json
similarity index 100%
rename from tests/qapi-schema/flat-union-invalid-branch-key.out
rename to tests/qapi-schema/union-invalid-branch-key.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-invalid-discriminator.json: In union 'TestUnion':
+union-invalid-discriminator.json:10: discriminator 'enum_wrong' is not a member of 'base'
similarity index 100%
rename from tests/qapi-schema/flat-union-invalid-discriminator.json
rename to tests/qapi-schema/union-invalid-discriminator.json
similarity index 100%
rename from tests/qapi-schema/flat-union-invalid-discriminator.out
rename to tests/qapi-schema/union-invalid-discriminator.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-invalid-if-discriminator.json: In union 'TestUnion':
+union-invalid-if-discriminator.json:10: discriminator member 'enum1' of 'base' must not be conditional
similarity index 100%
rename from tests/qapi-schema/flat-union-invalid-if-discriminator.json
rename to tests/qapi-schema/union-invalid-if-discriminator.json
similarity index 100%
rename from tests/qapi-schema/flat-union-invalid-if-discriminator.out
rename to tests/qapi-schema/union-invalid-if-discriminator.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-no-base.json: In union 'TestUnion':
+union-no-base.json:8: union misses key 'base'
similarity index 100%
rename from tests/qapi-schema/flat-union-no-base.json
rename to tests/qapi-schema/union-no-base.json
similarity index 100%
rename from tests/qapi-schema/flat-union-no-base.out
rename to tests/qapi-schema/union-no-base.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-optional-discriminator.json: In union 'MyUnion':
+union-optional-discriminator.json:6: discriminator member 'switch' of base type 'Base' must not be optional
similarity index 100%
rename from tests/qapi-schema/flat-union-optional-discriminator.json
rename to tests/qapi-schema/union-optional-discriminator.json
similarity index 100%
rename from tests/qapi-schema/flat-union-optional-discriminator.out
rename to tests/qapi-schema/union-optional-discriminator.out
new file mode 100644
@@ -0,0 +1,2 @@
+union-string-discriminator.json: In union 'TestUnion':
+union-string-discriminator.json:13: discriminator member 'kind' of base type 'TestBase' must be of enum type
similarity index 100%
rename from tests/qapi-schema/flat-union-string-discriminator.json
rename to tests/qapi-schema/union-string-discriminator.json
similarity index 100%
rename from tests/qapi-schema/flat-union-string-discriminator.out
rename to tests/qapi-schema/union-string-discriminator.out