diff options
Diffstat (limited to 'tests/foreign.at')
-rw-r--r-- | tests/foreign.at | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/tests/foreign.at b/tests/foreign.at new file mode 100644 index 0000000..7823007 --- /dev/null +++ b/tests/foreign.at @@ -0,0 +1,140 @@ +# -*- Autotest -*- + +AT_BANNER([Compatibility with other tools.]) + +# Copyright (C) 2000-2007, 2009-2012 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 3 of the License, 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/>. + + +## --------- ## +## Libtool. ## +## --------- ## + +AT_SETUP([Libtool]) + +# Skip this test if there is no libtoolize. +AT_CHECK([libtoolize --version || exit 77], + [ignore], [ignore], [ignore]) +# Modern Libtool has further tests for compatibility with older autoconf; +# from the Autoconf side, we will merely assume newer libtool. +AT_CHECK([[ +case `libtoolize --version | + sed -n '/^.* \([0-9][0-9.a-z]*\)$/{ + s//\1/ + p + q + }'` in + 0.* ) exit 77;; + 1.* ) exit 77;; +esac]], + [ignore], [ignore], [ignore]) + +# Using a configure.ac, have libtoolize confess where libtool.m4 is. +AT_DATA([configure.ac], +[[AC_INIT +# State that we explicitly want auxiliary files here, so libtoolize +# won't pollute files outside the test directory. +AC_CONFIG_AUX_DIR([.]) +AC_PROG_LIBTOOL +]]) +AT_CHECK([libtoolize -i], [0], [stdout], [ignore]) + +# Some broken libtoolize fail to install a functional config.guess. +AT_CHECK([./config.guess || exit 77], [], [ignore], [ignore]) + +# Make sure at-path contains something valid, and let the test suite +# display it when verbose. And fail, skipping would too easily hide +# problems. +AT_CHECK([sed -n ["s,^.*\`\\(/[^']*\\)'.*,\\1,p"] stdout], [0], [stdout]) +AT_CHECK([test -f "`sed -n 1p stdout`"]) + +# Older libtoolize installed everything but install-sh... +AT_CHECK([test -f install-sh || touch install-sh]) + +# Build the concatenation of libtool.m4 and configure.ac. +AT_CHECK([[sed 's/.*/m4''_include([&])/' stdout]], [0], [stdout]) +AT_CHECK([mv stdout aclocal.m4]) +cat >configure.ac <<_EOF +AC_INIT +AC_CONFIG_AUX_DIR([.]) +AC_CANONICAL_SYSTEM +AC_PROG_LIBTOOL +_EOF + +# FIXME: Once Libtool really fixed, stop ignoring stderr. +AT_CHECK_AUTOCONF([], [], [], [ignore]) + +# Ignore stderr, because ltconfig always loads the cache, which is +# /dev/null, and some shells choke on this. For instance with Bash +# 2.05, you get: +# +# loading cache /dev/null within ltconfig +# ./ltconfig: .: /dev/null: not a regular file +# +# But the script executes properly. +AT_CHECK_CONFIGURE([], [], [], [ignore]) + +AT_CLEANUP + + +AT_SETUP([shtool]) + +AT_DATA([configure.ac], +[[AC_INIT([shtool test], [1.0]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_PATH_PROG([SHTOOL], [shtool], [false]) +AC_PROG_INSTALL +AC_SUBST([ac_install_sh]) +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.in], +[[SHTOOL = @SHTOOL@ +# fake these, so that we use shtool wherever possible. +INSTALL_PROGRAM = $(ac_install_sh) +INSTALL_DATA = $(ac_install_sh) -m 644 +prefix = @prefix@ +ac_install_sh = @ac_install_sh@ + +install: + $(INSTALL_PROGRAM) file1 $(prefix)/file1 + $(INSTALL_DATA) file2 $(prefix)/file2 + +copy-shtool: + test '$(SHTOOL)' != false + cp '$(SHTOOL)' build-aux +]]) + +: >file1 +: >file2 +chmod +x file1 +: "${MAKE=make}" +mkdir build-aux inst +instdir=`pwd`/inst +AT_CHECK_AUTOCONF +cp "$abs_top_srcdir/build-aux/install-sh" build-aux +AT_CHECK_CONFIGURE +AT_CHECK([$MAKE copy-shtool], [], [ignore], [ignore], + [AT_CHECK([: >build-aux/shtool])]) +rm -f build-aux/install-sh +AT_CHECK_CONFIGURE([--prefix="$instdir" ac_cv_path_SHTOOL=false]) +AT_CHECK([grep '^ac_install_sh = .*shtool install -c' Makefile], [], [ignore]) +if test -s build-aux/shtool; then + AT_CHECK([$MAKE install], [], [ignore], [ignore]) + AT_CHECK([test -f inst/file1 && test -f inst/file2 && test -x inst/file1]) +fi + +AT_CLEANUP |