[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 06/16] qapi: Improve error position for bogus invalid "Returns" s
From: |
Markus Armbruster |
Subject: |
[PATCH 06/16] qapi: Improve error position for bogus invalid "Returns" section |
Date: |
Fri, 16 Feb 2024 15:58:30 +0100 |
When something other than a command has a "Returns" section, the error
message points to the beginning of the definition comment. Point to
the "Returns" section instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
scripts/qapi/parser.py | 10 +++++++---
tests/qapi-schema/doc-invalid-return.err | 2 +-
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py
index 82db595dcf..a771013959 100644
--- a/scripts/qapi/parser.py
+++ b/scripts/qapi/parser.py
@@ -759,9 +759,13 @@ def connect_feature(self, feature: 'QAPISchemaFeature') ->
None:
self.features[feature.name].connect(feature)
def check_expr(self, expr: QAPIExpression) -> None:
- if self.has_section('Returns') and 'command' not in expr:
- raise QAPISemError(self.info,
- "'Returns:' is only valid for commands")
+ if 'command' not in expr:
+ sec = next((sec for sec in self.sections
+ if sec.name == 'Returns'),
+ None)
+ if sec:
+ raise QAPISemError(sec.info,
+ "'Returns:' is only valid for commands")
def check(self) -> None:
diff --git a/tests/qapi-schema/doc-invalid-return.err
b/tests/qapi-schema/doc-invalid-return.err
index 2ad89c5941..bc5826de20 100644
--- a/tests/qapi-schema/doc-invalid-return.err
+++ b/tests/qapi-schema/doc-invalid-return.err
@@ -1 +1 @@
-doc-invalid-return.json:3: 'Returns:' is only valid for commands
+doc-invalid-return.json:5: 'Returns:' is only valid for commands
--
2.43.0
- [PATCH 07/16] qapi: Improve error message for empty doc sections, (continued)
- [PATCH 06/16] qapi: Improve error position for bogus invalid "Returns" section,
Markus Armbruster <=
- [PATCH 01/16] tests/qapi-schema: Fix test 'QAPI rST doc', Markus Armbruster, 2024/02/16
- [PATCH 05/16] qapi: Improve error position for bogus argument descriptions, Markus Armbruster, 2024/02/16
- [PATCH 13/16] qapi: Merge adjacent untagged sections, Markus Armbruster, 2024/02/16
- [PATCH 16/16] qapi: Divorce QAPIDoc from QAPIParseError, Markus Armbruster, 2024/02/16
- [PATCH 03/16] tests/qapi-schema: Cover 'Features:' not followed by descriptions, Markus Armbruster, 2024/02/16