[1/1] devtools: rename build test verbosity variables
Checks
Commit Message
For consistency with other variables which can be set from the env,
TEST_MESON_BUILD_VERBOSE and TEST_MESON_BUILD_VERY_VERBOSE
are renamed
DPDK_BUILD_TEST_VERBOSE and DPDK_BUILD_TEST_VERY_VERBOSE.
The handling of the verbosity level is also moved upper in the script,
closer to other initializations.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
devtools/test-meson-builds.sh | 36 +++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
Comments
On Thu, Nov 12, 2020 at 05:39:01PM +0100, Thomas Monjalon wrote:
> For consistency with other variables which can be set from the env,
> TEST_MESON_BUILD_VERBOSE and TEST_MESON_BUILD_VERY_VERBOSE
> are renamed
> DPDK_BUILD_TEST_VERBOSE and DPDK_BUILD_TEST_VERY_VERBOSE.
>
> The handling of the verbosity level is also moved upper in the script,
> closer to other initializations.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
No objection to increased consistency.
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
On Thu, Nov 12, 2020 at 5:39 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> For consistency with other variables which can be set from the env,
> TEST_MESON_BUILD_VERBOSE and TEST_MESON_BUILD_VERY_VERBOSE
> are renamed
> DPDK_BUILD_TEST_VERBOSE and DPDK_BUILD_TEST_VERY_VERBOSE.
It seems a bit odd to take inputs from both the script parameters and
the env to control something.
Those TEST_MESON_BUILD* vars seem internal stuff that should not be exposed.
16/11/2020 15:27, David Marchand:
> On Thu, Nov 12, 2020 at 5:39 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > For consistency with other variables which can be set from the env,
> > TEST_MESON_BUILD_VERBOSE and TEST_MESON_BUILD_VERY_VERBOSE
> > are renamed
> > DPDK_BUILD_TEST_VERBOSE and DPDK_BUILD_TEST_VERY_VERBOSE.
>
> It seems a bit odd to take inputs from both the script parameters and
> the env to control something.
> Those TEST_MESON_BUILD* vars seem internal stuff that should not be exposed.
I have the same opinion.
I cannot find a good reason for controlling verbosity
with environment variables instead of parameters.
Bruce is there a reason we are missing?
See the commit 4bcb9b7686043f:
"
When running ninja, the commands are, by default, always printed on top of
each other. For those who want more detail in the output, two levels of
verbose output has been added to the test-meson-builds script. When "-v" is
passed, or the "TEST_MESON_BUILD_VERBOSE" flag is set in the environment,
then the output of ninja is passed through "cat" to prevent each line
overwriting the next. If "-vv" is passed, or
"TEST_MESON_BUILD_VERY_VERBOSE" is set in the environment, then ninja is
called with the "-v" flag to print out each command in full as it is
executing.
"
On Mon, Nov 16, 2020 at 03:44:33PM +0100, Thomas Monjalon wrote:
> 16/11/2020 15:27, David Marchand:
> > On Thu, Nov 12, 2020 at 5:39 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> > >
> > > For consistency with other variables which can be set from the env,
> > > TEST_MESON_BUILD_VERBOSE and TEST_MESON_BUILD_VERY_VERBOSE
> > > are renamed
> > > DPDK_BUILD_TEST_VERBOSE and DPDK_BUILD_TEST_VERY_VERBOSE.
> >
> > It seems a bit odd to take inputs from both the script parameters and
> > the env to control something.
> > Those TEST_MESON_BUILD* vars seem internal stuff that should not be exposed.
>
> I have the same opinion.
> I cannot find a good reason for controlling verbosity
> with environment variables instead of parameters.
>
> Bruce is there a reason we are missing?
>
> See the commit 4bcb9b7686043f:
> "
> When running ninja, the commands are, by default, always printed on top of
> each other. For those who want more detail in the output, two levels of
> verbose output has been added to the test-meson-builds script. When "-v" is
> passed, or the "TEST_MESON_BUILD_VERBOSE" flag is set in the environment,
> then the output of ninja is passed through "cat" to prevent each line
> overwriting the next. If "-vv" is passed, or
> "TEST_MESON_BUILD_VERY_VERBOSE" is set in the environment, then ninja is
> called with the "-v" flag to print out each command in full as it is
> executing.
> "
No particular reason, it was just that many other things seemed to be
controlled by env variables (or read from config into environment), so I
added that as an option too. Feel free to just drop it in favour of the
flags if you like.
/Bruce
@@ -43,6 +43,22 @@ default_cflags=$CFLAGS
default_ldflags=$LDFLAGS
default_meson_options=$DPDK_MESON_OPTIONS
+if [ "$1" = "-vv" ] ; then
+ DPDK_BUILD_TEST_VERY_VERBOSE=1
+ DPDK_BUILD_TEST_VERBOSE=1
+elif [ "$1" = "-v" ] ; then
+ DPDK_BUILD_TEST_VERBOSE=1
+fi
+# we can't use plain verbose when we don't have pipefail option so up-level
+if [ -z "$PIPEFAIL" -a -n "$DPDK_BUILD_TEST_VERBOSE" ] ; then
+ echo "# Missing pipefail shell option, changing VERBOSE to VERY_VERBOSE"
+ DPDK_BUILD_TEST_VERY_VERBOSE=1
+fi
+[ -n "$DPDK_BUILD_TEST_VERBOSE" ] && exec 8>&1 || exec 8>/dev/null
+verbose=8
+[ -n "$DPDK_BUILD_TEST_VERY_VERBOSE" ] && exec 9>&1 || exec 9>/dev/null
+veryverbose=9
+
check_cc_flags () # <flag to check> <flag2> ...
{
echo 'int main(void) { return 0; }' |
@@ -108,11 +124,11 @@ config () # <dir> <builddir> <meson options>
compile () # <builddir>
{
builddir=$1
- if [ -n "$TEST_MESON_BUILD_VERY_VERBOSE" ] ; then
+ if [ -n "$DPDK_BUILD_TEST_VERY_VERBOSE" ] ; then
# for full output from ninja use "-v"
echo "$ninja_cmd -v -C $builddir"
$ninja_cmd -v -C $builddir
- elif [ -n "$TEST_MESON_BUILD_VERBOSE" ] ; then
+ elif [ -n "$DPDK_BUILD_TEST_VERBOSE" ] ; then
# for keeping the history of short cmds, pipe through cat
echo "$ninja_cmd -C $builddir | cat"
$ninja_cmd -C $builddir | cat
@@ -180,22 +196,6 @@ build () # <directory> <target compiler | cross file> <meson options>
fi
}
-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
-# we can't use plain verbose when we don't have pipefail option so up-level
-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
command -v $c >/dev/null 2>&1 || continue