[dpdk-dev] [PATCH v5 3/3] devtools: check flow API doc tables
Ferruh Yigit
ferruh.yigit at intel.com
Thu May 13 20:40:31 CEST 2021
On 4/7/2021 11:33 PM, Thomas Monjalon wrote:
> The script check-doc-vs-code.sh may be used to add
> some automatic checks of the doc.
>
> If run without any argument, a complete check is done.
> The optional argument is a git history reference point
> to check faster only what has changed since this commit.
>
> In this commit, the only check is for rte_flow tables,
> achieved through the script parse-flow-support.sh.
> If run without a .ini reference, it prints rte_flow tables.
> Note: detected features are marked with the value Y,
> while the real .ini file could have special values like I.
> The script allow parsing exceptions (exclude or include),
> like for bnxt code which lists unsupported items and actions.
>
Thanks for the scripts.
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
> devtools/check-doc-vs-code.sh | 79 ++++++++++++++++++++++++++++++++++
> devtools/parse-flow-support.sh | 76 ++++++++++++++++++++++++++++++++
> 2 files changed, 155 insertions(+)
> create mode 100755 devtools/check-doc-vs-code.sh
> create mode 100755 devtools/parse-flow-support.sh
>
> diff --git a/devtools/check-doc-vs-code.sh b/devtools/check-doc-vs-code.sh
> new file mode 100755
> index 0000000000..6e53d66899
> --- /dev/null
> +++ b/devtools/check-doc-vs-code.sh
> @@ -0,0 +1,79 @@
> +#! /bin/sh -e
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright 2021 Mellanox Technologies, Ltd
> +
> +# Check whether doc & code are in sync.
> +# Optional argument: check only what changed since a commit.
> +trusted_commit=$1 # example: origin/main
> +
> +selfdir=$(dirname $(readlink -f $0))
> +rootdir=$(readlink -f $selfdir/..)
> +
> +result=0
> +
> +# speed up by ignoring Unicode details
> +export LC_COLLATE=C
> +
> +changed_files()
> +{
> + [ -n "$files" ] ||
> + files=$(git diff-tree --name-only -r $trusted_commit..)
> + echo "$files"
> +}
> +
> +has_code_change() # <pattern>
> +{
> + test -n "$(git log --format='%h' -S"$1" $trusted_commit..)"
> +}
> +
> +has_file_change() # <pattern>
> +{
> + changed_files | grep -q "$1"
> +}
> +
> +changed_net_drivers()
> +{
> + net_paths='drivers/net/|doc/guides/nics/features/'
> + [ -n "$drivers" ] ||
> + drivers=$(changed_files |
> + sed -rn "s,^($net_paths)([^./]*).*,\2,p")
> + echo "$drivers"
> +}
I will not reviewed in details yet, but first observation,
when 'trusted_commit' argument is used, the drivers list has many duplicated
entries which makes the output redundant and makes script take too much time.
Getting only unique list may help on it.
More information about the dev
mailing list