DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: david.marchand@redhat.com, bruce.richardson@intel.com,
	Ray Kinsella <mdr@ashroe.eu>, Neil Horman <nhorman@tuxdriver.com>
Subject: [dpdk-dev] [PATCH 1/1] devtools: adjust verbosity of ABI check
Date: Mon,  7 Dec 2020 18:32:35 +0100	[thread overview]
Message-ID: <20201207173235.1397351-1-thomas@monjalon.net> (raw)

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.

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
 }
 
-- 
2.29.2


             reply	other threads:[~2020-12-07 17:33 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-07 17:32 Thomas Monjalon [this message]
2020-12-08 15:22 ` Kinsella, Ray
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=20201207173235.1397351-1-thomas@monjalon.net \
    --to=thomas@monjalon.net \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=mdr@ashroe.eu \
    --cc=nhorman@tuxdriver.com \
    /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).