On Fri, 23 Oct 2026 at 12:13, Thomas Monjalon <[email protected]> wrote:
>
> 22/10/2026 19:44, David Marchand:
> > - report=$($selfdir/parse-flow-support.sh $code $doc)
> > + code_support=$($selfdir/parse-flow-support.sh $code)
> > + report=$(
> > + for category in item action; do
> > + section="rte_flow ${category}s]"
> > + code_items=$(echo "$code_support" | sed -n
> > "/$section/,/]/p" |
> > + sed '/]/d' | # ignore section title
> > + sed 's, *=.*,,' | # keep only item name
> > + sed '/^$/d' | # remove empty lines
> > + sort -u)
>
> This parsing is used below.
> This is an opportunity for a function.
I prepared this:
diff --git a/devtools/check-doc-vs-code.sh b/devtools/check-doc-vs-code.sh
index 4c45bc0bba..9fc14dd19e 100755
--- a/devtools/check-doc-vs-code.sh
+++ b/devtools/check-doc-vs-code.sh
@@ -118,6 +118,14 @@ items_not_in() # <list1> <list2>
} | sort | uniq -u
}
+parse_rte_flow_section() # <section>
+{
+ sed -n "/$1/,/]/p" |
+ sed '/]/d' | # ignore section title
+ sed 's, *=.*,,' | # keep only item name
+ sed '/^$/d' # remove empty lines
+}
+
check_rte_flow() # <driver>
{
code=$(driver_code_dir $1)
@@ -128,15 +136,10 @@ check_rte_flow() # <driver>
report=$(
for category in item action; do
section="rte_flow ${category}s]"
- code_items=$(echo "$code_support" | sed -n
"/$section/,/]/p" |
- sed '/]/d' | # ignore section title
- sed 's, *=.*,,' | # keep only item name
- sed '/^$/d' | # remove empty lines
+ code_items=$(echo "$code_support" |
+ parse_rte_flow_section "$section" |
sort -u)
- doc_items=$(sed -n "/$section/,/]/p" "$doc" |
- sed '/]/d' | # ignore section title
- sed 's, *=.*,,' | # keep only item name
- sed '/^$/d' | # remove empty lines
+ doc_items=$(parse_rte_flow_section "$section" < $doc |
sort -u)
{
# items documented but not in code
@@ -145,10 +148,7 @@ check_rte_flow() # <driver>
all_doc_items=$(
for drv in $(docs_for_code $code); do
d=$rootdir/doc/guides/nics/features/$drv.ini
- sed -n "/$section/,/]/p" "$d" |
- sed '/]/d' |
# ignore section title
- sed 's,
*=.*,,' | # keep only item name
- sed '/^$/d'
# remove empty lines
+ parse_rte_flow_section
"$section" < $d
done | sort -u
)
items_not_in "$code_items" "$all_doc_items"
I'll wait a bit for more reviews on the rest of the series.
--
David Marchand