All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: marcandre.lureau@redhat.com, mdroth@linux.vnet.ibm.com
Subject: [PATCH v2 24/26] qapi: Improve reporting of missing documentation comment
Date: Fri, 27 Sep 2019 15:46:37 +0200	[thread overview]
Message-ID: <20190927134639.4284-25-armbru@redhat.com> (raw)
In-Reply-To: <20190927134639.4284-1-armbru@redhat.com>

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>
---
 scripts/qapi/common.py            | 18 ++++++++----------
 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
-- 
2.21.0



  parent reply	other threads:[~2019-09-27 15:57 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-27 13:46 [PATCH v2 00/26] qapi: Pay back some frontend technical debt Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 01/26] qapi: Tighten QAPISchemaFOO.check() assertions Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 02/26] qapi: Rename .owner to .defined_in Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 03/26] qapi: New QAPISourceInfo, replacing dict Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 04/26] qapi: Prefix frontend errors with an "in definition" line Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 05/26] qapi: Clean up member name case checking Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 06/26] qapi: Change frontend error messages to start with lower case Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 07/26] qapi: Improve reporting of member name clashes Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 08/26] qapi: Reorder check_FOO() parameters for consistency Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 09/26] qapi: Improve reporting of invalid name errors Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 10/26] qapi: Use check_name_str() where it suffices Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 11/26] qapi: Report invalid '*' prefix like any other invalid name Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 12/26] qapi: Move check for reserved names out of add_name() Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 13/26] qapi: Make check_type()'s array case a bit more obvious Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 14/26] qapi: Plumb info to the QAPISchemaMember Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 15/26] qapi: Inline check_name() into check_union() Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 16/26] qapi: Move context-sensitive checking to the proper place Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 17/26] qapi: Move context-free " Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 18/26] qapi: Improve reporting of invalid 'if' errors Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 19/26] qapi: Improve reporting of invalid flags Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 20/26] qapi: Improve reporting of missing / unknown definition keys Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 21/26] qapi: Avoid redundant definition references in error messages Markus Armbruster
2019-09-27 15:03   ` Eric Blake
2019-09-27 13:46 ` [PATCH v2 22/26] qapi: Improve reporting of invalid 'if' further Markus Armbruster
2019-09-27 16:08   ` Eric Blake
2019-09-27 13:46 ` [PATCH v2 23/26] qapi: Eliminate check_keys(), rename check_known_keys() Markus Armbruster
2019-09-27 13:46 ` Markus Armbruster [this message]
2019-09-27 13:46 ` [PATCH v2 25/26] qapi: Improve reporting of redefinition Markus Armbruster
2019-09-27 13:46 ` [PATCH v2 26/26] qapi: Improve source file read error handling Markus Armbruster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190927134639.4284-25-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.