Skip to content

Commit

Permalink
qapi: Improve error message for unexpected array types
Browse files Browse the repository at this point in the history
We reject array types in certain places with "cannot be an array".
Deleting this check improves the error message to "should be a type
name" or "should be an object or type name", depending on context, so
do that.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230316071325.492471-6-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
  • Loading branch information
Markus Armbruster committed Apr 24, 2023
1 parent 06cc46e commit 2a0c975
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 8 deletions.
6 changes: 0 additions & 6 deletions scripts/qapi/expr.py
Original file line number Diff line number Diff line change
Expand Up @@ -341,9 +341,6 @@ def check_type_name(value: Optional[object],
if isinstance(value, str):
return

if isinstance(value, list):
raise QAPISemError(info, "%s cannot be an array" % source)

raise QAPISemError(info, "%s should be a type name" % source)


Expand Down Expand Up @@ -392,9 +389,6 @@ def check_type_name_or_implicit(value: Optional[object],
if isinstance(value, str):
return

if isinstance(value, list):
raise QAPISemError(info, "%s cannot be an array" % source)

if not isinstance(value, dict):
raise QAPISemError(info,
"%s should be an object or type name" % source)
Expand Down
2 changes: 1 addition & 1 deletion tests/qapi-schema/bad-data.err
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
bad-data.json: In command 'oops':
bad-data.json:2: 'data' cannot be an array
bad-data.json:2: 'data' should be an object or type name
2 changes: 1 addition & 1 deletion tests/qapi-schema/union-array-branch.err
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
union-array-branch.json: In union 'TestUnion':
union-array-branch.json:8: 'data' member 'value1' cannot be an array
union-array-branch.json:8: 'data' member 'value1' should be a type name

0 comments on commit 2a0c975

Please sign in to comment.