[PATCH 5/7] docs: kdoc_yaml_file: add a representer to make strings look nicer

From: Mauro Carvalho Chehab

Date: Wed Mar 18 2026 - 10:29:33 EST


The strings representation is not ok, currently. Add a helper
function to improve it, and drop blank lines at beginning and
at the end of the dumps

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
---
tools/lib/python/kdoc/kdoc_yaml_file.py | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/tools/lib/python/kdoc/kdoc_yaml_file.py b/tools/lib/python/kdoc/kdoc_yaml_file.py
index db131503c3f6..18737abb1176 100644
--- a/tools/lib/python/kdoc/kdoc_yaml_file.py
+++ b/tools/lib/python/kdoc/kdoc_yaml_file.py
@@ -126,7 +126,7 @@ class KDocTestFile():
else:
key = "rst"

- expected_dict[key]= out_style.output_symbols(fname, [arg])
+ expected_dict[key]= out_style.output_symbols(fname, [arg]).strip()

name = f"{base_name}_{i:03d}"

@@ -148,8 +148,20 @@ class KDocTestFile():
"""
import yaml

+ # Helper function to better handle multilines
+ def str_presenter(dumper, data):
+ if "\n" in data:
+ return dumper.represent_scalar("tag:yaml.org,2002:str", data, style="|")
+
+ return dumper.represent_scalar("tag:yaml.org,2002:str", data)
+
+ # Register the representer
+ yaml.add_representer(str, str_presenter)
+
data = {"tests": self.tests}

with open(self.test_file, "w", encoding="utf-8") as fp:
- yaml.safe_dump(data, fp, sort_keys=False, default_style="|",
- default_flow_style=False, allow_unicode=True)
+ yaml.dump(data, fp,
+ sort_keys=False, width=120, indent=2,
+ default_flow_style=False, allow_unicode=True,
+ explicit_start=False, explicit_end=False)
--
2.52.0