From: Markus Armbruster <armbru@redhat.com>
To: John Snow <jsnow@redhat.com>
Cc: Michael Roth <michael.roth@amd.com>,
qemu-devel@nongnu.org, Eduardo Habkost <ehabkost@redhat.com>,
Cleber Rosa <crosa@redhat.com>
Subject: Re: [PATCH 2/6] qapi/parser: Allow empty QAPIDoc Sections
Date: Fri, 21 May 2021 07:35:06 +0200 [thread overview]
Message-ID: <87v97cr6np.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <542e94f4-be9c-da6a-8307-1a36c8c6c7c4@redhat.com> (John Snow's message of "Thu, 20 May 2021 18:23:56 -0400")
John Snow <jsnow@redhat.com> writes:
> On 5/20/21 10:42 AM, Markus Armbruster wrote:
>> First step is to find out how _end_section() can be called twice in a
>> row. It isn't in all of "make check". Hmm.
>
> Ah, maybe not twice in a *row*. It does seem to be called when we have
> an "empty section" sometimes, which arises from stuff like this:
>
> Extension error:
> /home/jsnow/src/qemu/docs/../qga/qapi-schema.json:1143:1: ending a
> totally empty section
>
> ##
> # @GuestExec:
> # @pid: pid of child process in guest OS
> #
> # Since: 2.5
> ##
> { 'struct': 'GuestExec',
> 'data': { 'pid': 'int'} }
>
> Without the newline there, it seems to get confused. There's a few
> like this that could be fixed, but then some of the test cases break
> too.
I still can't see it. I tried the obvious
diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py
index f03ba2cfec..263aeb5fc5 100644
--- a/scripts/qapi/parser.py
+++ b/scripts/qapi/parser.py
@@ -716,6 +716,7 @@ def _start_section(self, name=None, indent=0):
self.sections.append(self._section)
def _end_section(self):
+ assert self._section
if self._section:
text = self._section.text = self._section.text.strip()
if self._section.name and (not text or text.isspace()):
Does not fire for qga/qapi-schema.json. Can you help?
> No appetite for barking up this tree right now.
>
> Can I fix the commit message and leave the patch in place? Maybe with
> a #FIXME comment nearby?
I'd like to understand your analysis before I answer your question.
next prev parent reply other threads:[~2021-05-21 5:36 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-19 19:17 [PATCH 0/6] qapi: static typing conversion, pt5b John Snow
2021-05-19 19:17 ` [PATCH 1/6] qapi/parser.py: remove unused check_args_section arguments John Snow
2021-05-20 14:27 ` Markus Armbruster
2021-05-19 19:17 ` [PATCH 2/6] qapi/parser: Allow empty QAPIDoc Sections John Snow
2021-05-20 14:42 ` Markus Armbruster
2021-05-20 22:23 ` John Snow
2021-05-21 5:35 ` Markus Armbruster [this message]
2021-05-21 15:55 ` John Snow
2021-06-11 14:40 ` Markus Armbruster
2021-06-11 17:21 ` John Snow
2021-05-19 19:17 ` [PATCH 3/6] qapi/parser.py: add type hint annotations (QAPIDoc) John Snow
2021-05-20 15:05 ` Markus Armbruster
2021-05-20 22:48 ` John Snow
2021-05-21 6:05 ` Markus Armbruster
2021-05-19 19:17 ` [PATCH 4/6] qapi/parser.py: enable mypy checks John Snow
2021-05-19 19:17 ` [PATCH 5/6] qapi/parser.py: Silence too-few-public-methods warning John Snow
2021-05-19 19:17 ` [PATCH 6/6] qapi/parser.py: enable pylint checks John Snow
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=87v97cr6np.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=crosa@redhat.com \
--cc=ehabkost@redhat.com \
--cc=jsnow@redhat.com \
--cc=michael.roth@amd.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.