Compress-Zstd

 view release on metacpan or  search on metacpan

ext/zstd/tests/gzip/init.sh  view on Meta::CPAN


  # Search for a shell that meets our requirements.
  for re_shell_ in __current__ "${CONFIG_SHELL:-no_shell}" \
      /bin/sh bash dash zsh pdksh fail
  do
    test "$re_shell_" = no_shell && continue

    # If we've made it all the way to the sentinel, "fail" without
    # finding even a marginal shell, skip this test.
    if test "$re_shell_" = fail; then
      test -z "$marginal_" && skip_ failed to find an adequate shell
      re_shell_=$marginal_
      break
    fi

    # When testing the current shell, simply "eval" the test code.
    # Otherwise, run it via $re_shell_ -c ...
    if test "$re_shell_" = __current__; then
      # 'eval'ing this code makes Solaris 10's /bin/sh exit with
      # $? set to 2.  It does not evaluate any of the code after the
      # "unexpected" first '('.  Thus, we must run it in a subshell.
      ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1
    else
      "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null
    fi

    st_=$?

    # $re_shell_ works just fine.  Use it.
    if test $st_ = 10; then
      gl_set_x_corrupts_stderr_=false
      break
    fi

    # If this is our first marginally acceptable shell, remember it.
    if test "$st_:$marginal_" = 9: ; then
      marginal_="$re_shell_"
      gl_set_x_corrupts_stderr_=true
    fi
  done

  if test "$re_shell_" != __current__; then
    # Found a usable shell.  Preserve -v and -x.
    case $- in
      *v*x* | *x*v*) opts_=-vx ;;
      *v*) opts_=-v ;;
      *x*) opts_=-x ;;
      *) opts_= ;;
    esac
    re_shell=$re_shell_
    export re_shell
    exec "$re_shell_" $opts_ "$0" --no-reexec "$@"
    echo "$ME_: exec failed" 1>&2
    exit 127
  fi
fi

# If this is bash, turn off all aliases.
test -n "$BASH_VERSION" && unalias -a

# Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to
# PROG_NAME.exe), we want to support hyphen-containing names like test-acos.
# That is part of the shell-selection test above.  Why use aliases rather
# than functions?  Because support for hyphen-containing aliases is more
# widespread than that for hyphen-containing function names.
test -n "$EXEEXT" && shopt -s expand_aliases

# Enable glibc's malloc-perturbing option.
# This is useful for exposing code that depends on the fact that
# malloc-related functions often return memory that is mostly zeroed.
# If you have the time and cycles, use valgrind to do an even better job.
: ${MALLOC_PERTURB_=87}
export MALLOC_PERTURB_

# This is a stub function that is run upon trap (upon regular exit and
# interrupt).  Override it with a per-test function, e.g., to unmount
# a partition, or to undo any other global state changes.
cleanup_ () { :; }

# Emit a header similar to that from diff -u;  Print the simulated "diff"
# command so that the order of arguments is clear.  Don't bother with @@ lines.
emit_diff_u_header_ ()
{
  printf '%s\n' "diff -u $*" \
    "--- $1	1970-01-01" \
    "+++ $2	1970-01-01"
}

# Arrange not to let diff or cmp operate on /dev/null,
# since on some systems (at least OSF/1 5.1), that doesn't work.
# When there are not two arguments, or no argument is /dev/null, return 2.
# When one argument is /dev/null and the other is not empty,
# cat the nonempty file to stderr and return 1.
# Otherwise, return 0.
compare_dev_null_ ()
{
  test $# = 2 || return 2

  if test "x$1" = x/dev/null; then
    test -s "$2" || return 0
    emit_diff_u_header_ "$@"; sed 's/^/+/' "$2"
    return 1
  fi

  if test "x$2" = x/dev/null; then
    test -s "$1" || return 0
    emit_diff_u_header_ "$@"; sed 's/^/-/' "$1"
    return 1
  fi

  return 2
}

if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \
   && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then
  # diff accepts the -u option and does not (like AIX 7 'diff') produce an
  # extra space on column 1 of every content line.
  if test -z "$diff_out_"; then
    compare_ () { diff -u "$@"; }
  else
    compare_ ()



( run in 0.755 second using v1.01-cache-2.11-cpan-39bf76dae61 )