diff options
author | Markus Armbruster | 2019-09-27 15:46:37 +0200 |
---|---|---|
committer | Markus Armbruster | 2019-09-28 17:17:48 +0200 |
commit | f63326985a23cc1bb6327a003050e6fdb52eb9cd (patch) | |
tree | c323f9c7d6bf8ed5bb057940c143e8bc7b11e34e | |
parent | qapi: Eliminate check_keys(), rename check_known_keys() (diff) | |
download | qemu-f63326985a23cc1bb6327a003050e6fdb52eb9cd.tar.gz qemu-f63326985a23cc1bb6327a003050e6fdb52eb9cd.tar.xz qemu-f63326985a23cc1bb6327a003050e6fdb52eb9cd.zip |
qapi: Improve reporting of missing documentation comment
Have check_exprs() check this later, so the error message gains an "in
definition line". Tweak the error message.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-25-armbru@redhat.com>
-rw-r--r-- | scripts/qapi/common.py | 18 | ||||
-rw-r--r-- | tests/qapi-schema/doc-missing.err | 3 |
2 files changed, 10 insertions, 11 deletions
diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py index fa354b3f1e..bd834270f8 100644 --- a/scripts/qapi/common.py +++ b/scripts/qapi/common.py @@ -933,10 +933,6 @@ def check_exprs(exprs): if 'include' in expr: continue - if not doc and doc_required: - raise QAPISemError(info, - "definition missing documentation comment") - if 'enum' in expr: meta = 'enum' elif 'union' in expr: @@ -957,9 +953,14 @@ def check_exprs(exprs): info.set_defn(meta, name) check_defn_name_str(name, info, meta) - if doc and doc.symbol != name: - raise QAPISemError( - info, "documentation comment is for '%s'" % doc.symbol) + if doc: + if doc.symbol != name: + raise QAPISemError( + info, "documentation comment is for '%s'" % doc.symbol) + doc.check_expr(expr) + elif doc_required: + raise QAPISemError(info, + "documentation comment required") if meta == 'enum': check_keys(expr, info, meta, @@ -1004,9 +1005,6 @@ def check_exprs(exprs): check_if(expr, info, meta) check_flags(expr, info) - if doc: - doc.check_expr(expr) - return exprs diff --git a/tests/qapi-schema/doc-missing.err b/tests/qapi-schema/doc-missing.err index 08c827931a..7fbf54ff65 100644 --- a/tests/qapi-schema/doc-missing.err +++ b/tests/qapi-schema/doc-missing.err @@ -1 +1,2 @@ -tests/qapi-schema/doc-missing.json:5: definition missing documentation comment +tests/qapi-schema/doc-missing.json: In command 'undocumented': +tests/qapi-schema/doc-missing.json:5: documentation comment required |