qemu/tests
John Snow 939c639e1d qapi/parser: preserve indentation in QAPIDoc sections
Change get_doc_indented() to preserve indentation on all subsequent text
lines, and create a compatibility dedent() function for qapidoc.py that
removes indentation the same way get_doc_indented() did.

This is being done for the benefit of a new qapidoc generator which
requires that indentation in argument and features sections are
preserved.

Prior to this patch, a section like this:

```
@name: lorem ipsum
   dolor sit amet
     consectetur adipiscing elit
```

would have its body text be parsed into:

```
lorem ipsum
dolor sit amet
  consectetur adipiscing elit
```

We want to preserve the indentation for even the first body line so that
the entire block can be parsed directly as rST. This patch would now
parse that segment into:

```
lorem ipsum
   dolor sit amet
     consectetur adipiscing elit
```

This is helpful for formatting arguments and features as field lists in
rST, where the new generator will format this information as:

```
:arg type name: lorem ipsum
   dolor sit amet
     consectetur apidiscing elit
```

...and can be formed by the simple concatenation of the field list
construct and the body text. The indents help preserve the continuation
of a block-level element, and further allow the use of additional rST
block-level constructs such as code blocks, lists, and other such
markup.

This understandably breaks the existing qapidoc.py; so a new function is
added there to dedent the text for compatibility. Once the new generator
is merged, this function will not be needed any longer and can be
dropped.

I verified this patch changes absolutely nothing by comparing the
md5sums of the QMP ref html pages both before and after the change, so
it's certified inert. QAPI test output has been updated to reflect the
new strategy of preserving indents for rST.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240626222128.406106-6-jsnow@redhat.com>
[Lost commit message paragraph restored]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2024-07-06 08:58:24 +02:00
..
avocado tests/avocado: add hotplug_blk test 2024-07-02 09:42:27 +02:00
bench tests/bench: Add bufferiszero-bench 2024-05-03 08:03:35 -07:00
data tests/data/acpi/rebuild-expected-aml.sh: Add RISC-V 2024-07-03 18:14:07 -04:00
decode
docker tests/docker: Specify --userns keep-id for Podman 2024-07-05 12:33:41 +01:00
fp tests/fp: Bump fp-test-mulAdd test timeout to 3 minutes 2024-01-12 13:23:48 +00:00
guest-debug tests: Gently exit from GDB when tests complete 2024-05-17 16:49:04 +02:00
image-fuzzer
include
keys
lcitool tests/lcitool: fix debian-i686-cross toolchain prefix 2024-07-05 12:33:32 +01:00
migration tests/qtest/migration-test: Use custom asm bios for ppc64 2024-06-14 14:01:23 -03:00
multiboot
perf/block/qcow2
plugin test/plugins: preserve the instruction record over translations 2024-07-05 12:34:41 +01:00
qapi-schema qapi/parser: preserve indentation in QAPIDoc sections 2024-07-06 08:58:24 +02:00
qemu-iotests iotests/270: Don't store data-file with json: prefix in image 2024-07-02 18:12:30 +02:00
qtest * meson: Pass objects and dependencies to declare_dependency(), not static_library() 2024-07-04 09:16:07 -07:00
rocker
tcg tests/tcg/aarch64: Add MTE gdbstub tests 2024-07-05 12:35:36 +01:00
tsan block: remove AioContext locking 2023-12-21 22:49:27 +01:00
uefi-test-tools tests/data/uefi-boot-images: Add RISC-V ISO image 2024-07-03 18:14:06 -04:00
unit * Fix loongarch64 avocado test 2024-06-13 07:51:58 -07:00
vm tests/vm: remove plain centos image 2024-06-06 10:25:51 +01:00
vmstate-static-checker-data
dbus-vmstate-daemon.sh
Makefile.include meson: Drop the .fa library suffix 2024-07-03 18:41:26 +02:00
meson.build tests: only build plugins if TCG is enabled 2024-04-18 11:17:27 +02:00
test-qht-par.c
vhost-user-bridge.c