bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#10423: problem with "make check" coreutils-8.14 after build on AIX (


From: Jim Meyering
Subject: bug#10423: problem with "make check" coreutils-8.14 after build on AIX (v5.3, xlc v7, ksh as default shell)
Date: Mon, 02 Jan 2012 21:32:37 +0100

Paul Eggert wrote:
> On 01/02/12 11:39, Michael Felt wrote:
>> Running with VERBOSE=yes, however, I do not see a big difference with the 
>> output
>
> Weird.

VERBOSE=yes is disabled via init.sh when the selected shell mishandles
"set -x" so badly that its output would induce test failures.
When that happens, you should see a diagnostic something like this:

      warn_ "using SHELL=/bin/sh with 'set -x' corrupts stderr"

Here are the relevant parts of init.sh:

# The "...set -x; P=1 true 2>err..." test is to disqualify any shell that
# emits "P=1" into err, as /bin/sh from SunOS 5.11 and OpenBSD 4.7 do.
#
# Use "9" to indicate success (rather than 0), in case some shell acts
# like Solaris 10's /bin/sh but exits successfully instead of with status 2.

# Eval this code in a subshell to determine a shell's suitability.
# 10 - passes all tests; ok to use
#  9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score
#  ? - not ok
gl_shell_test_script_='
test $(echo y) = y || exit 1
score_=10
if test "$VERBOSE" = yes; then
  test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9
fi
test -z "$EXEEXT" && exit $score_
shopt -s expand_aliases
alias a-b="echo zoo"
v=abx
     test ${v%x} = ab \
  && test ${v#a} = bx \
  && test $(a-b) = zoo \
  && exit $score_
'
...

  if test "$VERBOSE" = yes; then
    # Test whether set -x may cause the selected shell to corrupt an
    # application's stderr.  Many do, including zsh-4.3.10 and the /bin/sh
    # from SunOS 5.11, OpenBSD 4.7 and Irix 5.x and 6.5.
    # If enabling verbose output this way would cause trouble, simply
    # issue a warning and refrain.
    if $gl_set_x_corrupts_stderr_; then
      warn_ "using SHELL=$SHELL with 'set -x' corrupts stderr"
    else
      set -x
    fi
  fi





reply via email to

[Prev in Thread] Current Thread [Next in Thread]