DPDK patches and discussions
 help / color / mirror / Atom feed
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
>  }
>  
> 

  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).