diff mbox series

[1/1] devtools: reduce build test verbosity

Message ID 20201106172854.237384-1-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers show
Series [1/1] devtools: reduce build test verbosity | expand

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed
ci/checkpatch success coding style OK

Commit Message

Thomas Monjalon Nov. 6, 2020, 5:28 p.m. UTC
The default verbosity of test-meson-builds.sh is to be quiet.
In order to better apply the verbosity policy, some file descriptors
are open to redirect to stdout or /dev/null accordingly.

The target variable and meson/ninja commands are printed in verbose modes.
The installation commands are printed only in very verbose mode.
The examples build commands are printed only in very verbose mode.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 devtools/test-meson-builds.sh | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

Comments

David Marchand Nov. 12, 2020, 1:04 p.m. UTC | #1
On Fri, Nov 6, 2020 at 6:29 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> The default verbosity of test-meson-builds.sh is to be quiet.
> In order to better apply the verbosity policy, some file descriptors
> are open to redirect to stdout or /dev/null accordingly.
>
> The target variable and meson/ninja commands are printed in verbose modes.
> The installation commands are printed only in very verbose mode.
> The examples build commands are printed only in very verbose mode.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>  devtools/test-meson-builds.sh | 22 +++++++++++-----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index 0c95d1cc98..469251b6ef 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -65,7 +65,7 @@ load_env () # <target compiler>
>         else # toolchain not yet in PATH: its name should be enough
>                 DPDK_TARGET=$targetcc
>         fi
> -       echo "Using DPDK_TARGET $DPDK_TARGET"
> +       echo "Using DPDK_TARGET $DPDK_TARGET" >&$verbose
>         # config input: $DPDK_TARGET
>         . $srcdir/devtools/load-devel-config
>         # config output: $DPDK_MESON_OPTIONS, $PATH, $PKG_CONFIG_PATH, etc
> @@ -99,7 +99,7 @@ config () # <dir> <builddir> <meson options>
>                 options="$options -D$option"
>         done
>         options="$options $*"
> -       echo "$MESON $options $dir $builddir"
> +       echo "$MESON $options $dir $builddir" >&$verbose
>         $MESON $options $dir $builddir
>  }
>
> @@ -115,7 +115,6 @@ compile () # <builddir>
>                 echo "$ninja_cmd -C $builddir | cat"
>                 $ninja_cmd -C $builddir | cat
>         else
> -               echo "$ninja_cmd -C $builddir"
>                 $ninja_cmd -C $builddir
>         fi
>  }
> @@ -123,13 +122,8 @@ compile () # <builddir>
>  install_target () # <builddir> <installdir>
>  {
>         rm -rf $2
> -       if [ -n "$TEST_MESON_BUILD_VERY_VERBOSE$TEST_MESON_BUILD_VERBOSE" ]; then
> -               echo "DESTDIR=$2 $ninja_cmd -C $1 install"
> -               DESTDIR=$2 $ninja_cmd -C $1 install
> -       else
> -               echo "DESTDIR=$2 $ninja_cmd -C $1 install >/dev/null"
> -               DESTDIR=$2 $ninja_cmd -C $1 install >/dev/null
> -       fi
> +       echo "DESTDIR=$2 $ninja_cmd -C $1 install" >&$verbose
> +       DESTDIR=$2 $ninja_cmd -C $1 install >&$veryverbose
>  }
>
>  build () # <directory> <target compiler | cross file> <meson options>
> @@ -186,6 +180,7 @@ build () # <directory> <target compiler | cross file> <meson options>
>
>  if [ "$1" = "-vv" ] ; then
>         TEST_MESON_BUILD_VERY_VERBOSE=1
> +       TEST_MESON_BUILD_VERBOSE=1
>  elif [ "$1" = "-v" ] ; then
>         TEST_MESON_BUILD_VERBOSE=1
>  fi
> @@ -194,6 +189,10 @@ if [ -z "$PIPEFAIL" -a -n "$TEST_MESON_BUILD_VERBOSE" ] ; then
>         echo "# Missing pipefail shell option, changing VERBOSE to VERY_VERBOSE"
>         TEST_MESON_BUILD_VERY_VERBOSE=1
>  fi
> +[ -n "$TEST_MESON_BUILD_VERBOSE" ] && exec 8>&1 || exec 8>/dev/null
> +verbose=8
> +[ -n "$TEST_MESON_BUILD_VERY_VERBOSE" ] && exec 9>&1 || exec 9>/dev/null
> +veryverbose=9
>
>  # shared and static linked builds with gcc and clang
>  for c in gcc clang ; do
> @@ -270,6 +269,7 @@ if pkg-config --define-prefix libdpdk >/dev/null 2>&1; then
>         export PKGCONF="pkg-config --define-prefix"
>         for example in cmdline helloworld l2fwd l3fwd skeleton timer; do
>                 echo "## Building $example"
> -               $MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example clean shared static
> +               $MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example \
> +                       clean shared static >&$veryverbose
>         done
>  fi
> --
> 2.28.0
>

Acked-by: David Marchand <david.marchand@redhat.com>
Bruce Richardson Nov. 12, 2020, 1:08 p.m. UTC | #2
On Fri, Nov 06, 2020 at 06:28:54PM +0100, Thomas Monjalon wrote:
> The default verbosity of test-meson-builds.sh is to be quiet.
> In order to better apply the verbosity policy, some file descriptors
> are open to redirect to stdout or /dev/null accordingly.
> 
> The target variable and meson/ninja commands are printed in verbose modes.
> The installation commands are printed only in very verbose mode.
> The examples build commands are printed only in very verbose mode.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Thomas Monjalon Nov. 12, 2020, 2:31 p.m. UTC | #3
12/11/2020 14:08, Bruce Richardson:
> On Fri, Nov 06, 2020 at 06:28:54PM +0100, Thomas Monjalon wrote:
> > The default verbosity of test-meson-builds.sh is to be quiet.
> > In order to better apply the verbosity policy, some file descriptors
> > are open to redirect to stdout or /dev/null accordingly.
> > 
> > The target variable and meson/ninja commands are printed in verbose modes.
> > The installation commands are printed only in very verbose mode.
> > The examples build commands are printed only in very verbose mode.
> > 
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>

Applied
diff mbox series

Patch

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 0c95d1cc98..469251b6ef 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -65,7 +65,7 @@  load_env () # <target compiler>
 	else # toolchain not yet in PATH: its name should be enough
 		DPDK_TARGET=$targetcc
 	fi
-	echo "Using DPDK_TARGET $DPDK_TARGET"
+	echo "Using DPDK_TARGET $DPDK_TARGET" >&$verbose
 	# config input: $DPDK_TARGET
 	. $srcdir/devtools/load-devel-config
 	# config output: $DPDK_MESON_OPTIONS, $PATH, $PKG_CONFIG_PATH, etc
@@ -99,7 +99,7 @@  config () # <dir> <builddir> <meson options>
 		options="$options -D$option"
 	done
 	options="$options $*"
-	echo "$MESON $options $dir $builddir"
+	echo "$MESON $options $dir $builddir" >&$verbose
 	$MESON $options $dir $builddir
 }
 
@@ -115,7 +115,6 @@  compile () # <builddir>
 		echo "$ninja_cmd -C $builddir | cat"
 		$ninja_cmd -C $builddir | cat
 	else
-		echo "$ninja_cmd -C $builddir"
 		$ninja_cmd -C $builddir
 	fi
 }
@@ -123,13 +122,8 @@  compile () # <builddir>
 install_target () # <builddir> <installdir>
 {
 	rm -rf $2
-	if [ -n "$TEST_MESON_BUILD_VERY_VERBOSE$TEST_MESON_BUILD_VERBOSE" ]; then
-		echo "DESTDIR=$2 $ninja_cmd -C $1 install"
-		DESTDIR=$2 $ninja_cmd -C $1 install
-	else
-		echo "DESTDIR=$2 $ninja_cmd -C $1 install >/dev/null"
-		DESTDIR=$2 $ninja_cmd -C $1 install >/dev/null
-	fi
+	echo "DESTDIR=$2 $ninja_cmd -C $1 install" >&$verbose
+	DESTDIR=$2 $ninja_cmd -C $1 install >&$veryverbose
 }
 
 build () # <directory> <target compiler | cross file> <meson options>
@@ -186,6 +180,7 @@  build () # <directory> <target compiler | cross file> <meson options>
 
 if [ "$1" = "-vv" ] ; then
 	TEST_MESON_BUILD_VERY_VERBOSE=1
+	TEST_MESON_BUILD_VERBOSE=1
 elif [ "$1" = "-v" ] ; then
 	TEST_MESON_BUILD_VERBOSE=1
 fi
@@ -194,6 +189,10 @@  if [ -z "$PIPEFAIL" -a -n "$TEST_MESON_BUILD_VERBOSE" ] ; then
 	echo "# Missing pipefail shell option, changing VERBOSE to VERY_VERBOSE"
 	TEST_MESON_BUILD_VERY_VERBOSE=1
 fi
+[ -n "$TEST_MESON_BUILD_VERBOSE" ] && exec 8>&1 || exec 8>/dev/null
+verbose=8
+[ -n "$TEST_MESON_BUILD_VERY_VERBOSE" ] && exec 9>&1 || exec 9>/dev/null
+veryverbose=9
 
 # shared and static linked builds with gcc and clang
 for c in gcc clang ; do
@@ -270,6 +269,7 @@  if pkg-config --define-prefix libdpdk >/dev/null 2>&1; then
 	export PKGCONF="pkg-config --define-prefix"
 	for example in cmdline helloworld l2fwd l3fwd skeleton timer; do
 		echo "## Building $example"
-		$MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example clean shared static
+		$MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example \
+			clean shared static >&$veryverbose
 	done
 fi