Hash :
7069a8b3
Author :
Date :
2011-01-18T22:58:18
tests: work around Tru64 sh -e issues for instspc*.test. Apparently, Tru64 sh does not like turning off errexit mode, and gets confused. * tests/defs: Document 'errexit' cleanliness requirement. * tests/defs-static.in: Likewise. Avoid error from command substitution to abort instspc*.test with Tru64/OSF 5.1 sh. * tests/instspc-tests.sh: Drop now-unneeded temporary errexit dropping. Add strategic '|| Exit' to let tests work on Tru64. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
# -*- shell-script -*-
# @configure_input@
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
# Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Defines and minimal setup for Automake testing environment.
# Multiple inclusions of this file should be idempotent!
# This code needs to be 'set -e' clean.
# Be more Bourne compatible.
# (Snippet inspired to configure's initialization in Autoconf 2.64)
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
# If Zsh is not started directly in Bourne-compatibility mode, it has
# some incompatibilities in the handling of `$0' that conflict with
# our usage: i.e., `$0' inside a file sourced with the `.' builtin is
# temporarily set to the name of the sourced file.
# Work around this when possible, otherwise abort the script.
# Note that a bug in some versions of Zsh prevents us from resetting $0
# in a sourced script, so the use of $argv0. For more info see:
# <http://www.zsh.org/mla/workers/2009/msg01140.html>
# Note: the apparently useless 'eval' below are needed by at least
# dash 0.5.2, to prevent it from bailing out with an error like
# "Syntax error: Bad substitution"
if eval '[[ "$0" = *."test" ]]'; then
# Good, FUNCTION_ARGZERO option was already off when this file was
# sourced. Thus we've nothing to do.
argv0=$0
elif eval 'test -n "${functrace[-1]}"'; then
# FUNCTION_ARGZERO option was on, but we have a easy workaround.
eval 'argv0=${functrace[-1]%:*}'
else
# Give up.
echo "$0: cannot determine the path of running test script" >&2
echo "$0: test was running with Zsh version $ZSH_VERSION" >&2
echo "$0: did you enable the NO_FUNCTION_ARGZERO option?" >&2
exit 99
fi
else
argv0=$0
# Avoid command substitution failure, for Tru64 sh -e and instspc*.test.
case `(set -o) 2>/dev/null || :` in *posix*) set -o posix;; esac
fi
testsrcdir='@abs_srcdir@'
top_testsrcdir='@abs_top_srcdir@'
testbuilddir='@abs_builddir@'
testprefix='@prefix@'
APIVERSION='@APIVERSION@'
PATH_SEPARATOR='@PATH_SEPARATOR@'
# Make sure we override the user shell.
SHELL='@SHELL@'; export SHELL
# User can override various tools used.
test -z "$PERL" && PERL='@PERL@'
test -z "$MAKE" && MAKE=make
test -z "$AUTOCONF" && AUTOCONF="@am_AUTOCONF@"
test -z "$AUTOHEADER" && AUTOHEADER="@am_AUTOHEADER@"
test -z "$AUTOUPDATE" && AUTOUPDATE=autoupdate
test -z "$MISSING" && MISSING=$top_testsrcdir/lib/missing
# Use -Werror because this also turns some Perl warnings into error.
# Tests for which this is inappropriate should use -Wno-error.
# Tests who want complete control over aclocal command-line options
# should use $original_ACLOCAL.
# Note: the first `test -z' conditional below is to ensure defs-static
# really remains idempotent.
if test -z "$original_ACLOCAL"; then
original_ACLOCAL=${ACLOCAL-"aclocal-$APIVERSION"}
fi
test -z "$ACLOCAL" && ACLOCAL="aclocal-$APIVERSION -Werror"
# Extra flags to pass to aclocal before all other flags added by this script.
ACLOCAL_TESTSUITE_FLAGS=''; export ACLOCAL_TESTSUITE_FLAGS
# See how Automake should be run. We put --foreign as the default
# strictness to avoid having to create lots and lots of files. A test
# can override this by specifying a different strictness. Use -Wall
# -Werror by default. Tests for which this is inappropriate (e.g. when
# testing that a warning is enabled by a specific switch) should use
# -Wnone or/and -Wno-error. Tests who want complete control over
# automake command-line options should use $original_AUTOMAKE.
# Note: the first `test -z' conditional below is to ensure defs-static
# really remains idempotent.
if test -z "$original_AUTOMAKE"; then
original_AUTOMAKE=${AUTOMAKE-"automake-$APIVERSION"}
fi
test -z "$AUTOMAKE" && AUTOMAKE="automake-$APIVERSION --foreign -Werror -Wall"
# POSIX no longer requires 'egrep' and 'fgrep',
# but some hosts lack 'grep -E' and 'grep -F'.
EGREP='@EGREP@'
FGREP='@FGREP@'
# No all versions of Tex support `--version', so we use a configure
# check to decide if tex is available. This decision is embodied in
# this variable.
TEX='@TEX@'
# Whether /bin/sh has working 'set -e' with exit trap.
sh_errexit_works='@sh_errexit_works@'
# The amount we should wait after modifying files depends on the platform.
# For instance, Windows '95, '98 and ME have 2-second granularity
# and can be up to 3 seconds in the future w.r.t. the system clock.
sleep='sleep @MODIFICATION_DELAY@'
# An old timestamp that can be given to a file, in "touch -t" format.
# The time stamp should be portable to all file systems of interest.
# Just for fun, choose the exact time of the announcement of the GNU project
# in UTC; see <http://www.gnu.org/gnu/initial-announcement.html>.
old_timestamp=198309271735.59
# Make our wrapper scripts accessible by default. And avoid to uselessly
# extend $PATH multiple times if this file is sourced multiple times.
case $PATH in
"$testbuilddir$PATH_SEPARATOR"*) ;;
*) PATH="$testbuilddir$PATH_SEPARATOR$PATH";;
esac
export PATH