[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 07/17] qapi: Fix error message when type name or array is expected
From: |
Markus Armbruster |
Subject: |
[PULL 07/17] qapi: Fix error message when type name or array is expected |
Date: |
Wed, 26 Apr 2023 07:57:34 +0200 |
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>
---
scripts/qapi/expr.py | 15 +++++++--------
tests/qapi-schema/event-nest-struct.err | 2 +-
tests/qapi-schema/nested-struct-data.err | 2 +-
tests/qapi-schema/returns-dict.err | 2 +-
tests/qapi-schema/struct-member-invalid.err | 2 +-
5 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/scripts/qapi/expr.py b/scripts/qapi/expr.py
index 8a8de9e3aa..9bae500a7d 100644
--- a/scripts/qapi/expr.py
+++ b/scripts/qapi/expr.py
@@ -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],
diff --git a/tests/qapi-schema/event-nest-struct.err
b/tests/qapi-schema/event-nest-struct.err
index 8c5f6ed311..15fc1406f8 100644
--- a/tests/qapi-schema/event-nest-struct.err
+++ b/tests/qapi-schema/event-nest-struct.err
@@ -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
diff --git a/tests/qapi-schema/nested-struct-data.err
b/tests/qapi-schema/nested-struct-data.err
index c7258a0182..7dc5c7cb2d 100644
--- a/tests/qapi-schema/nested-struct-data.err
+++ b/tests/qapi-schema/nested-struct-data.err
@@ -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
diff --git a/tests/qapi-schema/returns-dict.err
b/tests/qapi-schema/returns-dict.err
index 9b2d90c010..bf160e754b 100644
--- a/tests/qapi-schema/returns-dict.err
+++ b/tests/qapi-schema/returns-dict.err
@@ -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
diff --git a/tests/qapi-schema/struct-member-invalid.err
b/tests/qapi-schema/struct-member-invalid.err
index 7e01a41d7c..3130d69d9f 100644
--- a/tests/qapi-schema/struct-member-invalid.err
+++ b/tests/qapi-schema/struct-member-invalid.err
@@ -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
--
2.39.2
- [PULL 00/17] QAPI patches patches for 2023-04-26, Markus Armbruster, 2023/04/26
- [PULL 03/17] qapi: Clean up after removal of simple unions, Markus Armbruster, 2023/04/26
- [PULL 02/17] qapi/schema: Use super(), Markus Armbruster, 2023/04/26
- [PULL 08/17] qapi: Fix to reject 'data': 'mumble' in struct, Markus Armbruster, 2023/04/26
- [PULL 01/17] qapi: Fix error message format regression, Markus Armbruster, 2023/04/26
- [PULL 13/17] qapi: Fix code generated for optional conditional struct member, Markus Armbruster, 2023/04/26
- [PULL 16/17] qapi: Improve specificity of type/member descriptions, Markus Armbruster, 2023/04/26
- [PULL 14/17] qapi: Require boxed for conditional command and event arguments, Markus Armbruster, 2023/04/26
- [PULL 07/17] qapi: Fix error message when type name or array is expected,
Markus Armbruster <=
- [PULL 11/17] tests/qapi-schema: Clean up positive test for conditionals, Markus Armbruster, 2023/04/26
- [PULL 06/17] qapi: Simplify code a bit after previous commits, Markus Armbruster, 2023/04/26
- [PULL 04/17] qapi: Split up check_type(), Markus Armbruster, 2023/04/26
- [PULL 15/17] qapi: support updating expected test output via make, Markus Armbruster, 2023/04/26
- [PULL 05/17] qapi: Improve error message for unexpected array types, Markus Armbruster, 2023/04/26
- [PULL 12/17] tests/qapi-schema: Cover optional conditional struct member, Markus Armbruster, 2023/04/26
- [PULL 10/17] tests/qapi-schema: Rename a few conditionals, Markus Armbruster, 2023/04/26
- [PULL 09/17] tests/qapi-schema: Improve union discriminator coverage, Markus Armbruster, 2023/04/26
- [PULL 17/17] qapi: allow unions to contain further unions, Markus Armbruster, 2023/04/26
- Re: [PULL 00/17] QAPI patches patches for 2023-04-26, Richard Henderson, 2023/04/26