@@ -694,8 +694,8 @@ def check_name_str(name, info, source,
def check_defn_name_str(name, info, meta):
check_name_str(name, info, meta, permit_upper=True)
if name.endswith('Kind') or name.endswith('List'):
- raise QAPISemError(info, "%s '%s' should not end in '%s'"
- % (meta, name, name[-4:]))
+ raise QAPISemError(info, "%s name should not end in '%s'"
+ % (meta, name[-4:]))
def check_if(expr, info):
@@ -752,42 +752,34 @@ def check_type(value, info, source,
# value is a dictionary, check that each member is okay
for (key, arg) in value.items():
- check_name_str(key, info, "member of %s" % source,
+ key_source = "%s member '%s'" % (source, key)
+ check_name_str(key, info, key_source,
allow_optional=True, permit_upper=permit_upper)
if c_name(key, False) == 'u' or c_name(key, False).startswith('has_'):
- raise QAPISemError(
- info, "member of %s uses reserved name '%s'" % (source, key))
- check_known_keys(arg, info, "member '%s' of %s" % (key, source),
- ['type'], ['if'])
+ raise QAPISemError(info, "%s uses reserved name" % key_source)
+ check_known_keys(arg, info, key_source, ['type'], ['if'])
check_if(arg, info)
normalize_if(arg)
- check_type(arg['type'], info, "member '%s' of %s" % (key, source),
- allow_array=True)
+ check_type(arg['type'], info, key_source, allow_array=True)
def check_command(expr, info):
- name = expr['command']
args = expr.get('data')
boxed = expr.get('boxed', False)
if boxed and args is None:
raise QAPISemError(info, "'boxed': true requires 'data'")
- check_type(args, info, "'data' for command '%s'" % name,
- allow_dict=not boxed)
- check_type(expr.get('returns'), info,
- "'returns' for command '%s'" % name,
- allow_array=True)
+ check_type(expr.get('data'), info, "'data'", allow_dict=not boxed)
+ check_type(expr.get('returns'), info, "'returns'", allow_array=True)
def check_event(expr, info):
- name = expr['event']
args = expr.get('data')
boxed = expr.get('boxed', False)
if boxed and args is None:
raise QAPISemError(info, "'boxed': true requires 'data'")
- check_type(args, info, "'data' for event '%s'" % name,
- allow_dict=not boxed)
+ check_type(expr.get('data'), info, "'data'", allow_dict=not boxed)
def check_union(expr, info):
@@ -798,45 +790,34 @@ def check_union(expr, info):
if discriminator is None: # simple union
if base is not None:
- raise QAPISemError(
- info, "simple union '%s' must not have a base" % name)
+ raise QAPISemError(info, "'base' requires 'discriminator'")
else: # flat union
- check_type(base, info, "'base' for union '%s'" % name,
- allow_dict=name)
+ check_type(base, info, "'base'", allow_dict=name)
if not base:
- raise QAPISemError(info, "flat union '%s' must have a base"
- % name)
- check_name_is_str(discriminator, info,
- "discriminator of flat union '%s'" % name)
+ raise QAPISemError(info, "'discriminator' requires 'base'")
+ check_name_is_str(discriminator, info, "'discriminator'")
for (key, value) in members.items():
- check_name_str(key, info, "member of union '%s'" % name)
- check_known_keys(value, info,
- "member '%s' of union '%s'" % (key, name),
- ['type'], ['if'])
+ source = "'data' member '%s'" % key
+ check_name_str(key, info, source)
+ check_known_keys(value, info, source, ['type'], ['if'])
check_if(value, info)
normalize_if(value)
- check_type(value['type'], info,
- "member '%s' of union '%s'" % (key, name),
- allow_array=not base)
+ check_type(value['type'], info, source, allow_array=not base)
def check_alternate(expr, info):
- name = expr['alternate']
members = expr['data']
if len(members) == 0:
- raise QAPISemError(info,
- "alternate '%s' cannot have empty 'data'" % name)
+ raise QAPISemError(info, "'data' must not be empty")
for (key, value) in members.items():
- check_name_str(key, info, "member of alternate '%s'" % name)
- check_known_keys(value, info,
- "member '%s' of alternate '%s'" % (key, name),
- ['type'], ['if'])
+ source = "'data' member '%s'" % key
+ check_name_str(key, info, source)
+ check_known_keys(value, info, source, ['type'], ['if'])
check_if(value, info)
normalize_if(value)
- check_type(value['type'], info,
- "member '%s' of alternate '%s'" % (key, name))
+ check_type(value['type'], info, source)
def check_enum(expr, info):
@@ -845,20 +826,18 @@ def check_enum(expr, info):
prefix = expr.get('prefix')
if not isinstance(members, list):
- raise QAPISemError(info,
- "enum '%s' requires an array for 'data'" % name)
+ raise QAPISemError(info, "'data' must be an array")
if prefix is not None and not isinstance(prefix, str):
- raise QAPISemError(info,
- "enum '%s' requires a string for 'prefix'" % name)
+ raise QAPISemError(info, "'prefix' must be a string")
permit_upper = name in name_case_whitelist
for member in members:
- check_known_keys(member, info, "member of enum '%s'" % name,
- ['name'], ['if'])
+ source = "'data' member"
+ check_known_keys(member, info, source, ['name'], ['if'])
check_if(member, info)
normalize_if(member)
- check_name(member['name'], info, "member of enum '%s'" % name,
+ check_name(member['name'], info, source,
enum_member=True, permit_upper=permit_upper)
@@ -867,22 +846,19 @@ def check_struct(expr, info):
members = expr['data']
features = expr.get('features')
- check_type(members, info, "'data' for struct '%s'" % name,
- allow_dict=name)
- check_type(expr.get('base'), info, "'base' for struct '%s'" % name)
+ check_type(members, info, "'data'", allow_dict=name)
+ check_type(expr.get('base'), info, "'base'")
if features:
if not isinstance(features, list):
- raise QAPISemError(
- info, "struct '%s' requires an array for 'features'" % name)
+ raise QAPISemError(info, "'features' must be an array")
for f in features:
+ source = "'features' member"
assert isinstance(f, dict)
- check_known_keys(f, info, "feature of struct %s" % name,
- ['name'], ['if'])
-
+ check_known_keys(f, info, source, ['name'], ['if'])
check_if(f, info)
normalize_if(f)
- check_name(f['name'], info, "feature of struct %s" % name)
+ check_name(f['name'], info, source)
def check_known_keys(value, info, source, required, optional):
@@ -892,22 +868,19 @@ def check_known_keys(value, info, source, required, optional):
missing = set(required) - set(value)
if missing:
- raise QAPISemError(info, "key%s %s %s missing from %s"
- % ('s' if len(missing) > 1 else '', pprint(missing),
- 'are' if len(missing) > 1 else 'is', source))
+ raise QAPISemError(info, "%s misses key%s %s"
+ % (source, 's' if len(missing) > 1 else '',
+ pprint(missing)))
allowed = set(required + optional)
unknown = set(value) - allowed
if unknown:
- raise QAPISemError(info, "unknown key%s %s in %s\nValid keys are %s."
- % ('s' if len(unknown) > 1 else '', pprint(unknown),
- source, pprint(allowed)))
+ raise QAPISemError(info, "%s has unknown key%s %s\nValid keys are %s."
+ % (source, 's' if len(unknown) > 1 else '',
+ pprint(unknown), pprint(allowed)))
def check_keys(expr, info, meta, required, optional=[]):
- name = expr[meta]
- required = required + [meta]
- source = "%s '%s'" % (meta, name)
- check_known_keys(expr, info, source, required, optional)
+ check_known_keys(expr, info, meta, required + [meta], optional)
def check_flags(expr, info):
@@ -982,9 +955,7 @@ def check_exprs(exprs):
if doc and doc.symbol != name:
raise QAPISemError(
- info,
- "definition of '%s' follows documentation for '%s'"
- % (name, doc.symbol))
+ info, "documentation comment is for '%s'" % doc.symbol)
if meta == 'enum':
check_keys(expr, info, 'enum', ['data'], ['if', 'prefix'])
@@ -1,2 +1,2 @@
tests/qapi-schema/alternate-array.json: In alternate 'Alt':
-tests/qapi-schema/alternate-array.json:5: member 'two' of alternate 'Alt' cannot be an array
+tests/qapi-schema/alternate-array.json:5: 'data' member 'two' cannot be an array
@@ -1,3 +1,3 @@
tests/qapi-schema/alternate-base.json: In alternate 'Alt':
-tests/qapi-schema/alternate-base.json:4: unknown key 'base' in alternate 'Alt'
+tests/qapi-schema/alternate-base.json:4: alternate has unknown key 'base'
Valid keys are 'alternate', 'data', 'if'.
@@ -1,2 +1,2 @@
tests/qapi-schema/alternate-empty.json: In alternate 'Alt':
-tests/qapi-schema/alternate-empty.json:2: alternate 'Alt' cannot have empty 'data'
+tests/qapi-schema/alternate-empty.json:2: 'data' must not be empty
@@ -1,2 +1,2 @@
tests/qapi-schema/alternate-invalid-dict.json: In alternate 'Alt':
-tests/qapi-schema/alternate-invalid-dict.json:2: key 'type' is missing from member 'two' of alternate 'Alt'
+tests/qapi-schema/alternate-invalid-dict.json:2: 'data' member 'two' misses key 'type'
@@ -1,2 +1,2 @@
tests/qapi-schema/args-array-empty.json: In command 'oops':
-tests/qapi-schema/args-array-empty.json:2: member 'empty' of 'data' for command 'oops': array type must contain single type name
+tests/qapi-schema/args-array-empty.json:2: 'data' member 'empty': array type must contain single type name
@@ -1,2 +1,2 @@
tests/qapi-schema/args-boxed-anon.json: In command 'foo':
-tests/qapi-schema/args-boxed-anon.json:2: 'data' for command 'foo' should be a type name
+tests/qapi-schema/args-boxed-anon.json:2: 'data' should be a type name
@@ -1,2 +1,2 @@
tests/qapi-schema/args-invalid.json: In command 'foo':
-tests/qapi-schema/args-invalid.json:1: 'data' for command 'foo' should be an object or type name
+tests/qapi-schema/args-invalid.json:1: 'data' should be an object or type name
@@ -1,2 +1,2 @@
tests/qapi-schema/args-member-array-bad.json: In command 'oops':
-tests/qapi-schema/args-member-array-bad.json:2: member 'member' of 'data' for command 'oops': array type must contain single type name
+tests/qapi-schema/args-member-array-bad.json:2: 'data' member 'member': array type must contain single type name
@@ -1,2 +1,2 @@
tests/qapi-schema/args-member-case.json: In command 'no-way-this-will-get-whitelisted':
-tests/qapi-schema/args-member-case.json:2: member of 'data' for command 'no-way-this-will-get-whitelisted' uses uppercase in name 'Arg'
+tests/qapi-schema/args-member-case.json:2: 'data' member 'Arg' uses uppercase in name 'Arg'
@@ -1,2 +1,2 @@
tests/qapi-schema/bad-data.json: In command 'oops':
-tests/qapi-schema/bad-data.json:2: 'data' for command 'oops' cannot be an array
+tests/qapi-schema/bad-data.json:2: 'data' cannot be an array
@@ -1,2 +1,2 @@
tests/qapi-schema/doc-bad-symbol.json: In command 'foo':
-tests/qapi-schema/doc-bad-symbol.json:6: definition of 'foo' follows documentation for 'food'
+tests/qapi-schema/doc-bad-symbol.json:6: documentation comment is for 'food'
@@ -1,3 +1,3 @@
tests/qapi-schema/double-type.json: In struct 'bar':
-tests/qapi-schema/double-type.json:2: unknown key 'command' in struct 'bar'
+tests/qapi-schema/double-type.json:2: struct has unknown key 'command'
Valid keys are 'base', 'data', 'features', 'if', 'struct'.
@@ -1,2 +1,2 @@
tests/qapi-schema/enum-bad-member.json: In enum 'MyEnum':
-tests/qapi-schema/enum-bad-member.json:2: member of enum 'MyEnum' requires a string name
+tests/qapi-schema/enum-bad-member.json:2: 'data' member requires a string name
@@ -1,2 +1,2 @@
tests/qapi-schema/enum-bad-name.json: In enum 'MyEnum':
-tests/qapi-schema/enum-bad-name.json:3: member of enum 'MyEnum' uses invalid name 'not\possible'
+tests/qapi-schema/enum-bad-name.json:3: 'data' member uses invalid name 'not\possible'
@@ -1,2 +1,2 @@
tests/qapi-schema/enum-bad-prefix.json: In enum 'MyEnum':
-tests/qapi-schema/enum-bad-prefix.json:2: enum 'MyEnum' requires a string for 'prefix'
+tests/qapi-schema/enum-bad-prefix.json:2: 'prefix' must be a string
@@ -1,3 +1,3 @@
tests/qapi-schema/enum-dict-member-unknown.json: In enum 'MyEnum':
-tests/qapi-schema/enum-dict-member-unknown.json:2: unknown key 'bad-key' in member of enum 'MyEnum'
+tests/qapi-schema/enum-dict-member-unknown.json:2: 'data' member has unknown key 'bad-key'
Valid keys are 'if', 'name'.
@@ -1,2 +1,2 @@
tests/qapi-schema/enum-member-case.json: In enum 'NoWayThisWillGetWhitelisted':
-tests/qapi-schema/enum-member-case.json:4: member of enum 'NoWayThisWillGetWhitelisted' uses uppercase in name 'Value'
+tests/qapi-schema/enum-member-case.json:4: 'data' member uses uppercase in name 'Value'
@@ -1,2 +1,2 @@
tests/qapi-schema/enum-missing-data.json: In enum 'MyEnum':
-tests/qapi-schema/enum-missing-data.json:2: key 'data' is missing from enum 'MyEnum'
+tests/qapi-schema/enum-missing-data.json:2: enum misses key 'data'
@@ -1,2 +1,2 @@
tests/qapi-schema/enum-wrong-data.json: In enum 'MyEnum':
-tests/qapi-schema/enum-wrong-data.json:2: enum 'MyEnum' requires an array for 'data'
+tests/qapi-schema/enum-wrong-data.json:2: 'data' must be an array
@@ -1,2 +1,2 @@
tests/qapi-schema/event-member-invalid-dict.json: In event 'EVENT_A':
-tests/qapi-schema/event-member-invalid-dict.json:1: key 'type' is missing from member 'a' of 'data' for event 'EVENT_A'
+tests/qapi-schema/event-member-invalid-dict.json:1: 'data' member 'a' misses key 'type'
@@ -1,2 +1,2 @@
tests/qapi-schema/event-nest-struct.json: In event 'EVENT_A':
-tests/qapi-schema/event-nest-struct.json:1: member 'a' of 'data' for event 'EVENT_A' should be a type name
+tests/qapi-schema/event-nest-struct.json:1: 'data' member 'a' should be a type name
@@ -1,2 +1,2 @@
tests/qapi-schema/features-bad-type.json: In struct 'FeatureStruct0':
-tests/qapi-schema/features-bad-type.json:1: feature of struct FeatureStruct0 requires a string name
+tests/qapi-schema/features-bad-type.json:1: 'features' member requires a string name
@@ -1,2 +1,2 @@
tests/qapi-schema/features-missing-name.json: In struct 'FeatureStruct0':
-tests/qapi-schema/features-missing-name.json:1: key 'name' is missing from feature of struct FeatureStruct0
+tests/qapi-schema/features-missing-name.json:1: 'features' member misses key 'name'
@@ -1,2 +1,2 @@
tests/qapi-schema/features-name-bad-type.json: In struct 'FeatureStruct0':
-tests/qapi-schema/features-name-bad-type.json:1: feature of struct FeatureStruct0 requires a string name
+tests/qapi-schema/features-name-bad-type.json:1: 'features' member requires a string name
@@ -1,2 +1,2 @@
tests/qapi-schema/features-no-list.json: In struct 'FeatureStruct0':
-tests/qapi-schema/features-no-list.json:1: struct 'FeatureStruct0' requires an array for 'features'
+tests/qapi-schema/features-no-list.json:1: 'features' must be an array
@@ -1,3 +1,3 @@
tests/qapi-schema/features-unknown-key.json: In struct 'FeatureStruct0':
-tests/qapi-schema/features-unknown-key.json:1: unknown key 'colour' in feature of struct FeatureStruct0
+tests/qapi-schema/features-unknown-key.json:1: 'features' member has unknown key 'colour'
Valid keys are 'if', 'name'.
@@ -1,2 +1,2 @@
tests/qapi-schema/flat-union-array-branch.json: In union 'TestUnion':
-tests/qapi-schema/flat-union-array-branch.json:8: member 'value1' of union 'TestUnion' cannot be an array
+tests/qapi-schema/flat-union-array-branch.json:8: 'data' member 'value1' cannot be an array
@@ -1,2 +1,2 @@
tests/qapi-schema/flat-union-bad-discriminator.json: In union 'TestUnion':
-tests/qapi-schema/flat-union-bad-discriminator.json:11: discriminator of flat union 'TestUnion' requires a string name
+tests/qapi-schema/flat-union-bad-discriminator.json:11: 'discriminator' requires a string name
@@ -1,2 +1,2 @@
tests/qapi-schema/flat-union-inline-invalid-dict.json: In union 'TestUnion':
-tests/qapi-schema/flat-union-inline-invalid-dict.json:7: key 'type' is missing from member 'value1' of union 'TestUnion'
+tests/qapi-schema/flat-union-inline-invalid-dict.json:7: 'data' member 'value1' misses key 'type'
@@ -1,2 +1,2 @@
tests/qapi-schema/flat-union-inline.json: In union 'TestUnion':
-tests/qapi-schema/flat-union-inline.json:7: member 'value1' of union 'TestUnion' should be a type name
+tests/qapi-schema/flat-union-inline.json:7: 'data' member 'value1' should be a type name
@@ -1,2 +1,2 @@
tests/qapi-schema/flat-union-no-base.json: In union 'TestUnion':
-tests/qapi-schema/flat-union-no-base.json:9: flat union 'TestUnion' must have a base
+tests/qapi-schema/flat-union-no-base.json:9: 'discriminator' requires 'base'
@@ -1,2 +1,2 @@
tests/qapi-schema/nested-struct-data-invalid-dict.json: In command 'foo':
-tests/qapi-schema/nested-struct-data-invalid-dict.json:2: key 'type' is missing from member 'a' of 'data' for command 'foo'
+tests/qapi-schema/nested-struct-data-invalid-dict.json:2: 'data' member 'a' misses key 'type'
@@ -1,2 +1,2 @@
tests/qapi-schema/nested-struct-data.json: In command 'foo':
-tests/qapi-schema/nested-struct-data.json:2: member 'a' of 'data' for command 'foo' should be a type name
+tests/qapi-schema/nested-struct-data.json:2: 'data' member 'a' should be a type name
@@ -1,2 +1,2 @@
tests/qapi-schema/reserved-enum-q.json: In enum 'Foo':
-tests/qapi-schema/reserved-enum-q.json:4: member of enum 'Foo' uses invalid name 'q-Unix'
+tests/qapi-schema/reserved-enum-q.json:4: 'data' member uses invalid name 'q-Unix'
@@ -1,2 +1,2 @@
tests/qapi-schema/reserved-member-has.json: In command 'oops':
-tests/qapi-schema/reserved-member-has.json:5: member of 'data' for command 'oops' uses reserved name 'has-a'
+tests/qapi-schema/reserved-member-has.json:5: 'data' member 'has-a' uses reserved name
@@ -1,2 +1,2 @@
tests/qapi-schema/reserved-member-q.json: In struct 'Foo':
-tests/qapi-schema/reserved-member-q.json:4: member of 'data' for struct 'Foo' uses invalid name 'q-unix'
+tests/qapi-schema/reserved-member-q.json:4: 'data' member 'q-unix' uses invalid name 'q-unix'
@@ -1,2 +1,2 @@
tests/qapi-schema/reserved-member-u.json: In struct 'Oops':
-tests/qapi-schema/reserved-member-u.json:7: member of 'data' for struct 'Oops' uses reserved name 'u'
+tests/qapi-schema/reserved-member-u.json:7: 'data' member 'u' uses reserved name
@@ -1,2 +1,2 @@
tests/qapi-schema/reserved-member-underscore.json: In struct 'Oops':
-tests/qapi-schema/reserved-member-underscore.json:4: member of 'data' for struct 'Oops' uses invalid name '_oops'
+tests/qapi-schema/reserved-member-underscore.json:4: 'data' member '_oops' uses invalid name '_oops'
@@ -1,2 +1,2 @@
tests/qapi-schema/reserved-type-kind.json: In enum 'UnionKind':
-tests/qapi-schema/reserved-type-kind.json:2: enum 'UnionKind' should not end in 'Kind'
+tests/qapi-schema/reserved-type-kind.json:2: enum name should not end in 'Kind'
@@ -1,2 +1,2 @@
tests/qapi-schema/reserved-type-list.json: In struct 'FooList':
-tests/qapi-schema/reserved-type-list.json:5: struct 'FooList' should not end in 'List'
+tests/qapi-schema/reserved-type-list.json:5: struct name should not end in 'List'
@@ -1,2 +1,2 @@
tests/qapi-schema/returns-array-bad.json: In command 'oops':
-tests/qapi-schema/returns-array-bad.json:2: 'returns' for command 'oops': array type must contain single type name
+tests/qapi-schema/returns-array-bad.json:2: 'returns': array type must contain single type name
@@ -1,2 +1,2 @@
tests/qapi-schema/returns-dict.json: In command 'oops':
-tests/qapi-schema/returns-dict.json:2: 'returns' for command 'oops' should be a type name
+tests/qapi-schema/returns-dict.json:2: 'returns' should be a type name
@@ -1,2 +1,2 @@
tests/qapi-schema/struct-data-invalid.json: In struct 'foo':
-tests/qapi-schema/struct-data-invalid.json:1: 'data' for struct 'foo' should be an object or type name
+tests/qapi-schema/struct-data-invalid.json:1: 'data' should be an object or type name
@@ -1,2 +1,2 @@
tests/qapi-schema/struct-member-invalid-dict.json: In struct 'foo':
-tests/qapi-schema/struct-member-invalid-dict.json:2: key 'type' is missing from member '*a' of 'data' for struct 'foo'
+tests/qapi-schema/struct-member-invalid-dict.json:2: 'data' member '*a' misses key 'type'
@@ -1,2 +1,2 @@
tests/qapi-schema/struct-member-invalid.json: In struct 'foo':
-tests/qapi-schema/struct-member-invalid.json:1: member 'a' of 'data' for struct 'foo' should be a type name
+tests/qapi-schema/struct-member-invalid.json:1: 'data' member 'a' should be a type name
@@ -1,2 +1,2 @@
tests/qapi-schema/union-base-no-discriminator.json: In union 'TestUnion':
-tests/qapi-schema/union-base-no-discriminator.json:11: simple union 'TestUnion' must not have a base
+tests/qapi-schema/union-base-no-discriminator.json:11: 'base' requires 'discriminator'
@@ -1,2 +1,2 @@
tests/qapi-schema/union-branch-case.json: In union 'Uni':
-tests/qapi-schema/union-branch-case.json:2: member of union 'Uni' uses uppercase in name 'Branch'
+tests/qapi-schema/union-branch-case.json:2: 'data' member 'Branch' uses uppercase in name 'Branch'
@@ -1,2 +1,2 @@
tests/qapi-schema/union-branch-invalid-dict.json: In union 'UnionInvalidBranch':
-tests/qapi-schema/union-branch-invalid-dict.json:2: key 'type' is missing from member 'integer' of union 'UnionInvalidBranch'
+tests/qapi-schema/union-branch-invalid-dict.json:2: 'data' member 'integer' misses key 'type'
@@ -1,2 +1,2 @@
tests/qapi-schema/union-optional-branch.json: In union 'Union':
-tests/qapi-schema/union-optional-branch.json:2: member of union 'Union' uses invalid name '*a'
+tests/qapi-schema/union-optional-branch.json:2: 'data' member '*a' uses invalid name '*a'
@@ -1,3 +1,3 @@
tests/qapi-schema/unknown-expr-key.json: In struct 'bar':
-tests/qapi-schema/unknown-expr-key.json:2: unknown keys 'bogus', 'phony' in struct 'bar'
+tests/qapi-schema/unknown-expr-key.json:2: struct has unknown keys 'bogus', 'phony'
Valid keys are 'base', 'data', 'features', 'if', 'struct'.
Many error messages refer to the offending definition even though they're preceded by an "in definition" line. Rephrase them. Signed-off-by: Markus Armbruster <armbru@redhat.com> --- scripts/qapi/common.py | 113 +++++++----------- tests/qapi-schema/alternate-array.err | 2 +- tests/qapi-schema/alternate-base.err | 2 +- tests/qapi-schema/alternate-empty.err | 2 +- tests/qapi-schema/alternate-invalid-dict.err | 2 +- tests/qapi-schema/args-array-empty.err | 2 +- tests/qapi-schema/args-boxed-anon.err | 2 +- tests/qapi-schema/args-invalid.err | 2 +- tests/qapi-schema/args-member-array-bad.err | 2 +- tests/qapi-schema/args-member-case.err | 2 +- tests/qapi-schema/bad-data.err | 2 +- tests/qapi-schema/doc-bad-symbol.err | 2 +- tests/qapi-schema/double-type.err | 2 +- tests/qapi-schema/enum-bad-member.err | 2 +- tests/qapi-schema/enum-bad-name.err | 2 +- tests/qapi-schema/enum-bad-prefix.err | 2 +- .../qapi-schema/enum-dict-member-unknown.err | 2 +- tests/qapi-schema/enum-member-case.err | 2 +- tests/qapi-schema/enum-missing-data.err | 2 +- tests/qapi-schema/enum-wrong-data.err | 2 +- .../qapi-schema/event-member-invalid-dict.err | 2 +- tests/qapi-schema/event-nest-struct.err | 2 +- tests/qapi-schema/features-bad-type.err | 2 +- tests/qapi-schema/features-missing-name.err | 2 +- tests/qapi-schema/features-name-bad-type.err | 2 +- tests/qapi-schema/features-no-list.err | 2 +- tests/qapi-schema/features-unknown-key.err | 2 +- tests/qapi-schema/flat-union-array-branch.err | 2 +- .../flat-union-bad-discriminator.err | 2 +- .../flat-union-inline-invalid-dict.err | 2 +- tests/qapi-schema/flat-union-inline.err | 2 +- tests/qapi-schema/flat-union-no-base.err | 2 +- .../nested-struct-data-invalid-dict.err | 2 +- tests/qapi-schema/nested-struct-data.err | 2 +- tests/qapi-schema/reserved-enum-q.err | 2 +- tests/qapi-schema/reserved-member-has.err | 2 +- tests/qapi-schema/reserved-member-q.err | 2 +- tests/qapi-schema/reserved-member-u.err | 2 +- .../reserved-member-underscore.err | 2 +- tests/qapi-schema/reserved-type-kind.err | 2 +- tests/qapi-schema/reserved-type-list.err | 2 +- tests/qapi-schema/returns-array-bad.err | 2 +- tests/qapi-schema/returns-dict.err | 2 +- tests/qapi-schema/struct-data-invalid.err | 2 +- .../struct-member-invalid-dict.err | 2 +- tests/qapi-schema/struct-member-invalid.err | 2 +- .../union-base-no-discriminator.err | 2 +- tests/qapi-schema/union-branch-case.err | 2 +- .../qapi-schema/union-branch-invalid-dict.err | 2 +- tests/qapi-schema/union-optional-branch.err | 2 +- tests/qapi-schema/unknown-expr-key.err | 2 +- 51 files changed, 92 insertions(+), 121 deletions(-)