qapi: Fix error message when type name or array is expected
We incorrectly report "FOO should be a type name" when it could also be an array. Fix that. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20230316071325.492471-8-armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
7c4075190d
commit
6f2ab6090d
@ -344,15 +344,14 @@ def check_type_name_or_array(value: Optional[object],
|
||||
if value is None or isinstance(value, str):
|
||||
return
|
||||
|
||||
if isinstance(value, list):
|
||||
if len(value) != 1 or not isinstance(value[0], str):
|
||||
raise QAPISemError(info,
|
||||
"%s: array type must contain single type name" %
|
||||
source)
|
||||
return
|
||||
if not isinstance(value, list):
|
||||
raise QAPISemError(info,
|
||||
"%s should be a type name or array" % source)
|
||||
|
||||
raise QAPISemError(info,
|
||||
"%s should be a type name" % source)
|
||||
if len(value) != 1 or not isinstance(value[0], str):
|
||||
raise QAPISemError(info,
|
||||
"%s: array type must contain single type name" %
|
||||
source)
|
||||
|
||||
|
||||
def check_type_name_or_implicit(value: Optional[object],
|
||||
|
@ -1,2 +1,2 @@
|
||||
event-nest-struct.json: In event 'EVENT_A':
|
||||
event-nest-struct.json:1: 'data' member 'a' should be a type name
|
||||
event-nest-struct.json:1: 'data' member 'a' should be a type name or array
|
||||
|
@ -1,2 +1,2 @@
|
||||
nested-struct-data.json: In command 'foo':
|
||||
nested-struct-data.json:2: 'data' member 'a' should be a type name
|
||||
nested-struct-data.json:2: 'data' member 'a' should be a type name or array
|
||||
|
@ -1,2 +1,2 @@
|
||||
returns-dict.json: In command 'oops':
|
||||
returns-dict.json:2: 'returns' should be a type name
|
||||
returns-dict.json:2: 'returns' should be a type name or array
|
||||
|
@ -1,2 +1,2 @@
|
||||
struct-member-invalid.json: In struct 'Foo':
|
||||
struct-member-invalid.json:1: 'data' member 'a' should be a type name
|
||||
struct-member-invalid.json:1: 'data' member 'a' should be a type name or array
|
||||
|
Loading…
Reference in New Issue
Block a user