All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "John Snow" <jsnow@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	qemu-devel@nongnu.org, "Stefan Hajnoczi" <stefanha@redhat.com>,
	"Michael Roth" <mdroth@linux.vnet.ibm.com>
Subject: Re: [PATCH v4 04/18] tests/qapi/doc-good.json: Clean up markup
Date: Wed, 05 Aug 2020 15:03:30 +0200	[thread overview]
Message-ID: <87eeolnt25.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20200309154405.13548-5-peter.maydell@linaro.org> (Peter Maydell's message of "Mon, 9 Mar 2020 15:43:51 +0000")

The subject is a bit misleading.  The markup doesn't need cleanup.  It
purposefully tests corner cases of the doc comment parser.  For some of
them, the conversion to rST will change the meaning.  This commit tweaks
the test so it passes before and after the conversion.  Makes it a worse
test for the doc comment parser, which doesn't matter, because the code
in question is about to be deleted.

Peter Maydell <peter.maydell@linaro.org> writes:

> doc-good.json tests some oddities of markup that we don't want to
> accept.  Make them match the more restrictive rST syntax:
>
>  * in a single list the bullet types must all match
>  * lists must have leading and following blank lines
>  * indentation is important

Actually, indentation has always been important, but the conversion to
rST changes where and how it matters.

>  * the '|' example syntax is going to go away entirely, so stop
>    testing it

Before the series, we (try to) cover all doc markup here.

The series replaces the doc markup language by rST + a little extra.
The test must still cover the little extra then, and covering a bit of
rST to ensure basic sanity won't hurt.

Correct?

I'm asking because a "yes" explains why we can drop coverage without
replacement: it's appropriate when the markup in question is replaced by
rST.

> This will avoid the tests spuriously breaking when we tighten up the
> parser code in the following commits.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> New patch in v2
> ---
>  tests/qapi-schema/doc-good.json | 25 +++++++++++++------------
>  tests/qapi-schema/doc-good.out  | 12 ++++++------
>  tests/qapi-schema/doc-good.texi | 12 +++---------
>  3 files changed, 22 insertions(+), 27 deletions(-)
>
> diff --git a/tests/qapi-schema/doc-good.json b/tests/qapi-schema/doc-good.json
> index d992e713d97..a45dc22848c 100644
> --- a/tests/qapi-schema/doc-good.json
> +++ b/tests/qapi-schema/doc-good.json
> @@ -10,25 +10,25 @@
>  #
>  # *strong* _with emphasis_
>  # @var {in braces}
> +#
>  # * List item one
> -# - Two, multiple
> +# * Two, multiple
>  #   lines
>  #
> -# 3. Three
> -# Still in list
> +# * Three
> +#   Still in list
> +#
> +# Not in list
>  #
> -#   Not in list

This is an example for indentation becoming relevant where it wasn't
before.

The old doc markup language uses blank lines to terminate list items.
The new one uses indentation, which is more flexible.

>  # - Second list
> -# Note: still in list
> +#   Note: still in list
>  #
>  # Note: not in list
> +#
>  # 1. Third list
>  #    is numbered
>  #
> -# - another item
> -#
> -# | example
> -# | multiple lines
> +# 2. another item
>  #
>  # Returns: the King
>  # Since: the first age
> @@ -62,7 +62,7 @@
>  ##
>  # @Base:
>  # @base1:

Here, indentation is relevant even before the series: @base: is only
recognized as an argument section when it's not indented.

> -#   the first member
> +# the first member

Why do you need to unindent this line?

>  ##
>  { 'struct': 'Base', 'data': { 'base1': 'Enum' } }
>  
> @@ -101,7 +101,7 @@
>  ##
>  # @Alternate:
>  # @i: an integer
> -# @b is undocumented
> +#     @b is undocumented

Why do you need to indent this line?

>  ##
>  { 'alternate': 'Alternate',
>    'data': { 'i': 'int', 'b': 'bool' } }
> @@ -115,7 +115,7 @@
>  # @arg1: the first argument
>  #
>  # @arg2: the second
> -# argument
> +#        argument

Why do you need to indent this line?

>  #
>  # Features:
>  # @cmd-feat1: a feature
> @@ -124,6 +124,7 @@
>  # Returns: @Object
>  # TODO: frobnicate
>  # Notes:
> +#
>  # - Lorem ipsum dolor sit amet
>  # - Ut enim ad minim veniam
>  #
> diff --git a/tests/qapi-schema/doc-good.out b/tests/qapi-schema/doc-good.out
> index 4c9406a464d..9503a3a3178 100644
> --- a/tests/qapi-schema/doc-good.out
> +++ b/tests/qapi-schema/doc-good.out
> @@ -68,25 +68,25 @@ doc freeform
>  
>  *strong* _with emphasis_
>  @var {in braces}
> +
>  * List item one
> -- Two, multiple
> +* Two, multiple
>  lines
>  
> -3. Three
> +* Three
>  Still in list
>  
>  Not in list
> +
>  - Second list
>  Note: still in list
>  
>  Note: not in list
> +
>  1. Third list
>  is numbered
>  
> -- another item
> -
> -| example
> -| multiple lines
> +2. another item
>  
>  Returns: the King
>  Since: the first age
> diff --git a/tests/qapi-schema/doc-good.texi b/tests/qapi-schema/doc-good.texi
> index d4b15dabf03..1e8063c8579 100644
> --- a/tests/qapi-schema/doc-good.texi
> +++ b/tests/qapi-schema/doc-good.texi
> @@ -6,6 +6,7 @@
>  
>  @strong{strong} @emph{with emphasis}
>  @code{var} @{in braces@}
> +
>  @itemize @bullet
>  @item
>  List item one
> @@ -20,6 +21,7 @@ Still in list
>  @end itemize
>  
>  Not in list
> +
>  @itemize @minus
>  @item
>  Second list
> @@ -28,6 +30,7 @@ Note: still in list
>  @end itemize
>  
>  Note: not in list
> +
>  @enumerate
>  @item
>  Third list
> @@ -36,15 +39,6 @@ is numbered
>  @item
>  another item
>  
> -@example
> -example
> -@end example
> -
> -@example
> -multiple lines
> -@end example
> -
> -
>  @end enumerate
>  
>  Returns: the King



  parent reply	other threads:[~2020-08-05 13:06 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-09 15:43 [PATCH v4 00/18] Convert QAPI doc comments to generate rST instead of texinfo Peter Maydell
2020-03-09 15:43 ` [PATCH v4 01/18] qapi/migration.json: Fix indentation Peter Maydell
2020-03-11  6:06   ` Richard Henderson
2020-03-11 15:12   ` Markus Armbruster
2020-03-09 15:43 ` [PATCH v4 02/18] qapi/qapi-schema.json: Put headers in their own doc-comment blocks Peter Maydell
2020-03-11  6:06   ` Richard Henderson
2020-03-20  9:54   ` Markus Armbruster
2020-03-09 15:43 ` [PATCH v4 03/18] qapi/machine.json: Escape a literal '*' in doc comment Peter Maydell
2020-03-11  6:06   ` Richard Henderson
2020-03-09 15:43 ` [PATCH v4 04/18] tests/qapi/doc-good.json: Clean up markup Peter Maydell
2020-03-11  6:07   ` Richard Henderson
2020-08-05 13:03   ` Markus Armbruster [this message]
2020-08-05 13:41     ` Peter Maydell
2020-08-06 14:46       ` Markus Armbruster
2020-08-06 15:33         ` Peter Maydell
2020-03-09 15:43 ` [PATCH v4 05/18] scripts/qapi: Move doc-comment whitespace stripping to doc.py Peter Maydell
2020-03-11  6:07   ` Richard Henderson
2020-08-06 15:06   ` Markus Armbruster
2020-03-09 15:43 ` [PATCH v4 06/18] scripts/qapi/parser.py: improve doc comment indent handling Peter Maydell
2020-03-11  6:08   ` Richard Henderson
2020-03-09 15:43 ` [PATCH v4 07/18] docs/sphinx: Add new qapi-doc Sphinx extension Peter Maydell
2020-03-09 15:43 ` [PATCH v4 08/18] docs/interop: Convert qemu-ga-ref to rST Peter Maydell
2020-03-11  6:10   ` Richard Henderson
2020-03-09 15:43 ` [PATCH v4 09/18] docs/interop: Convert qemu-qmp-ref " Peter Maydell
2020-03-11  6:11   ` Richard Henderson
2020-03-09 15:43 ` [PATCH v4 10/18] qapi: Use rST markup for literal blocks Peter Maydell
2020-03-11  6:22   ` Richard Henderson
2020-03-09 15:43 ` [PATCH v4 11/18] qga/qapi-schema.json: Add some headings Peter Maydell
2020-03-11  6:22   ` Richard Henderson
2020-03-09 15:43 ` [PATCH v4 12/18] scripts/qapi: Remove texinfo generation support Peter Maydell
2020-03-11  6:23   ` Richard Henderson
2020-03-09 15:44 ` [PATCH v4 13/18] docs/devel/qapi-code-gen.txt: Update to new rST backend conventions Peter Maydell
2020-03-11  6:25   ` Richard Henderson
2020-03-09 15:44 ` [PATCH v4 14/18] Makefile: Remove redundant Texinfo related rules Peter Maydell
2020-03-11  6:27   ` Richard Henderson
2020-03-09 15:44 ` [PATCH v4 15/18] scripts/texi2pod: Delete unused script Peter Maydell
2020-03-11  6:29   ` Richard Henderson
2020-03-09 15:44 ` [PATCH v4 16/18] Remove Texinfo related files from .gitignore and git.orderfile Peter Maydell
2020-03-11  6:30   ` Richard Henderson
2020-03-09 15:44 ` [PATCH v4 17/18] configure: Drop texinfo requirement Peter Maydell
2020-03-11  6:31   ` Richard Henderson
2020-03-09 15:44 ` [PATCH v4 18/18] Remove texinfo dependency from docker and CI configs Peter Maydell
2020-03-11  6:32   ` Richard Henderson
2020-08-05 13:01 ` [PATCH v4 00/18] Convert QAPI doc comments to generate rST instead of texinfo 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=87eeolnt25.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /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.