From: "Kinsella, Ray" <mdr@ashroe.eu>
To: Thomas Monjalon <thomas@monjalon.net>, dev@dpdk.org
Cc: david.marchand@redhat.com, bruce.richardson@intel.com,
Neil Horman <nhorman@tuxdriver.com>
Subject: Re: [dpdk-dev] [PATCH 1/1] devtools: adjust verbosity of ABI check
Date: Tue, 8 Dec 2020 15:22:35 +0000 [thread overview]
Message-ID: <477b7775-0a3e-080b-3158-bc8fbae95c81@ashroe.eu> (raw)
In-Reply-To: <20201207173235.1397351-1-thomas@monjalon.net>
On 07/12/2020 17:32, Thomas Monjalon wrote:
> The scripts gen-abi.sh and check-abi.sh are updated
> to print error messages to stderr so they are likely never ignored.
>
> When called from test-meson-builds.sh, the standard messages on stdout
> can be more quiet depending on the verbosity settings.
> The beginning of the ABI check is announced in verbose mode.
> The commands are printed in very verbose mode.
> The check result details are available in verbose mode.
So there is a bit of a disconnect here - you change gen-abi/check-abi to
correctly direct errors to sterr.
You then however provide a method to ignore them in test_meson_build.sh.
I thinking giving people a way of ignoring the indicated lines below,
is a bad plan.
No problem with the changes to check-abi/gen-abi - but I think the changes
to test_meson_build.sh are a bad idea.
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> devtools/check-abi.sh | 21 +++++++++++----------
> devtools/gen-abi.sh | 4 ++--
> devtools/test-meson-builds.sh | 9 +++++++--
> 3 files changed, 20 insertions(+), 14 deletions(-)
>
> diff --git a/devtools/check-abi.sh b/devtools/check-abi.sh
> index ab6748cfbc..381db2cdd1 100755
> --- a/devtools/check-abi.sh
> +++ b/devtools/check-abi.sh
> @@ -3,7 +3,7 @@
> # Copyright (c) 2019 Red Hat, Inc.
>
> if [ $# != 2 ] && [ $# != 3 ]; then
> - echo "Usage: $0 refdir newdir [warnonly]"
> + echo "Usage: $0 refdir newdir [warnonly]" >&2
> exit 1
> fi
>
> @@ -13,23 +13,23 @@ warnonly=${3:-}
> ABIDIFF_OPTIONS="--suppr $(dirname $0)/libabigail.abignore --no-added-syms"
>
> if [ ! -d $refdir ]; then
> - echo "Error: reference directory '$refdir' does not exist."
> + echo "Error: reference directory '$refdir' does not exist." >&2
> exit 1
> fi
> incdir=$(find $refdir -type d -a -name include)
> if [ -z "$incdir" ] || [ ! -e "$incdir" ]; then
> - echo "WARNING: could not identify a include directory for $refdir, expect false positives..."
> + echo "WARNING: could not identify an include directory for $refdir, expect false positives..." >&2
> else
> ABIDIFF_OPTIONS="$ABIDIFF_OPTIONS --headers-dir1 $incdir"
> fi
>
> if [ ! -d $newdir ]; then
> - echo "Error: directory to check '$newdir' does not exist."
> + echo "Error: directory to check '$newdir' does not exist." >&2
> exit 1
> fi
> incdir2=$(find $newdir -type d -a -name include)
> if [ -z "$incdir2" ] || [ ! -e "$incdir2" ]; then
> - echo "WARNING: could not identify a include directory for $newdir, expect false positives..."
> + echo "WARNING: could not identify an include directory for $newdir, expect false positives..." >&2
> else
> ABIDIFF_OPTIONS="$ABIDIFF_OPTIONS --headers-dir2 $incdir2"
> fi
> @@ -46,23 +46,24 @@ for dump in $(find $refdir -name "*.dump"); do
> fi
> dump2=$(find $newdir -name $name)
> if [ -z "$dump2" ] || [ ! -e "$dump2" ]; then
> - echo "Error: can't find $name in $newdir"
> + echo "Error: cannot find $name in $newdir" >&2
> error=1
> continue
> fi
> + echo abidiff $ABIDIFF_OPTIONS $dump $dump2
> abidiff $ABIDIFF_OPTIONS $dump $dump2 || {
> abiret=$?
> - echo "Error: ABI issue reported for 'abidiff $ABIDIFF_OPTIONS $dump $dump2'"
> + echo "Error: ABI issue reported for 'abidiff $ABIDIFF_OPTIONS $dump $dump2'" >&2
> error=1
> echo
> if [ $(($abiret & 3)) -ne 0 ]; then
> - echo "ABIDIFF_ERROR|ABIDIFF_USAGE_ERROR, this could be a script or environment issue."
> + echo "ABIDIFF_ERROR|ABIDIFF_USAGE_ERROR, this could be a script or environment issue." >&2
> fi
> if [ $(($abiret & 4)) -ne 0 ]; then
> - echo "ABIDIFF_ABI_CHANGE, this change requires a review (abidiff flagged this as a potential issue)."
> + echo "ABIDIFF_ABI_CHANGE, this change requires a review (abidiff flagged this as a potential issue)." >&2
> fi
> if [ $(($abiret & 8)) -ne 0 ]; then
> - echo "ABIDIFF_ABI_INCOMPATIBLE_CHANGE, this change breaks the ABI."
> + echo "ABIDIFF_ABI_INCOMPATIBLE_CHANGE, this change breaks the ABI." >&2> fi
> echo
> }
> diff --git a/devtools/gen-abi.sh b/devtools/gen-abi.sh
> index c44b0e228a..f15a3b9aaf 100755
> --- a/devtools/gen-abi.sh
> +++ b/devtools/gen-abi.sh
> @@ -3,13 +3,13 @@
> # Copyright (c) 2019 Red Hat, Inc.
>
> if [ $# != 1 ]; then
> - echo "Usage: $0 installdir"
> + echo "Usage: $0 installdir" >&2
> exit 1
> fi
>
> installdir=$1
> if [ ! -d $installdir ]; then
> - echo "Error: install directory '$installdir' does not exist."
> + echo "Error: install directory '$installdir' does not exist." >&2
> exit 1
> fi
>
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index ed44d4ffb1..16a81b6241 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -194,10 +194,15 @@ build () # <directory> <target compiler | cross file> <meson options>
>
> install_target $builds_dir/$targetdir \
> $(readlink -f $builds_dir/$targetdir/install)
> + echo "Checking ABI compatibility of $targetdir" >&$verbose
> + echo $srcdir/devtools/gen-abi.sh \
> + $(readlink -f $builds_dir/$targetdir/install) >&$veryverbose
> $srcdir/devtools/gen-abi.sh \
> - $(readlink -f $builds_dir/$targetdir/install)
> + $(readlink -f $builds_dir/$targetdir/install) >&$veryverbose
> + echo $srcdir/devtools/check-abi.sh $abirefdir/$targetdir \
> + $(readlink -f $builds_dir/$targetdir/install) >&$veryverbose
> $srcdir/devtools/check-abi.sh $abirefdir/$targetdir \
> - $(readlink -f $builds_dir/$targetdir/install)
> + $(readlink -f $builds_dir/$targetdir/install) >&$verbose
> fi
> }
>
>
next prev parent reply other threads:[~2020-12-08 15:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-07 17:32 Thomas Monjalon
2020-12-08 15:22 ` Kinsella, Ray [this message]
2020-12-08 15:32 ` Thomas Monjalon
2020-12-08 15:31 ` David Marchand
2020-12-17 9:05 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
2021-01-13 9:21 ` Thomas Monjalon
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=477b7775-0a3e-080b-3158-bc8fbae95c81@ashroe.eu \
--to=mdr@ashroe.eu \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=nhorman@tuxdriver.com \
--cc=thomas@monjalon.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).