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:
Markus Armbruster 2023-03-16 08:13:18 +01:00
parent 7c4075190d
commit 6f2ab6090d
5 changed files with 11 additions and 12 deletions

View file

@ -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],