From 8e02441b00db75f21455edc92191e64cab19b031 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Fri, 6 Apr 2012 15:20:54 +0200 Subject: maint: no more make recursion in Automake's build system We finally merge testsuite-related part of the Automake build system with the top-level one. See also yesterday's commit 'v1.11-2124-ga4b0f4b', "maint: remove most recursion in automake's own build system". * t/gen-testsuite-part: Move ... * gen-testsuite-part: ... here, with required adjustments. * t/defs-static.in: Move ... * defs-static.in: ... here, with required adjustments. In particular ... ($testsrcdir, $testbuilddir): Removed. ($top_testsrcdir): Renamed ... ($am_top_srcdir): ... to this. ($top_testbuilddir): Renamed ... ($am_top_builddir): ... to this. * t/defs: Move ... * defs: ... here, and adjust as required. * t/Makefile.am: Merge ... * Makefile.am: ... in here, with related adjustments and simplifications. * bootstrap: Adjust as required. * syntax-checks.mk: Likewise. * .gitignore: Likewise. * t/ax/tap-setup.sh: Likewise. * t/get-sysconf.sh: Likewise. * t/help-multilib.sh: Likewise. * t/multlib.sh: Likewise. * t/parallel-tests2.sh: Likewise. * t/self-check-cleanup.tap: Likewise. * t/self-check-exit.tap: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-explicit-skips.sh: Likewise. * t/self-check-reexec.tap: Likewise. * t/self-check-sanity.sh: Likewise. * t/yacc-d-cxx.sh: Likewise. Signed-off-by: Stefano Lattarini --- .gitignore | 5 +- Makefile.am | 199 +++- bootstrap | 8 +- configure.ac | 6 +- defs | 1106 ++++++++++++++++++ defs-static.in | 244 ++++ gen-testsuite-part | 415 +++++++ syntax-checks.mk | 12 +- t/Makefile.am | 194 ---- t/ax/tap-setup.sh | 2 +- t/defs | 1102 ------------------ t/defs-static.in | 246 ---- t/gen-testsuite-part | 414 ------- t/get-sysconf.sh | 14 +- t/help-multilib.sh | 2 +- t/list-of-tests.mk | 2470 ++++++++++++++++++++-------------------- t/multlib.sh | 2 +- t/parallel-tests2.sh | 2 +- t/self-check-cleanup.tap | 68 +- t/self-check-dir.tap | 14 +- t/self-check-exit.tap | 16 +- t/self-check-explicit-skips.sh | 8 +- t/self-check-reexec.tap | 14 +- t/self-check-sanity.sh | 25 +- t/yacc-d-cxx.sh | 3 +- 25 files changed, 3294 insertions(+), 3297 deletions(-) create mode 100644 defs create mode 100644 defs-static.in create mode 100755 gen-testsuite-part delete mode 100644 t/Makefile.am delete mode 100644 t/defs delete mode 100644 t/defs-static.in delete mode 100755 t/gen-testsuite-part diff --git a/.gitignore b/.gitignore index 247c462c4..78b7affb9 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,6 @@ /configure /Makefile.in /Makefile -/t/Makefile.in -/t/Makefile /.autom4te.cache /config.cache /config.log @@ -34,9 +32,10 @@ /doc/amhello/install-sh /doc/amhello/missing /lib/Automake/Config.pm +/test-suite.log /t/wrap/aclocal-1.* /t/wrap/automake-1.* -/t/defs-static +/defs-static /t/testsuite-part.am /t/*-w.tap /t/*-w.sh diff --git a/Makefile.am b/Makefile.am index c04db281f..5fa11e0e6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,10 +17,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -## '.' goes before 't', because this latter directory runs -## aclocal and automake. -SUBDIRS = . t - ## Might be updated later. CLEANFILES = DISTCLEANFILES = @@ -99,11 +95,6 @@ automake aclocal: Makefile INSTALL: lib/INSTALL $(AM_V_GEN)cp $(srcdir)/lib/INSTALL $@ -# Convenience proxy target for the test suites. -recheck: - $(am__cd) t && $(MAKE) $(AM_MAKEFLAGS) $@ -.PHONY: recheck - # We don't use the default name for the autom4te cache directory, # so we need this. maintainer-clean-local: @@ -150,7 +141,8 @@ install-data-hook: done; \ exit $$st ) -installcheck-local: +installcheck-local: installcheck-executable-scripts +installcheck-executable-scripts: @for f in $(dist_script_DATA); do echo $$f; done \ | sed 's,^lib/,,' \ | while read f; do \ @@ -317,6 +309,193 @@ $(top_srcdir)/m4/amversion.m4: $(srcdir)/configure.ac $(srcdir)/m4/amversion.in EXTRA_DIST += m4/amversion.in +## ------------ ## +## Testsuite. ## +## ------------ ## + +# Run the tests with the shell detected at configure time. +LOG_COMPILER = $(SHELL) + +TEST_EXTENSIONS = .pl .sh .tap +SH_LOG_COMPILER = $(LOG_COMPILER) +TAP_LOG_COMPILER = $(LOG_COMPILER) +PL_LOG_COMPILER = $(PERL) +AM_PL_LOG_FLAGS = -Mstrict -I $(builddir)/lib -I $(srcdir)/lib -w + +TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(srcdir)/lib/tap-driver.sh + +AM_TAP_LOG_DRIVER_FLAGS = --merge + +EXTRA_DIST += t/ax/is + +TESTS = ## Will be updated later. + +# Some testsuite-influential variables should be overridable from the +# test scripts, but not from the environment. +AM_TESTS_ENVIRONMENT = \ + for v in \ + me \ + required \ + am_using_tap \ + am_parallel_tests \ + am_test_prefer_config_shell \ + am_original_AUTOMAKE \ + am_original_ACLOCAL \ + ; do \ + eval test x"\$${$$v}" = x || unset $$v; \ + done; +# The 'AM_TESTS_REEXEC=no' setting tells the tests not to needlessly +# re-execute themselves with the shell detected at configure time, since +# we are already running them under it explicitly in our setup (see e.g. +# the definition of TEST_LOG_COMPILER above). +AM_TESTS_ENVIRONMENT += AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC; +# We want warning messages and explanations for skipped tests to go to +# the console if possible, so set up 'stderr_fileno_' properly. +AM_TESTS_FD_REDIRECT = 9>&2 +AM_TESTS_ENVIRONMENT += stderr_fileno_=9; export stderr_fileno_; + +# Hand-written tests. + +include $(srcdir)/t/list-of-tests.mk + +TESTS += $(handwritten_TESTS) +EXTRA_DIST += $(handwritten_TESTS) + +# Automatically-generated tests wrapping hand-written ones. +# Also, automatically-computed dependencies for tests. + +include $(srcdir)/t/testsuite-part.am + +TESTS += $(generated_TESTS) +EXTRA_DIST += $(generated_TESTS) + +$(srcdir)/t/testsuite-part.am: + $(AM_V_at)rm -f t/testsuite-part.tmp $@ + $(AM_V_GEN)$(PERL) $(srcdir)/gen-testsuite-part \ + --srcdir $(srcdir) > t/testsuite-part.tmp + $(AM_V_at)chmod a-w t/testsuite-part.tmp + $(AM_V_at)mv -f t/testsuite-part.tmp $@ +EXTRA_DIST += gen-testsuite-part + +$(generated_TESTS) $(srcdir)/t/testsuite-part.am: \ + $(srcdir)/gen-testsuite-part \ + t/list-of-tests.mk \ + Makefile.am \ + $(handwritten_TESTS) + +# Static dependencies valid for each test case. +check_SCRIPTS = t/wrap/aclocal-$(APIVERSION) t/wrap/automake-$(APIVERSION) +dist_check_DATA = t/ax/plain-functions.sh t/ax/tap-functions.sh +check_DATA = defs defs-static + +# Few more static dependencies. +t/distcheck-missing-m4.log: t/ax/distcheck-hook-m4.am +t/distcheck-outdated-m4.log: t/ax/distcheck-hook-m4.am +EXTRA_DIST += t/ax/distcheck-hook-m4.am + +# Keep in sync with AC_SUBST'd stuff in defs-static.in. +do_subst_t = sed \ + -e 's|@abs_srcdir[@]|$(abs_srcdir)|g' \ + -e 's|@abs_top_srcdir[@]|$(abs_top_srcdir)|g' \ + -e 's|@abs_builddir[@]|$(abs_builddir)|g' \ + -e 's|@abs_top_builddir[@]|$(abs_top_builddir)|g' \ + -e 's|@prefix[@]|$(prefix)|g' \ + -e 's|@amdir[@]|$(amdir)|g' \ + -e 's|@bindir[@]|$(bindir)|g' \ + -e 's|@datadir[@]|$(datadir)|g' \ + -e 's|@docdir[@]|$(docdir)|g' \ + -e 's|@automake_acdir[@]|$(automake_acdir)|g' \ + -e 's|@system_acdir[@]|$(system_acdir)|g' \ + -e 's|@scriptdir[@]|$(scriptdir)|g' \ + -e 's|@pkgvdatadir[@]|$(pkgvdatadir)|g' \ + -e 's|@host_alias[@]|$(host_alias)|g' \ + -e 's|@build_alias[@]|$(build_alias)|g' \ + -e 's|@APIVERSION[@]|$(APIVERSION)|g' \ + -e 's|@PATH_SEPARATOR[@]|$(PATH_SEPARATOR)|g' \ + -e 's|@SHELL[@]|$(SHELL)|g' \ + -e 's|@AWK[@]|$(AWK)|g' \ + -e 's|@PERL[@]|$(PERL)|g' \ + -e 's|@EGREP[@]|$(EGREP)|g' \ + -e 's|@FGREP[@]|$(FGREP)|g' \ + -e 's|@CPPFLAGS[@]|$(CPPFLAGS)|g' \ + -e 's|@CC[@]|$(CC)|g' \ + -e 's|@CFLAGS[@]|$(CFLAGS)|g' \ + -e 's|@CXX[@]|$(CXX)|g' \ + -e 's|@CXXFLAGS[@]|$(CXXFLAGS)|g' \ + -e 's|@F77[@]|$(F77)|g' \ + -e 's|@FFLAGS[@]|$(FFLAGS)|g' \ + -e 's|@FC[@]|$(FC)|g' \ + -e 's|@FCFLAGS[@]|$(FCFLAGS)|g' \ + -e 's|@GNU_CC[@]|$(GNU_CC)|g' \ + -e 's|@GNU_CFLAGS[@]|$(GNU_CFLAGS)|g' \ + -e 's|@GNU_CXX[@]|$(GNU_CXX)|g' \ + -e 's|@GNU_CXXFLAGS[@]|$(GNU_CXXFLAGS)|g' \ + -e 's|@GNU_F77[@]|$(GNU_F77)|g' \ + -e 's|@GNU_FFLAGS[@]|$(GNU_FFLAGS)|g' \ + -e 's|@GNU_FC[@]|$(GNU_FC)|g' \ + -e 's|@GNU_FCFLAGS[@]|$(GNU_FCFLAGS)|g' \ + -e 's|@GNU_GCJ[@]|$(GNU_GCJ)|g' \ + -e 's|@GNU_GCJFLAGS[@]|$(GNU_GCJFLAGS)|g' \ + -e 's|@YACC[@]|$(YACC)|g' \ + -e 's|@LEX[@]|$(LEX)|g' \ + -e 's|@TEX[@]|$(TEX)|g' \ + -e 's|@MODIFICATION_DELAY[@]|$(MODIFICATION_DELAY)|g' \ + -e 's|@am_AUTOCONF[@]|$(am_AUTOCONF)|g' \ + -e 's|@am_AUTOM4TE[@]|$(am_AUTOM4TE)|g' \ + -e 's|@am_AUTORECONF[@]|$(am_AUTORECONF)|g' \ + -e 's|@am_AUTOHEADER[@]|$(am_AUTOHEADER)|g' \ + -e 's|@am_AUTOUPDATE[@]|$(am_AUTOUPDATE)|g' \ + -e 's|@sh_errexit_works[@]|$(sh_errexit_works)|g' \ + -e 's|@configure_input[@]|Generated from $@.in. DO NOT EDIT BY HAND!|' + +defs-static: defs-static.in + $(AM_V_at)rm -f $@ $@-t + $(AM_V_GEN)$(do_subst_t) $(srcdir)/defs-static.in >$@-t + $(AM_V_at) : Sanity check on the substitutions; \ + if LC_ALL=C grep '@[a-zA-Z0-9_][a-zA-Z0-9_]*@' $@-t; then \ + echo "$@ contains unexpanded substitution (see lines above)"; \ + exit 1; \ + fi + $(AM_V_at)chmod a-w $@-t && mv -f $@-t $@ +EXTRA_DIST += defs-static.in +CLEANFILES += defs-static + +# If two test scripts have the same basename, they will end up sharing +# the same log file, leading to all sort of undefined and undesired +# behaviours. +check-no-repeated-test-name: + @LC_ALL=C; export LC_ALL; \ + lst='$(TEST_LOGS)'; for log in $$lst; do echo $$log; done \ + | sort | uniq -c | awk '($$1 > 1) { print }' \ + | sed 's/\.log$$//' | grep . >&2 \ + && { \ + echo $@: test names listed above are duplicated >&2; \ + exit 1; \ + }; : +check-local: check-no-repeated-test-name +.PHONY: check-no-repeated-test-name + +## Checking the list of tests. +test_subdirs = t t/pm +include $(srcdir)/t/CheckListOfTests.am + +# Run the testsuite with the installed aclocal and automake. +installcheck-local: installcheck-testsuite +installcheck-testsuite: + am_running_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check + +clean-local: clean-local-check +.PHONY: clean-local-check +clean-local-check: + -set x t/*.dir; shift; \ + if test "$$#,$$1" = "1,*.dir"; then \ + : there is no test directory to clean; \ + else \ + find "$$@" -type d ! -perm -700 -exec chmod u+rwx {} ';'; \ + rm -rf "$$@"; \ + fi; + + ## ---------------- ## ## Documentation. ## ## ---------------- ## diff --git a/bootstrap b/bootstrap index c6e9ca15f..814aedb51 100755 --- a/bootstrap +++ b/bootstrap @@ -103,11 +103,9 @@ dosubst m4/amversion.in m4/amversion.m4 dosubst automake.in automake.tmp # Create required makefile snippets. -cd t -$PERL ./gen-testsuite-part > testsuite-part.tmp -chmod a-w testsuite-part.tmp -mv -f testsuite-part.tmp testsuite-part.am -cd .. +$PERL ./gen-testsuite-part > t/testsuite-part.tmp +chmod a-w t/testsuite-part.tmp +mv -f t/testsuite-part.tmp t/testsuite-part.am # Run the autotools. # Use '-I' here so that our own *.m4 files in m4/ gets included, diff --git a/configure.ac b/configure.ac index 021d4ec03..b566220ee 100644 --- a/configure.ac +++ b/configure.ac @@ -395,9 +395,11 @@ AC_SUBST([EXEEXT]) ########################################################################### -AC_CONFIG_FILES([Makefile t/Makefile]) +AC_CONFIG_FILES([Makefile]) + AC_CONFIG_LINKS([GNUmakefile:GNUmakefile]) -AC_CONFIG_LINKS([t/defs:t/defs]) +AC_CONFIG_LINKS([defs:defs]) + AC_CONFIG_FILES([t/wrap/aclocal-${APIVERSION}:t/wrap/aclocal.in], [chmod +x t/wrap/aclocal-${APIVERSION}], [APIVERSION=$APIVERSION]) diff --git a/defs b/defs new file mode 100644 index 000000000..efa578d8e --- /dev/null +++ b/defs @@ -0,0 +1,1106 @@ +# -*- shell-script -*- +# +# Copyright (C) 1996-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 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 . + +######################################################## +### IMPORTANT NOTE: keep this file 'set -e' clean. ### +######################################################## + +# NOTE: This file should execute correctly with any system's /bin/sh +# shell, and not only with configure-time detected $CONFIG_SHELL, +# *until differently and explicitly specified*. + +## -------------------------------------------------------- ## +## Source static setup and definitions for the testsuite. ## +## -------------------------------------------------------- ## + +# Ensure we are running from the right directory. +test -f ./defs-static || { + echo "$0: ./defs-static: not found in current directory" >&2 + exit 99 +} + +# Source the shell sanitization and variables' definitions. +. ./defs-static || exit 99 + +# Enable the errexit shell flag early. +set -e + +# The name of the current test (without the '.sh' or '.tap' suffix). +# Test scripts can override it if they need to (but this should +# be done carefully, and *before* including ./defs). +if test -z "$me"; then + # Guard against failure to spawn sed (seen on MSYS), or empty $argv0. + me=`echo "$argv0" | sed -e 's,.*[\\/],,;s/\.sh$//;s/\.tap$//'` \ + && test -n "$me" \ + || { echo "$argv0: failed to define \$me" >&2; exit 99; } +fi + +## ---------------------- ## +## Early sanity checks. ## +## ---------------------- ## + +# A single whitespace character. +sp=' ' +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' + +# As autoconf-generated configure scripts do, ensure that IFS +# is defined initially, so that saving and restoring $IFS works. +IFS=$sp$tab$nl + +# Ensure $am_top_srcdir is set correctly. +test -f "$am_top_srcdir/defs-static.in" || { + echo "$me: $am_top_srcdir/defs-static.in not found," \ + "check \$am_top_srcdir" >&2 + exit 99 +} + +# Ensure $am_top_builddir is set correctly. +test -f "$am_top_builddir/defs-static" || { + echo "$me: $am_top_builddir/defs-static not found," \ + "check \$am_top_builddir" >&2 + exit 99 +} + + +## ------------------------------------ ## +## Ensure we run with a proper shell. ## +## ------------------------------------ ## + +# Make sure we run with the shell detected at configure time (unless +# the user forbids it). +case ${AM_TESTS_REEXEC-yes} in + n|no|false|0) + ;; + *) + # Ensure we can find ourselves. + if test ! -f "$0"; then + echo "$me: unable to find myself: $0" >&2 + exit 99 + fi + AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC + # Cannot simply do "opts=$-", since the content of $- is not + # portable among different shells. So try to propagate only + # the portable and interesting options. + case $- in + *x*v*|*v*x) opts=-vx;; + *v*) opts=-v;; + *x*) opts=-x;; + *) opts=;; + esac + echo $me: exec $SHELL $opts "$0" "$*" + exec $SHELL $opts "$0" ${1+"$@"} || { + echo "$me: failed to re-execute with $SHELL" >&2 + exit 99 + } + ;; +esac + +# NOTE: From this point on, we can assume this file is being executed +# by the configure-time detected $CONFIG_SHELL. + + +## ----------------------- ## +## Early debugging info. ## +## ----------------------- ## + +echo "Running from installcheck: $am_running_installcheck" +echo "Using TAP: $am_using_tap" +echo "PATH = $PATH" + + +## ---------------------- ## +## Environment cleanup. ## +## ---------------------- ## + +# Temporarily disable this, since some shells (e.g., older version +# of Bash) can return a non-zero exit status upon the when a non-set +# variable is unset. +set +e + +# Unset some make-related variables that may cause $MAKE to act like +# a recursively invoked sub-make. Any $MAKE invocation in a test is +# conceptually an independent invocation, not part of the main +# 'automake' build. +unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL +unset __MKLVL__ MAKE_JOBS_FIFO # For BSD make. +unset DMAKE_CHILD DMAKE_DEF_PRINTED DMAKE_MAX_JOBS # For Solaris dmake. +# Unset verbosity flag. +unset V +# Also unset variables that will let "make -e install" divert +# files into unwanted directories. +unset DESTDIR +unset prefix exec_prefix bindir datarootdir datadir docdir dvidir +unset htmldir includedir infodir libdir libexecdir localedir mandir +unset oldincludedir pdfdir psdir sbindir sharedstatedir sysconfdir +# Unset variables that might change the "make distcheck" behaviour. +unset DISTCHECK_CONFIGURE_FLAGS AM_DISTCHECK_CONFIGURE_FLAGS +# The tests call "make -e" but we do not want $srcdir from the environment +# to override the definition from the Makefile. +unset srcdir +# Also unset variables that control our test driver. While not +# conceptually independent, they cause some changed semantics we +# need to control (and test for) in some of the tests to ensure +# backward-compatible behavior. +unset TESTS_ENVIRONMENT AM_TESTS_ENVIRONMENT +unset DISABLE_HARD_ERRORS +unset AM_COLOR_TESTS +unset TESTS +unset XFAIL_TESTS +unset TEST_LOGS +unset TEST_SUITE_LOG +unset RECHECK_LOGS +unset VERBOSE +for pfx in TEST_ TAP_ ''; do + unset ${pfx}LOG_COMPILER + unset ${pfx}LOG_COMPILE # Not a typo! + unset ${pfx}LOG_FLAGS + unset AM_${pfx}LOG_FLAGS + unset ${pfx}LOG_DRIVER + unset ${pfx}LOG_DRIVER_FLAGS + unset AM_${pfx}LOG_DRIVER_FLAGS +done +unset pfx + +# Re-enable, it had been temporarily disabled above. +set -e + +## ---------------------------- ## +## Auxiliary shell functions. ## +## ---------------------------- ## + +# Tell whether we should keep the test directories around, even in +# case of success. By default, we don't. +am_keeping_testdirs () +{ + case $keep_testdirs in + ""|n|no|NO) return 1;; + *) return 0;; + esac +} + +# This is used in 'Exit' and in the exit trap. See comments in the latter +# for more information, +am__test_skipped=no + +# We use a trap below for cleanup. This requires us to go through +# hoops to get the right exit status transported through the signal. +# So use "Exit STATUS" instead of "exit STATUS" inside of the tests. +# Turn off errexit here so that we don't trip the bug with OSF1/Tru64 +# sh inside this function. +Exit () +{ + set +e + # See comments in the exit trap for the reason we do this. + test 77 = $1 && am__test_skipped=yes + (exit $1); exit $1 +} + +if test $am_using_tap = yes; then + am_funcs_file=tap-functions.sh +else + am_funcs_file=plain-functions.sh +fi + +if test -f "$am_testauxdir/$am_funcs_file"; then + . "$am_testauxdir/$am_funcs_file" || { + echo "$me: error sourcing $am_testauxdir/$am_funcs_file" >&2 + Exit 99 + } +else + echo "$me: $am_testauxdir/$am_funcs_file not found" >&2 + Exit 99 +fi +unset am_funcs_file + +# cross_compiling +# --------------- +# Tell whether we are cross-compiling. This is especially useful to skip +# tests (or portions of them) that requires a native compiler. +cross_compiling () +{ + # Quoting from the autoconf manual: + # ... [$host_alias and $build both] default to the result of running + # config.guess, unless you specify either --build or --host. In + # this case, the default becomes the system type you specified. + # If you specify both, *and they're different*, configure enters + # cross compilation mode (so it doesn't run any tests that require + # execution). + test x"$host_alias" != x && test x"$build_alias" != x"$host_alias" +} + +# is_newest FILE FILES +# -------------------- +# Return false if any file in FILES is newer than FILE. +# Resolve ties in favor of FILE. +is_newest () +{ + is_newest_files=`find "$@" -prune -newer "$1"` + test -z "$is_newest_files" +} + +# is_blocked_signal SIGNAL-NUMBER +# -------------------------------- +# Return success if the given signal number is blocked in the shell, +# return a non-zero exit status and print a proper diagnostic otherwise. +is_blocked_signal () +{ + # Use perl, since trying to do this portably in the shell can be + # very tricky, if not downright impossible. For reference, see: + # + if $PERL -w -e ' + use strict; + use warnings FATAL => "all"; + use POSIX; + my %oldsigaction = (); + sigaction('"$1"', 0, \%oldsigaction); + exit ($oldsigaction{"HANDLER"} eq "IGNORE" ? 0 : 77); + '; then + return 0 + elif test $? -eq 77; then + return 1 + else + fatal_ "couldn't determine whether signal $1 is blocked" + fi +} + +# AUTOMAKE_run [-e STATUS] [-d DESCRIPTION] [--] [AUTOMAKE-ARGS...] +# ----------------------------------------------------------------- +# Run automake with AUTOMAKE-ARGS, and fail if it doesn't exit with +# STATUS. Should be polymorphic for TAP and "plain" tests. The +# DESCRIPTION, when provided, is used for console reporting, only if +# the TAP protocol is in use in the current test script. +AUTOMAKE_run () +{ + am__desc= + am__exp_rc=0 + while test $# -gt 0; do + case $1 in + -d) am__desc=$2; shift;; + -e) am__exp_rc=$2; shift;; + --) shift; break;; + # Don't fail on unknown option: assume they (and the rest of the + # command line) are to be passed verbatim to automake (so stop our + # own option parsing). + *) break;; + esac + shift + done + am__got_rc=0 + $AUTOMAKE ${1+"$@"} >stdout 2>stderr || am__got_rc=$? + cat stderr >&2 + cat stdout + if test $am_using_tap != yes; then + test $am__got_rc -eq $am__exp_rc || Exit 1 + return + fi + if test -z "$am__desc"; then + if test $am__got_rc -eq $am__exp_rc; then + am__desc="automake exited $am__got_rc" + else + am__desc="automake exited $am__got_rc, expecting $am__exp_rc" + fi + fi + command_ok_ "$am__desc" test $am__got_rc -eq $am__exp_rc +} + +# AUTOMAKE_fails [-d DESCRIPTION] [OPTIONS...] +# -------------------------------------------- +# Run automake with OPTIONS, and fail if doesn't exit with status 1. +# Should be polymorphic for TAP and "plain" tests. The DESCRIPTION, +# when provided, is used for console reporting, only if the TAP +# protocol is in use in the current test script. +AUTOMAKE_fails () +{ + AUTOMAKE_run -e 1 ${1+"$@"} +} + +# extract_configure_help { --OPTION | VARIABLE-NAME } [FILES] +# ----------------------------------------------------------- +# Use this to extract from the output of "./configure --help" (or similar) +# the description or help message associated to the given --OPTION or +# VARIABLE-NAME. +extract_configure_help () +{ + am__opt_re='' am__var_re='' + case $1 in + --*'=') am__opt_re="^ $1";; + --*'[=]') am__opt_re='^ '`printf '%s\n' "$1" | sed 's/...$//'`'\[=';; + --*) am__opt_re="^ $1( .*|$)";; + *) am__var_re="^ $1( .*|$)";; + esac + shift + if test x"$am__opt_re" != x; then + LC_ALL=C awk ' + /'"$am__opt_re"'/ { print; do_print = 1; next; } + /^$/ { do_print = 0; next } + /^ --/ { do_print = 0; next } + (do_print == 1) { print } + ' ${1+"$@"} + else + LC_ALL=C awk ' + /'"$am__var_re"'/ { print; do_print = 1; next; } + /^$/ { do_print = 0; next } + /^ [A-Z][A-Z0-9_]* / { do_print = 0; next } + /^ [A-Z][A-Z0-9_]*$/ { do_print = 0; next } + (do_print == 1) { print } + ' ${1+"$@"} + fi +} + +# grep_configure_help { --OPTION | VARIABLE-NAME } REGEXP +# ------------------------------------------------------- +# Grep the section of "./configure --help" output associated with either +# --OPTION or VARIABLE-NAME for the given *extended* regular expression. +grep_configure_help () +{ + ./configure --help > am--all-help \ + || { cat am--all-help; Exit 1; } + cat am--all-help + extract_configure_help "$1" am--all-help > am--our-help \ + || { cat am--our-help; Exit 1; } + cat am--our-help + $EGREP "$2" am--our-help || Exit 1 +} + +# using_gmake +# ----------- +# Return success if $MAKE is GNU make, return failure otherwise. +# Caches the result for speed reasons. +using_gmake () +{ + case $am__using_gmake in + yes) + return 0;; + no) + return 1;; + '') + # Use --version AND -v, because SGI Make doesn't fail on --version. + # Also grep for GNU because newer versions of FreeBSD make do + # not complain about --version (they seem to silently ignore it). + if $MAKE --version -v | grep GNU; then + am__using_gmake=yes + return 0 + else + am__using_gmake=no + return 1 + fi;; + *) + fatal_ "invalid value for \$am__using_gmake: '$am__using_gmake'";; + esac +} +am__using_gmake="" # Avoid interferences from the environment. + +# make_can_chain_suffix_rules +# --------------------------- +# Return 0 if $MAKE is a make implementation that can chain suffix rules +# automatically, return 1 otherwise. Caches the result for speed reasons. +make_can_chain_suffix_rules () +{ + if test -z "$am__can_chain_suffix_rules"; then + if using_gmake; then + am__can_chain_suffix_rules=yes + return 0 + else + mkdir am__chain.dir$$ + cd am__chain.dir$$ + unindent > Makefile << 'END' + .SUFFIXES: .u .v .w + .u.v: ; cp $< $@ + .v.w: ; cp $< $@ +END + echo make can chain suffix rules > foo.u + if $MAKE foo.w && diff foo.u foo.w; then + am__can_chain_suffix_rules=yes + else + am__can_chain_suffix_rules=no + fi + cd .. + rm -rf am__chain.dir$$ + fi + fi + case $am__can_chain_suffix_rules in + yes) return 0;; + no) return 1;; + *) fatal_ "make_can_chain_suffix_rules: internal error";; + esac +} +am__can_chain_suffix_rules="" # Avoid interferences from the environment. + +# useless_vpath_rebuild +# --------------------- +# Tell whether $MAKE suffers of the bug triggering automake bug#7884. +# For example, this happens with FreeBSD make, since in a VPATH build +# it tends to rebuilt files for which there is an explicit or even just +# a suffix rule, even if said files are already available in the VPATH +# directory. +useless_vpath_rebuild () +{ + if test -z "$am__useless_vpath_rebuild"; then + if using_gmake; then + am__useless_vpath_rebuild=no + return 1 + fi + mkdir am__vpath.dir$$ + cd am__vpath.dir$$ + touch foo.a foo.b bar baz + mkdir build + cd build + unindent > Makefile << 'END' + .SUFFIXES: .a .b + VPATH = .. + all: foo.b baz + .PHONY: all + .a.b: ; cp $< $@ + baz: bar ; cp ../baz bar +END + if $MAKE all && test ! -f foo.b && test ! -f bar; then + am__useless_vpath_rebuild=no + else + am__useless_vpath_rebuild=yes + fi + cd ../.. + rm -rf am__vpath.dir$$ + fi + case $am__useless_vpath_rebuild in + yes) return 0;; + no) return 1;; + "") ;; + *) fatal_ "no_useless_builddir_remake: internal error";; + esac +} +am__useless_vpath_rebuild="" + +yl_distcheck () { useless_vpath_rebuild || $MAKE distcheck ${1+"$@"}; } + +# seq_ - print a sequence of numbers +# ---------------------------------- +# This function simulates GNU seq(1) portably. Valid usages: +# - seq LAST +# - seq FIRST LAST +# - seq FIRST INCREMENT LAST +seq_ () +{ + case $# in + 0) fatal_ "seq_: missing argument";; + 1) seq_first=1 seq_incr=1 seq_last=$1;; + 2) seq_first=$1 seq_incr=1 seq_last=$2;; + 3) seq_first=$1 seq_incr=$2 seq_last=$3;; + *) fatal_ "seq_: too many arguments";; + esac + # Try to avoid forks if possible. + case "$BASH_VERSION" in + ""|[12].*) + : Not bash, or a too old bash version. ;; + *) + # Use eval to protect dumber shells from parsing errors. + eval 'for ((i = seq_first; i <= seq_last; i += seq_incr)); do + echo $i + done' + return 0;; + esac + # Else, use GNU seq if available. + seq "$@" && return 0 + # Otherwise revert to a slower loop using expr(1). + i=$seq_first + while test $i -le $seq_last; do + echo $i + i=`expr $i + $seq_incr` + done +} + +# rm_rf_ [FILES OR DIRECTORIES ...] +# --------------------------------- +# Recursively remove the given files or directory, also handling the case +# of non-writable subdirectories. +rm_rf_ () +{ + test $# -gt 0 || return 0 + # Ignore failures in find, we are only interested in failures of the + # final rm. + find "$@" -type d ! -perm -700 -exec chmod u+rwx {} \; || : + rm -rf "$@" +} + +# count_test_results total=N pass=N fail=N xpass=N xfail=N skip=N error=N +# ----------------------------------------------------------------------- +# Check that a testsuite run driven by the parallel-tests harness has +# had the specified numbers of test results (specified by kind). +# This function assumes that the output of "make check" or "make recheck" +# has been saved in the 'stdout' file in the current directory, and its +# log in the 'test-suite.log' file. +count_test_results () +{ + # Use a subshell so that we won't pollute the script namespace. + ( + # TODO: Do proper checks on the arguments? + total=ERR pass=ERR fail=ERR xpass=ERR xfail=ERR skip=ERR error=ERR + eval "$@" + # For debugging. + $EGREP -i '(total|x?pass|x?fail|skip|error)' stdout || : + rc=0 + # Avoid spurious failures with shells with "overly sensible" + # errexit shell flag, such as e.g., Solaris /bin/sh. + set +e + test `grep -c '^PASS:' stdout` -eq $pass || rc=1 + test `grep -c '^XFAIL:' stdout` -eq $xfail || rc=1 + test `grep -c '^SKIP:' stdout` -eq $skip || rc=1 + test `grep -c '^FAIL:' stdout` -eq $fail || rc=1 + test `grep -c '^XPASS:' stdout` -eq $xpass || rc=1 + test `grep -c '^ERROR:' stdout` -eq $error || rc=1 + grep "^# TOTAL: *$total$" stdout || rc=1 + grep "^# PASS: *$pass$" stdout || rc=1 + grep "^# XFAIL: *$xfail$" stdout || rc=1 + grep "^# SKIP: *$skip$" stdout || rc=1 + grep "^# FAIL: *$fail$" stdout || rc=1 + grep "^# XPASS: *$xpass$" stdout || rc=1 + grep "^# ERROR: *$error$" stdout || rc=1 + test $rc -eq 0 + ) +} + +commented_sed_unindent_prog=' + /^$/b # Nothing to do for empty lines. + x # Get x into pattern space. + /^$/{ # No prior x, go prepare it. + g # Copy this 1st non-blank line into pattern space. + s/^\(['"$tab"' ]*\).*/x\1/ # Prepare x in pattern space. + } # Now: x in pattern and in hold. + G # Build x\n in pattern space, and + h # duplicate it into hold space. + s/\n.*$// # Restore x in pattern space, and + x # exchange with the above duplicate in hold space. + s/^x\(.*\)\n\1// # Remove leading from . + s/^x.*\n// # Restore when there is no leading . +' + +# unindent [input files...] +# ------------------------- +# Remove the "proper" amount of leading whitespace from the given files, +# and output the result on stdout. That amount is determined by looking +# at the leading whitespace of the first non-blank line in the input +# files. If no input file is specified, standard input is implied. +unindent () +{ + if test x"$sed_unindent_prog" = x; then + sed_unindent_prog=`printf '%s\n' "$commented_sed_unindent_prog" | sed -e "s/ *# .*//"` + fi + sed "$sed_unindent_prog" ${1+"$@"} +} +sed_unindent_prog="" # Avoid interferences from the environment. + +# get_shell_script SCRIPT-NAME +# ----------------------------- +# Fetch an Automake-provided shell script from the 'lib/' directory into +# the current directory, and, if the '$am_test_prefer_config_shell' +# variable is set to "yes", modify its shebang line to use $SHELL instead +# of /bin/sh. +get_shell_script () +{ + test ! -f "$1" || rm -f "$1" || return 99 + if test x"$am_test_prefer_config_shell" = x"yes"; then + sed "1s|#!.*|#! $SHELL|" "$am_scriptdir/$1" > "$1" \ + && chmod a+x "$1" \ + || return 99 + else + cp -f "$am_scriptdir/$1" . || return 99 + fi + sed 10q "$1" # For debugging. +} + +# require_xsi SHELL +# ----------------- +# Skip the test if the given shell fails to support common XSI constructs. +require_xsi () +{ + test $# -eq 1 || fatal_ "require_xsi needs exactly one argument" + echo "$me: trying some XSI constructs with $1" + $1 -c "$xsi_shell_code" || skip_all_ "$1 lacks XSI features" +} +# Shell code supposed to work only with XSI shells. Keep this in sync +# with libtool.m4:_LT_CHECK_SHELL_FEATURES. +xsi_shell_code=' + _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ + && eval '\''test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5'\' + +# fetch_tap_driver +# ---------------- +# Fetch the Automake-provided TAP driver from the 'lib/' directory into +# the current directory, and edit its shebang line so that it will be +# run with the perl interpreter determined at configure time. +fetch_tap_driver () +{ + # TODO: we should devise a way to make the shell TAP driver tested also + # TODO: with /bin/sh, for better coverage. + case $am_tap_implementation in + perl) + $PERL -MTAP::Parser -e 1 \ + || skip_all_ "cannot import TAP::Parser perl module" + sed "1s|#!.*|#! $PERL -w|" "$am_scriptdir"/tap-driver.pl >tap-driver + ;; + shell) + AM_TAP_AWK=$AWK; export AM_TAP_AWK + sed "1s|#!.*|#! $SHELL|" "$am_scriptdir"/tap-driver.sh >tap-driver + ;; + *) + fatal_ "invalid \$am_tap_implementation '$am_tap_implementation'" ;; + esac \ + && chmod a+x tap-driver \ + || framework_failure_ "couldn't fetch $am_tap_implementation TAP driver" + sed 10q tap-driver # For debugging. +} +# The shell/awk implementation of the TAP driver is still mostly dummy, so +# use the perl implementation by default for the moment. +am_tap_implementation=${am_tap_implementation-shell} + +# Usage: require_compiler_ {cc|c++|fortran|fortran77} +require_compiler_ () +{ + case $# in + 0) fatal_ "require_compiler_: missing argument";; + 1) ;; + *) fatal_ "require_compiler_: too many arguments";; + esac + case $1 in + cc) + am__comp_lang="C" + am__comp_var=CC + am__comp_flag_vars='CFLAGS CPPFLAGS' + ;; + c++) + am__comp_lang="C++" + am__comp_var=CXX + am__comp_flag_vars='CXXFLAGS CPPFLAGS' + ;; + fortran) + am__comp_lang="Fortran" + am__comp_var=FC + am__comp_flag_vars='FCFLAGS' + ;; + fortran77) + am__comp_lang="Fortran 77" + am__comp_var=F77 + am__comp_flag_vars='FFLAGS' + ;; + esac + shift + eval "am__comp_prog=\${$am__comp_var}" \ + || fatal_ "expanding \${$am__comp_var} in require_compiler_" + case $am__comp_prog in + "") + fatal_ "botched configuration: \$$am__comp_var is empty";; + false) + skip_all_ "no $am__comp_lang compiler available";; + autodetect|autodetected) + # Let the ./configure commands in the test script try to determine + # these automatically. + unset $am__comp_var $am__comp_flag_vars;; + *) + # Pre-set these for the ./configure commands in the test script. + export $am__comp_var $am__comp_flag_vars;; + esac + # Delete private variables. + unset am__comp_lang am__comp_prog am__comp_var am__comp_flag_vars +} + +## ----------------------------------------------------------- ## +## Checks for required tools, and additional setups (if any) ## +## required by them. ## +## ----------------------------------------------------------- ## + +# Look for (and maybe set up) required tools and/or system features; skip +# the current test if they are not found. +for tool in : $required +do + # Check that each required tool is present. + case $tool in + :) ;; + cc|c++|fortran|fortran77) + require_compiler_ $tool;; + xsi-lib-shell) + if test x"$am_test_prefer_config_shell" = x"yes"; then + require_xsi "$SHELL" + else + require_xsi "/bin/sh" + fi + ;; + bzip2) + # Do not use --version, older versions bzip2 still tries to compress + # stdin. + echo "$me: running bzip2 --help" + bzip2 --help \ + || skip_all_ "required program 'bzip2' not available" + ;; + cl) + CC=cl + # Don't export CFLAGS, as that could have been initialized to only + # work with the C compiler detected at configure time. If the user + # wants CFLAGS to also influence 'cl', he can still export CFLAGS + # in the environment "by hand" before calling the testsuite. + export CC CPPFLAGS + echo "$me: running $CC -?" + $CC -? || skip_all_ "Microsoft C compiler '$CC' not available" + ;; + etags) + # Exuberant Ctags will create a TAGS file even + # when asked for --help or --version. (Emacs's etags + # does not have such problem.) Use -o /dev/null + # to make sure we do not pollute the build directory. + echo "$me: running etags --version -o /dev/null" + etags --version -o /dev/null \ + || skip_all_ "required program 'etags' not available" + ;; + GNUmake) + for make_ in "$MAKE" gmake gnumake :; do + MAKE=$make_ am__using_gmake='' + test "$MAKE" = : && break + echo "$me: determine whether $MAKE is GNU make" + # Don't use "&&" here, or a bug of 'set -e' present in some + # versions of the BSD shell will be triggered. We add the + # dummy "else" branch for extra safety. + if using_gmake; then break; else :; fi + done + test "$MAKE" = : && skip_all_ "this test requires GNU make" + export MAKE + unset make_ + ;; + gcj) + GCJ=$GNU_GCJ GCJFLAGS=$GNU_GCJFLAGS; export GCJ GCJFLAGS + test "$GCJ" = false && skip_all_ "GNU Java compiler unavailable" + : For shells with busted 'set -e'. + ;; + gcc) + CC=$GNU_CC CFLAGS=$GNU_CFLAGS; export CC CFLAGS CPPFLAGS + test "$CC" = false && skip_all_ "GNU C compiler unavailable" + : For shells with busted 'set -e'. + ;; + g++) + CXX=$GNU_CXX CXXFLAGS=$GNU_CXXFLAGS; export CXX CXXFLAGS CPPFLAGS + test "$CXX" = false && skip_all_ "GNU C++ compiler unavailable" + : For shells with busted 'set -e'. + ;; + gfortran) + FC=$GNU_FC FCFLAGS=$GNU_FCFLAGS; export FC FCFLAGS + test "$FC" = false && skip_all_ "GNU Fortran compiler unavailable" + case " $required " in + *\ g77\ *) ;; + *) F77=$FC FFLAGS=$FCFLAGS; export F77 FFLAGS;; + esac + ;; + g77) + F77=$GNU_F77 FFLAGS=$GNU_FFLAGS; export F77 FFLAGS + test "$F77" = false && skip_all_ "GNU Fortran 77 compiler unavailable" + case " $required " in + *\ gfortran\ *) ;; + *) FC=$F77 FCFLAGS=$FFLAGS; export FC FCFLAGS;; + esac + ;; + javac) + # The Java compiler from JDK 1.5 (and presumably earlier versions) + # cannot handle the '-version' option by itself: it bails out + # telling that source files are missing. Adding also the '-help' + # option seems to solve the problem. + echo "$me: running javac -version -help" + javac -version -help || skip_all_ "Sun Java compiler not available" + ;; + java) + # See the comments above about 'javac' for why we use also '-help'. + echo "$me: running java -version -help" + java -version -help || skip_all_ "Sun Java interpreter not found" + ;; + lib) + AR=lib + export AR + # Attempting to create an empty archive will actually not + # create the archive, but lib will output its version. + echo "$me: running $AR -out:defstest.lib" + $AR -out:defstest.lib \ + || skip_all_ "Microsoft 'lib' utility not available" + ;; + makedepend) + echo "$me: running makedepend -f-" + makedepend -f- \ + || skip_all_ "required program 'makedepend' not available" + ;; + makeinfo-html) + # Make sure we have makeinfo, and it understands '--html'. + echo "$me: running makeinfo --html --version" + makeinfo --html --version \ + || skip_all_ "cannot find a makeinfo program that groks" \ + "the '--html' option" + ;; + mingw) + uname_s=`uname -s || echo UNKNOWN` + echo "$me: system name: $uname_s" + case $uname_s in + MINGW*) ;; + *) skip_all_ "this test requires MSYS in MinGW mode" ;; + esac + ;; + non-root) + # Skip this test case if the user is root. + # We try to append to a read-only file to detect this. + priv_check_temp=priv-check.$$ + touch $priv_check_temp && chmod a-w $priv_check_temp \ + || framework_failure_ "creating unwritable file $priv_check_temp" + # Not a useless use of subshell: lesser shells like Solaris /bin/sh + # can exit if a builtin fails. + overwrite_status=0 + (echo foo >> $priv_check_temp) || overwrite_status=$? + rm -f $priv_check_temp + if test $overwrite_status -eq 0; then + skip_all_ "cannot drop file write permissions" + fi + unset priv_check_temp overwrite_status + ;; + perl-threads) + if test "$WANT_NO_THREADS" = "yes"; then + skip_all_ "Devel::Cover cannot cope with threads" + fi + ;; + native) + # Don't use "&&" here, to avoid a bug of 'set -e' present in + # some (even relatively recent) versions of the BSD shell. + # We add the dummy "else" branch for extra safety. + if cross_compiling; then + skip_all_ "doesn't work in cross-compile mode" + else :; fi + ;; + python) + # Python doesn't support --version, it has -V + echo "$me: running python -V" + python -V || skip_all_ "python interpreter not available" + ;; + ro-dir) + # Skip this test case if read-only directories aren't supported + # (e.g., under DOS.) + ro_dir_temp=ro_dir.$$ + mkdir $ro_dir_temp && chmod a-w $ro_dir_temp \ + || framework_failure_ "creating unwritable directory $ro_dir_temp" + # Not a useless use of subshell: lesser shells like Solaris /bin/sh + # can exit if a builtin fails. + create_status=0 + (: > $ro_dir_temp/probe) || create_status=$? + rm -rf $ro_dir_temp + if test $create_status -eq 0; then + skip_all_ "cannot drop directory write permissions" + fi + unset ro_dir_temp create_status + ;; + runtest) + # DejaGnu's runtest program. We rely on being able to specify + # the program on the runtest command-line. This requires + # DejaGnu 1.4.3 or later. + echo "$me: running runtest SOMEPROGRAM=someprogram --version" + runtest SOMEPROGRAM=someprogram --version \ + || skip_all_ "DejaGnu is not available" + ;; + tex) + # No all versions of Tex support '--version', so we use + # a configure check. + if test -z "$TEX"; then + skip_all_ "TeX is required, but it wasn't found by configure" + fi + ;; + texi2dvi-o) + # Texi2dvi supports '-o' since Texinfo 4.1. + echo "$me: running texi2dvi -o /dev/null --version" + texi2dvi -o /dev/null --version \ + || skip_all_ "required program 'texi2dvi' not available" + ;; + lex) + test x"$LEX" = x"false" && skip_all_ "lex not found or disabled" + export LEX + ;; + yacc) + test x"$YACC" = x"false" && skip_all_ "yacc not found or disabled" + export YACC + ;; + flex) + LEX=flex; export LEX + echo "$me: running flex --version" + flex --version || skip_all_ "required program 'flex' not available" + ;; + bison) + YACC='bison -y'; export YACC + echo "$me: running bison --version" + bison --version || skip_all_ "required program 'bison' not available" + ;; + *) + # Generic case: the tool must support --version. + echo "$me: running $tool --version" + # It is not likely but possible that $tool is a special builtin, + # in which case the shell is allowed to exit after an error. So + # we need the subshell here. Also, some tools, like Sun cscope, + # can be interactive without redirection. + ($tool --version) + trap "trap '' 13; fatal_ 'caught signal SIGPIPE'" 13 +fi + +# Create and populate the temporary directory, if and as required. +if test x"$am_create_testdir" = x"no"; then + testSubDir= +else + # The subdirectory where the current test script will run and write its + # temporary/data files. This will be created shortly, and will be removed + # by the cleanup trap below if the test passes. If the test doesn't pass, + # this directory will be kept, to facilitate debugging. + testSubDir=t/$me.dir + test ! -d $testSubDir || rm_rf_ $testSubDir \ + || framework_failure_ "removing old test subdirectory" + test -d t || mkdir t + mkdir $testSubDir \ + || framework_failure_ "creating test subdirectory" + # The trailing './'ris to avoid CDPATH issues. + cd ./$testSubDir \ + || framework_failure_ "cannot chdir into test subdirectory" + if test x"$am_create_testdir" != x"empty"; then + cp "$am_scriptdir"/install-sh "$am_scriptdir"/missing \ + "$am_scriptdir"/depcomp . \ + || framework_failure_ "fetching common files from $am_scriptdir" + # Build appropriate environment in test directory. E.g., create + # configure.ac, touch all necessary files, etc. Don't use AC_OUTPUT, + # but AC_CONFIG_FILES so that appending still produces a valid + # configure.ac. But then, tests running config.status really need + # to append AC_OUTPUT. + { + echo "AC_INIT([$me], [1.0])" + if test x"$am_parallel_tests" = x"yes"; then + echo "AM_INIT_AUTOMAKE([parallel-tests])" + else + echo "AM_INIT_AUTOMAKE" + fi + echo "AC_CONFIG_FILES([Makefile])" + } >configure.ac || framework_failure_ "creating configure.ac skeleton" + fi +fi + + +## ---------------- ## +## Ready to go... ## +## ---------------- ## + +set -x +pwd diff --git a/defs-static.in b/defs-static.in new file mode 100644 index 000000000..a8a17f087 --- /dev/null +++ b/defs-static.in @@ -0,0 +1,244 @@ +# -*- shell-script -*- +# @configure_input@ +# +# Copyright (C) 1996-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 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 . + +# Defines and minimal setup for Automake testing environment. + +# IMPORTANT NOTES AND REQUIREMENTS +# - Multiple inclusions of this file should be idempotent. +# - This code has to be 'set -e' clean. +# - This file should execute correctly with any system's /bin/sh +# shell, not only with configure-time detected $CONFIG_SHELL. + +# 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: + # + # 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 + +# Check that the environment is properly sanitized. +# Having variables exported to the empty string is OK, since our code +# treats such variables as if they were unset. +for var in \ + me \ + required \ + am_using_tap \ + am_parallel_tests \ + am_create_testdir \ + am_tap_implementation \ + am_test_prefer_config_shell \ + am_original_AUTOMAKE \ + am_original_ACLOCAL \ +; do + if eval "test x\"\$$var\" != x" && env | grep "^$var=" >/dev/null; then + echo "$argv0: variable '$var' is set in the environment:" \ + "this is unsafe" >&2 + exit 99 + fi +done +unset var + +# See whether the current test script is expected to use TAP or not. +# Use a sensible default, while allowing the scripts to override this +# check. +if test -z "$am_using_tap"; then + case $argv0 in *.tap) am_using_tap=yes;; *) am_using_tap=no;; esac +fi + +am_top_srcdir='@abs_srcdir@' +am_top_builddir='@abs_builddir@' +testprefix='@prefix@' + +# Where testsuite-related helper scripts, data files and shell libraries +# are placed. +am_testauxdir=$am_top_srcdir/t/ax + +# Support for the "installcheck" target. +case ${am_running_installcheck:=no} in + yes) + am_amdir='@amdir@' + am_automake_acdir='@automake_acdir@' + am_bindir='@bindir@' + am_datadir='@datadir@' + am_docdir='@docdir@' + am_pkgvdatadir='@pkgvdatadir@' + am_scriptdir='@scriptdir@' + am_system_acdir='@system_acdir@' + ;; + no) + am_amdir=$am_top_srcdir/lib/am + am_automake_acdir=$am_top_srcdir/m4 + am_bindir=$am_top_builddir/t/wrap + am_datadir=$am_top_srcdir + am_docdir=$am_top_srcdir/doc + am_pkgvdatadir=$am_top_srcdir/lib + am_scriptdir=$am_top_srcdir/lib + am_system_acdir=$am_top_srcdir/m4/acdir + ;; + *) + echo "$argv0: variable 'am_running_installcheck' has invalid" + "value '$am_running_installcheck'" >&2 + exit 99 + ;; +esac + +APIVERSION='@APIVERSION@' +PATH_SEPARATOR='@PATH_SEPARATOR@' + +host_alias=${host_alias-'@host_alias@'}; export host_alias +build_alias=${build_alias-'@build_alias@'}; export build_alias + +# Make sure we override the user shell. And do not read the value of +# $SHELL from the environment (think to the non-uncommon situation where +# e.g., $SHELL=/bin/tcsh). +SHELL=${AM_TESTSUITE_SHELL-'@SHELL@'}; export SHELL + +# User can override various tools used. Prefer overriding specific for +# that automake testsuite, if they are available. +AWK=${AM_TESTSUITE_AWK-${AWK-'@AWK@'}} +PERL=${AM_TESTSUITE_PERL-${PERL-'@PERL@'}} +MAKE=${AM_TESTSUITE_MAKE-${MAKE-'make'}} +YACC=${AM_TESTSUITE_YACC-${YACC-'@YACC@'}} +LEX=${AM_TESTSUITE_LEX-${LEX-'@LEX@'}} +AUTOCONF=${AM_TESTSUITE_AUTOCONF-${AUTOCONF-'@am_AUTOCONF@'}} +AUTOM4TE=${AM_TESTSUITE_AUTOM4TE-${AUTOM4TE-'@am_AUTOM4TE@'}} +AUTORECONF=${AM_TESTSUITE_AUTORECONF-${AUTORECONF-'@am_AUTORECONF@'}} +AUTOHEADER=${AM_TESTSUITE_AUTOHEADER-${AUTOHEADER-'@am_AUTOHEADER@'}} +AUTOUPDATE=${AM_TESTSUITE_AUTOUPDATE-${AUTOUPDATE-'@am_AUTOUPDATE@'}} + +# Tests who want complete control over aclocal or automake command-line +# options should use $am_original_ACLOCAL or $am_original_AUTOMAKE. The +# "test -z" tests take care not to re-initialize them if defs-static +# is re-sourced, as we want defs-static to remain really idempotent. +if test -z "$am_original_AUTOMAKE"; then + am_original_AUTOMAKE=${AM_TESTSUITE_AUTOMAKE-${AUTOMAKE-"automake-$APIVERSION"}} +fi +if test -z "$am_original_ACLOCAL"; then + am_original_ACLOCAL=${AM_TESTSUITE_ACLOCAL-${ACLOCAL-"aclocal-$APIVERSION"}} +fi + +# 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 $am_original_ACLOCAL instead. +ACLOCAL="$am_original_ACLOCAL -Werror" + +# 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 $am_original_AUTOMAKE instead. +AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror -Wall" + +# POSIX no longer requires 'egrep' and 'fgrep', +# but some hosts lack 'grep -E' and 'grep -F'. +EGREP=${AM_TESTSUITE_EGREP-'@EGREP@'} +FGREP=${AM_TESTSUITE_FGREP-'@FGREP@'} + +# Compilers and their flags. These can point to non-GNU compilers (and +# on non-Linux and non-BSD systems, they probably will). +CC=${AM_TESTSUITE_CC-${CC-'@CC@'}} +CXX=${AM_TESTSUITE_CXX-${CXX-'@CXX@'}} +F77=${AM_TESTSUITE_F77-${F77-'@F77@'}} +FC=${AM_TESTSUITE_FC-${FC-'@FC@'}} +CFLAGS=${AM_TESTSUITE_CFLAGS-${CFLAGS-'@CFLAGS@'}} +CXXFLAGS=${AM_TESTSUITE_CXXFLAGS-${CXXFLAGS-'@CXXFLAGS@'}} +FCFLAGS=${AM_TESTSUITE_FCFLAGS-${FCFLAGS-'@FCFLAGS@'}} +FFLAGS=${AM_TESTSUITE_FFLAGS-${FFLAGS-'@FFLAGS@'}} +CPPFLAGS=${AM_TESTSUITE_CPPFLAGS-${CPPFLAGS-'@CPPFLAGS@'}} + +# GNU compilers and their flags. +GNU_CC=${AM_TESTSUITE_GNU_CC-${GNU_CC-'@GNU_CC@'}} +GNU_CXX=${AM_TESTSUITE_GNU_CXX-${GNU_CXX-'@GNU_CXX@'}} +GNU_F77=${AM_TESTSUITE_GNU_F77-${GNU_F77-'@GNU_F77@'}} +GNU_FC=${AM_TESTSUITE_GNU_FC-${GNU_FC-'@GNU_FC@'}} +GNU_FFLAGS=${AM_TESTSUITE_GNU_FFLAGS-${GNU_FFLAGS-'@GNU_FFLAGS@'}} +GNU_FCFLAGS=${AM_TESTSUITE_GNU_FCFLAGS-${GNU_FCFLAGS-'@GNU_FCFLAGS@'}} +GNU_CXXFLAGS=${AM_TESTSUITE_GNU_CXXFLAGS-${GNU_CXXFLAGS-'@GNU_CXXFLAGS@'}} +GNU_CFLAGS=${AM_TESTSUITE_GNU_CFLAGS-${GNU_CFLAGS-'@GNU_CFLAGS@'}} +GNU_GCJ=${AM_TESTSUITE_GNU_GCJ-${GNU_GCJ-'@GNU_GCJ@'}} +GNU_GCJFLAGS=${AM_TESTSUITE_GNU_GCJFLAGS-${GNU_GCJFLAGS-'@GNU_GCJFLAGS@'}} + +# 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=${AM_TESTSUITE_TEX-'@TEX@'} + +# Whether $SHELL 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 . +old_timestamp=198309271735.59 + +# Make our wrapper script (or installed scripts, if running under +# "installcheck") accessible by default. And avoid to uselessly +# extend $PATH multiple times if this file is sourced multiple times. +case $PATH in + $am_bindir$PATH_SEPARATOR*) ;; + *) PATH=$am_bindir$PATH_SEPARATOR$PATH;; +esac + +# Make our helper script accessible by default. +PATH=$am_testauxdir$PATH_SEPARATOR$PATH + +export PATH diff --git a/gen-testsuite-part b/gen-testsuite-part new file mode 100755 index 000000000..a2db2d30b --- /dev/null +++ b/gen-testsuite-part @@ -0,0 +1,415 @@ +#! /usr/bin/env perl +# Automatically compute some dependencies for the hand-written tests +# of the Automake testsuite. Also, automatically generate some more +# tests from them (for particular cases/setups only). + +# Copyright (C) 2011-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 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 . + +#-------------------------------------------------------------------------- + +use warnings FATAL => "all"; +use strict; +use File::Basename (); +use constant TRUE => 1; +use constant FALSE => 0; + +my $me = File::Basename::basename $0; + +# For use in VPATH builds. +my $srcdir = "."; + +#-------------------------------------------------------------------------- + +sub unindent ($) +{ + my $text = shift; + $text =~ /^(\s*)/; + my $indentation = $1; + $text =~ s/^$indentation//gm; + return $text; +} + +sub atomic_write ($$;$) +{ + my ($outfile, $func) = (shift, shift); + my $perms = @_ > 0 ? shift : 0777; + my $tmpfile = "$outfile-t"; + foreach my $f ($outfile, $tmpfile) + { + unlink $f or die "$me: cannot unlink '$f': $!\n" + if -e $f; + } + open (my $fh, ">$tmpfile") + or die "$me: can't write to '$tmpfile': $!\n"; + $func->($fh); + close $fh + or die "$me: closing '$tmpfile': $!\n"; + chmod ($perms & ~umask, $tmpfile) + or die "$me: cannot change perms for '$tmpfile': $!\n"; + rename ($tmpfile, $outfile) + or die "$me: renaming '$tmpfile' -> '$outfile: $!\n'"; +} + +sub line_match ($$) +{ + my ($re, $file) = (shift, shift); + # Try both builddir and srcdir, with builddir first, to play nice + # with VPATH builds. + open (FH, "<$file") or open (FH, "<$srcdir/$file") + or die "$me: cannot open file '$file': $!\n"; + my $ret = 0; + while (defined (my $line = )) + { + if ($line =~ $re) + { + $ret = 1; + last; + } + } + close FH or die "$me: cannot close file '$file': $!\n"; + return $ret; +} + +sub write_wrapper_script ($$$) +{ + my ($file_handle, $wrapped_test, $shell_setup_code, $creator_name) = @_; + # FIXME: we use some creative quoting in the generated scripts, + # FIXME: to please maintainer-check. + print $file_handle unindent <&2 + exit '99' +EOF +} + +sub get_list_of_tests () +{ + my $make = defined $ENV{MAKE} ? $ENV{MAKE} : "make"; + # Unset MAKEFLAGS, for when we are called from make itself. + my $cmd = "MAKEFLAGS= && unset MAKEFLAGS && cd '$srcdir' && " + . "$make -s -f t/list-of-tests.mk print-list-of-tests"; + my @tests_list = split /\s+/, `$cmd`; + die "$me: cannot get list of tests\n" unless $? == 0 && @tests_list; + my $ok = 1; + foreach my $test (@tests_list) + { + # Respect VPATH builds. + next if -f $test || -f "$srcdir/$test"; + warn "$me: test '$test' not found\n"; + $ok = 0; + } + die "$me: some test scripts not found\n" if !$ok; + return @tests_list; +} + +sub parse_options (@) +{ + use Getopt::Long qw/GetOptions/; + local @ARGV = @_; + GetOptions ('srcdir=s' => \$srcdir) or die "$me: usage error\n"; + die "$me: too many arguments\n" if @ARGV > 0; + die "$me: srcdir '$srcdir': not a directory\n" unless -d $srcdir; +} + +#-------------------------------------------------------------------------- + +# Where testsuite-related helper scripts, data files and shell libraries +# are placed. Relative to the 't/' subdirectory. +my $auxdir = "ax"; + +my %deps_extractor = + ( + libtool_macros => + { + line_matcher => qr/^\s*required=.*\blibtool/, + nodist_prereqs => "t/libtool-macros.log", + }, + gettext_macros => + { + line_matcher => qr/^\s*required=.*\bgettext/, + nodist_prereqs => "t/gettext-macros.log", + }, + use_trivial_test_driver => + { + line_matcher => qr/\btrivial-test-driver\b/, + dist_prereqs => "t/$auxdir/trivial-test-driver", + }, + check_testsuite_summary => + { + line_matcher => qr/\btestsuite-summary-checks\.sh\b/, + dist_prereqs => "t/$auxdir/testsuite-summary-checks.sh", + }, + extract_testsuite_summary => + { + line_matcher => qr/\bextract-testsuite-summary\.pl\b/, + dist_prereqs => "t/$auxdir/extract-testsuite-summary.pl", + }, + check_tap_testsuite_summary => + { + line_matcher => qr/\btap-summary-aux\.sh\b/, + dist_prereqs => "t/$auxdir/tap-summary-aux.sh", + }, + on_tap_with_common_setup => + { + line_matcher => qr/\btap-setup\.sh\b/, + dist_prereqs => "t/$auxdir/tap-setup.sh", + nodist_prereqs => "t/tap-common-setup.log", + }, + depcomp => + { + line_matcher => qr/\bdepcomp\.sh\b/, + dist_prereqs => "t/$auxdir/depcomp.sh", + }, + ); + +#-------------------------------------------------------------------------- + +my %test_generators = + ( + # + # For each test script in the Automake testsuite that itself tests + # features of the TESTS automake interface, define a sibling test + # that does likewise, but with the option 'parallel-tests' enabled. + # + # A test is considered a candidate for sibling-generation if any + # Makefile.am generated by it define the TESTS variable. + # + # Individual tests can prevent the creation of such a sibling by + # explicitly setting the '$am_parallel_tests' variable to either "yes" + # or "no". The rationale for this is that if the variable is set to + # "yes", the test already uses the 'parallel-tests' option, so that + # a sibling would be just a duplicate; while if the variable is set + # to "no", the test doesn't support, or is not meant to run with, the + # 'parallel-tests' option, and forcing it to do so in the sibling + # would likely cause a spurious failure. + # + parallel_testsuite_harness => + { + line_matcher => + qr/(?:^|\s)TESTS\s*=/, + line_rejecter => + qr/(?:^[^#]*\bparallel-tests\b)|\bam_parallel_tests=/, + shell_setup_code => + 'am_parallel_tests=yes' + }, + # + # For each test script in the Automake testsuite that tests features + # of one or more automake-provided shell script from the 'lib/' + # subdirectory by running those scripts directly (i.e., not thought + # make calls and automake-generated makefiles), define a sibling test + # that does likewise, but running the said script with the configure + # time $SHELL instead of the default system shell /bin/sh. + # + # A test is considered a candidate for sibling-generation if it calls + # the 'get_shell_script' function anywhere. + # + # Individual tests can prevent the creation of such a sibling by + # explicitly setting the '$am_test_prefer_config_shell' variable + # to either "yes" or "no". + # The rationale for this is that if the variable is set to "yes", + # the test already uses $SHELL, so that a sibling would be just a + # duplicate; while if the variable is set to "no", the test doesn't + # support, or is not meant to use, $SHELL to run the script under + # testing, and forcing it to do so in the sibling would likely + # cause a spurious failure. + # + prefer_config_shell => + { + line_matcher => + qr/(^|\s)get_shell_script\s/, + line_rejecter => + qr/\bam_test_prefer_config_shell=/, + shell_setup_code => + 'am_test_prefer_config_shell=yes', + }, + # + # Tests on tap support should be run with both the perl and awk + # implementations of the TAP driver (they run with the awk one + # by default). + # + perl_tap_driver => + { + line_matcher => + qr<(?:\bfetch_tap_driver\b|[\s/]tap-setup\.sh\b)>, + line_rejecter => + qr/\bam_tap_implementation=/, + shell_setup_code => + 'am_tap_implementation=perl', + }, + ); + +#-------------------------------------------------------------------------- + +parse_options @ARGV; + +my @all_tests = get_list_of_tests; +my @generated_tests = (); # Will be updated later. + +print "## -*- Makefile -*-\n"; +print "## Generated by $me. DO NOT EDIT BY HAND!\n\n"; + +print <{line_matcher}, $_) + && !line_match ($g->{line_rejecter}, $_) + } @all_tests; + foreach my $wrapped_test (@wrapped_tests) + { + (my $base = $wrapped_test) =~ s/\.([^.]*)$//; + my $suf = $1 or die "$me: test '$wrapped_test' lacks a suffix\n"; + my $wrapper_test = "$base-w.$suf"; + # Register wrapper test as "autogenerated". + push @generated_tests, $wrapper_test; + # Create wrapper test. + atomic_write $wrapper_test, + sub { write_wrapper_script $_[0], $wrapped_test, + $g->{shell_setup_code} }, + 0555; + # The generated test works by sourcing the original test, so that + # it has to be re-run every time that changes ... + print "$base-w.log: $wrapped_test\n"; + # ... but also every time the prerequisites of the wrapped test + # changes. The simpler (although suboptimal) way to do so is to + # ensure that the wrapped tests runs before the wrappee one (in + # case it needs to be re-run *at all*. + # FIXME: we could maybe refactor the script to find a more + # granular way to express such implicit dependencies. + print "$base-w.log: $base.log\n"; + } + } + +print < ["cc"], + disabled => ["cc"], + makedepend => ["cc", "makedepend"], + dashmstdout => ["gcc"], + cpp => ["gcc"], +# This is for older (pre-3.x) GCC versions. Newer versions +# have depmode "gcc3". + gcc => ["gcc"], +# This is for older (pre-7) msvc versions. Newer versions +# have depmodes "msvc7" and "msvc7msys". + msvisualcpp => ["cl", "cygpath"], + msvcmsys => ["cl", "mingw"], + ); + +foreach my $lt (TRUE, FALSE) + { + foreach my $m (keys %depmodes) + { + my $planned = ($lt && $m eq "auto") ? 84 : 28; + my @required = + ( + @{$depmodes{$m}}, + $lt ? ("libtoolize",) : (), + ); + my @vars_init = + ( + "am_create_testdir=empty", + "depmode=$m", + "depcomp_with_libtool=" . ($lt ? "yes" : "no"), + ); + my $test = "t/depcomp" . ($lt ? "-lt-" : "-") . $m . ".tap"; + # Register wrapper test as "autogenerated" ... + push @generated_tests, $test; + # ... and create it. + atomic_write ($test, sub + { + my $file_handle = shift; + print $file_handle unindent <{dist_prereqs} || ""; + my $nodist_prereqs = $x->{nodist_prereqs} || ""; + my @tests = grep { line_match $x->{line_matcher}, $_ } @all_tests; + map { s/\.[^.]*$//; s/$/\.log/; } (my @logs = @tests); + print "## Added by deps-extracting key '$k'.\n"; + ## The list of all tests which have a dependency detected by the + ## current key. + print join(" \\\n ", "${k}_TESTS =", @tests) . "\n"; + print "EXTRA_DIST += $dist_prereqs\n"; + map { print "$_: $dist_prereqs $nodist_prereqs\n" } @logs; + print "\n"; + } + +__END__ diff --git a/syntax-checks.mk b/syntax-checks.mk index 0016eafe7..11b2225cf 100644 --- a/syntax-checks.mk +++ b/syntax-checks.mk @@ -31,6 +31,8 @@ xtests := $(shell \ done; \ done | sort) +xdefs = $(srcdir)/defs $(srcdir)/defs-static.in + ams := $(shell find $(srcdir) -name '*.am') # Some simple checks, and then ordinary check. These are only really @@ -86,9 +88,6 @@ maintainer-check: $(syntax_check_rules) ## Check that the list of tests given in the Makefile is equal to the ## list of all test scripts in the Automake testsuite. -.PHONY: maintainer-check-list-of-tests -maintainer-check-list-of-tests: - $(MAKE) -C tests $@ maintainer-check: maintainer-check-list-of-tests ## Look for test whose names can cause spurious failures when used as @@ -302,10 +301,7 @@ sc_tests_obsolete_variables: "; \ seen=""; \ for v in $$vars; do \ - if grep -E "\b$$v\b" \ - $(xtests) $(srcdir)/t/defs \ - $(srcdir)/t/defs-static.in \ - ; then \ + if grep -E "\b$$v\b" $(xtests) $(xdefs); then \ seen="$$seen $$v"; \ fi; \ done; \ @@ -487,7 +483,7 @@ sc_tests_plain_egrep_fgrep: ## for configure input files in our testsuite. The latter has been ## deprecated for several years (at least since autoconf 2.50). sc_tests_no_configure_in: - @if grep -E '\bconfigure\\*\.in\b' $(xtests) $(srcdir)/t/defs \ + @if grep -E '\bconfigure\\*\.in\b' $(xtests) $(xdefs) \ | grep -Ev '/backcompat.*\.(sh|tap):' \ | grep -Ev '/autodist-configure-no-subdir\.sh:' \ | grep -Ev '/(configure|help)\.sh:' \ diff --git a/t/Makefile.am b/t/Makefile.am deleted file mode 100644 index ca00f3735..000000000 --- a/t/Makefile.am +++ /dev/null @@ -1,194 +0,0 @@ -## Process this file with automake to create Makefile.in - -# Copyright (C) 1996-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 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 . - -# Run the tests with the shell detected at configure time. -LOG_COMPILER = $(SHELL) - -TEST_EXTENSIONS = .pl .sh .tap -SH_LOG_COMPILER = $(LOG_COMPILER) -TAP_LOG_COMPILER = $(LOG_COMPILER) -PL_LOG_COMPILER = $(PERL) -AM_PL_LOG_FLAGS = -Mstrict -I $(top_builddir)/lib -I $(top_srcdir)/lib -w - -TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/lib/tap-driver.sh - -AM_TAP_LOG_DRIVER_FLAGS = --merge - -EXTRA_DIST = ax/is - -TESTS = ## Will be updated later. - -# Some testsuite-influential variables should be overridable from the -# test scripts, but not from the environment. -AM_TESTS_ENVIRONMENT = \ - for v in \ - me \ - required \ - am_using_tap \ - am_parallel_tests \ - am_test_prefer_config_shell \ - am_original_AUTOMAKE \ - am_original_ACLOCAL \ - ; do \ - eval test x"\$${$$v}" = x || unset $$v; \ - done; -# The 'AM_TESTS_REEXEC=no' setting tells the tests not to needlessly -# re-execute themselves with the shell detected at configure time, since -# we are already running them under it explicitly in our setup (see e.g. -# the definition of TEST_LOG_COMPILER above). -AM_TESTS_ENVIRONMENT += AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC; -# We want warning messages and explanations for skipped tests to go to -# the console if possible, so set up 'stderr_fileno_' properly. -AM_TESTS_FD_REDIRECT = 9>&2 -AM_TESTS_ENVIRONMENT += stderr_fileno_=9; export stderr_fileno_; - -# Hand-written tests. - -include $(srcdir)/list-of-tests.mk - -TESTS += $(handwritten_TESTS) -EXTRA_DIST += $(handwritten_TESTS) - -# Automatically-generated tests wrapping hand-written ones. -# Also, automatically-computed dependencies for tests. - -include $(srcdir)/testsuite-part.am - -TESTS += $(generated_TESTS) -EXTRA_DIST += $(generated_TESTS) - -$(srcdir)/testsuite-part.am: - $(AM_V_at)rm -f testsuite-part.tmp $@ - $(AM_V_GEN)$(PERL) $(srcdir)/gen-testsuite-part \ - --srcdir $(srcdir) > testsuite-part.tmp - $(AM_V_at)chmod a-w testsuite-part.tmp - $(AM_V_at)mv -f testsuite-part.tmp $@ -EXTRA_DIST += gen-testsuite-part - -$(generated_TESTS) $(srcdir)/testsuite-part.am: \ - gen-testsuite-part list-of-tests.mk Makefile.am $(handwritten_TESTS) - -# Static dependencies valid for each test case. -check_SCRIPTS = wrap/aclocal-$(APIVERSION) wrap/automake-$(APIVERSION) -check_DATA = defs defs-static -dist_check_DATA = ax/plain-functions.sh ax/tap-functions.sh - -# Few more static dependencies. -distcheck-missing-m4.log: ax/distcheck-hook-m4.am -distcheck-outdated-m4.log: ax/distcheck-hook-m4.am -EXTRA_DIST += ax/distcheck-hook-m4.am - -# Keep in sync with AC_SUBST'd stuff in defs-static.in. -do_subst = sed \ - -e 's|@abs_srcdir[@]|$(abs_srcdir)|g' \ - -e 's|@abs_top_srcdir[@]|$(abs_top_srcdir)|g' \ - -e 's|@abs_builddir[@]|$(abs_builddir)|g' \ - -e 's|@abs_top_builddir[@]|$(abs_top_builddir)|g' \ - -e 's|@prefix[@]|$(prefix)|g' \ - -e 's|@amdir[@]|$(amdir)|g' \ - -e 's|@bindir[@]|$(bindir)|g' \ - -e 's|@datadir[@]|$(datadir)|g' \ - -e 's|@docdir[@]|$(docdir)|g' \ - -e 's|@automake_acdir[@]|$(automake_acdir)|g' \ - -e 's|@system_acdir[@]|$(system_acdir)|g' \ - -e 's|@scriptdir[@]|$(scriptdir)|g' \ - -e 's|@pkgvdatadir[@]|$(pkgvdatadir)|g' \ - -e 's|@host_alias[@]|$(host_alias)|g' \ - -e 's|@build_alias[@]|$(build_alias)|g' \ - -e 's|@APIVERSION[@]|$(APIVERSION)|g' \ - -e 's|@PATH_SEPARATOR[@]|$(PATH_SEPARATOR)|g' \ - -e 's|@SHELL[@]|$(SHELL)|g' \ - -e 's|@AWK[@]|$(AWK)|g' \ - -e 's|@PERL[@]|$(PERL)|g' \ - -e 's|@EGREP[@]|$(EGREP)|g' \ - -e 's|@FGREP[@]|$(FGREP)|g' \ - -e 's|@CPPFLAGS[@]|$(CPPFLAGS)|g' \ - -e 's|@CC[@]|$(CC)|g' \ - -e 's|@CFLAGS[@]|$(CFLAGS)|g' \ - -e 's|@CXX[@]|$(CXX)|g' \ - -e 's|@CXXFLAGS[@]|$(CXXFLAGS)|g' \ - -e 's|@F77[@]|$(F77)|g' \ - -e 's|@FFLAGS[@]|$(FFLAGS)|g' \ - -e 's|@FC[@]|$(FC)|g' \ - -e 's|@FCFLAGS[@]|$(FCFLAGS)|g' \ - -e 's|@GNU_CC[@]|$(GNU_CC)|g' \ - -e 's|@GNU_CFLAGS[@]|$(GNU_CFLAGS)|g' \ - -e 's|@GNU_CXX[@]|$(GNU_CXX)|g' \ - -e 's|@GNU_CXXFLAGS[@]|$(GNU_CXXFLAGS)|g' \ - -e 's|@GNU_F77[@]|$(GNU_F77)|g' \ - -e 's|@GNU_FFLAGS[@]|$(GNU_FFLAGS)|g' \ - -e 's|@GNU_FC[@]|$(GNU_FC)|g' \ - -e 's|@GNU_FCFLAGS[@]|$(GNU_FCFLAGS)|g' \ - -e 's|@GNU_GCJ[@]|$(GNU_GCJ)|g' \ - -e 's|@GNU_GCJFLAGS[@]|$(GNU_GCJFLAGS)|g' \ - -e 's|@YACC[@]|$(YACC)|g' \ - -e 's|@LEX[@]|$(LEX)|g' \ - -e 's|@TEX[@]|$(TEX)|g' \ - -e 's|@MODIFICATION_DELAY[@]|$(MODIFICATION_DELAY)|g' \ - -e 's|@am_AUTOCONF[@]|$(am_AUTOCONF)|g' \ - -e 's|@am_AUTOM4TE[@]|$(am_AUTOM4TE)|g' \ - -e 's|@am_AUTORECONF[@]|$(am_AUTORECONF)|g' \ - -e 's|@am_AUTOHEADER[@]|$(am_AUTOHEADER)|g' \ - -e 's|@am_AUTOUPDATE[@]|$(am_AUTOUPDATE)|g' \ - -e 's|@sh_errexit_works[@]|$(sh_errexit_works)|g' \ - -e 's|@configure_input[@]|Generated from $@.in. DO NOT EDIT BY HAND!|' - -defs-static: defs-static.in - $(AM_V_at)rm -f $@ $@-t - $(AM_V_GEN)$(do_subst) $(srcdir)/defs-static.in >$@-t - $(AM_V_at) : Sanity check on the substitutions; \ - if LC_ALL=C grep '@[a-zA-Z0-9_][a-zA-Z0-9_]*@' $@-t; then \ - echo "$@ contains unexpanded substitution (see lines above)"; \ - exit 1; \ - fi - $(AM_V_at)chmod a-w $@-t && mv -f $@-t $@ -EXTRA_DIST += defs-static.in -CLEANFILES = defs-static - -# If two test scripts have the same basename, they will end up sharing -# the same log file, leading to all sort of undefined and undesired -# behaviours. -check-no-repeated-test-name: - @LC_ALL=C; export LC_ALL; \ - lst='$(TEST_LOGS)'; for log in $$lst; do echo $$log; done \ - | sort | uniq -c | awk '($$1 > 1) { print }' \ - | sed 's/\.log$$//' | grep . >&2 \ - && { \ - echo $@: test names listed above are duplicated >&2; \ - exit 1; \ - }; : -check-local: check-no-repeated-test-name -.PHONY: check-no-repeated-test-name - -## Checking the list of tests. -test_subdirs = . pm -include $(srcdir)/CheckListOfTests.am - -# Run the testsuite with the installed aclocal and automake. -installcheck-local: - am_running_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check - -clean-local: clean-local-check -.PHONY: clean-local-check -clean-local-check: - -set x *.dir; shift; \ - if test "$$#,$$1" = "1,*.dir"; then \ - : there is no test directory to clean; \ - else \ - find "$$@" -type d ! -perm -700 -exec chmod u+rwx {} ';'; \ - rm -rf "$$@"; \ - fi; diff --git a/t/ax/tap-setup.sh b/t/ax/tap-setup.sh index ab155057a..70487c3e5 100644 --- a/t/ax/tap-setup.sh +++ b/t/ax/tap-setup.sh @@ -22,7 +22,7 @@ # Check that we are running from a proper directory: last thing we want # is to overwrite some random user files. -test -f ../defs-static && test -f ../defs \ +test -f ../../defs-static && test -f ../../defs && test -d ../../t \ || fatal_ "running from a wrong directory" test ! -f Makefile.am || mv Makefile.am Makefile.am~ \ diff --git a/t/defs b/t/defs deleted file mode 100644 index fb1370898..000000000 --- a/t/defs +++ /dev/null @@ -1,1102 +0,0 @@ -# -*- shell-script -*- -# -# Copyright (C) 1996-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 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 . - -######################################################## -### IMPORTANT NOTE: keep this file 'set -e' clean. ### -######################################################## - -# NOTE: This file should execute correctly with any system's /bin/sh -# shell, and not only with configure-time detected $CONFIG_SHELL, -# *until differently and explicitly specified*. - -## -------------------------------------------------------- ## -## Source static setup and definitions for the testsuite. ## -## -------------------------------------------------------- ## - -# Ensure we are running from the right directory. -test -f ./defs-static || { - echo "$0: ./defs-static: not found in current directory" >&2 - exit 99 -} - -# Source the shell sanitization and variables' definitions. -. ./defs-static || exit 99 - -# Enable the errexit shell flag early. -set -e - -# The name of the current test (without the '.sh' or '.tap' suffix). -# Test scripts can override it if they need to (but this should -# be done carefully, and *before* including ./defs). -if test -z "$me"; then - # Guard against failure to spawn sed (seen on MSYS), or empty $argv0. - me=`echo "$argv0" | sed -e 's,.*[\\/],,;s/\.sh$//;s/\.tap$//;'` \ - && test -n "$me" \ - || { echo "$argv0: failed to define \$me" >&2; exit 99; } -fi - -## ---------------------- ## -## Early sanity checks. ## -## ---------------------- ## - -# A single whitespace character. -sp=' ' -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' - -# As autoconf-generated configure scripts do, ensure that IFS -# is defined initially, so that saving and restoring $IFS works. -IFS=$sp$tab$nl - -# Ensure $testsrcdir is set correctly. -test -f "$testsrcdir/defs-static.in" || { - echo "$me: $testsrcdir/defs-static.in not found, check \$testsrcdir" >&2 - exit 99 -} - -# Ensure $testbuilddir is set correctly. -test -f "$testbuilddir/defs-static" || { - echo "$me: $testbuilddir/defs-static not found, check \$testbuilddir" >&2 - exit 99 -} - - -## ------------------------------------ ## -## Ensure we run with a proper shell. ## -## ------------------------------------ ## - -# Make sure we run with the shell detected at configure time (unless -# the user forbids it). -case ${AM_TESTS_REEXEC-yes} in - n|no|false|0) - ;; - *) - # Ensure we can find ourselves. - if test ! -f "$0"; then - echo "$me: unable to find myself: $0" >&2 - exit 99 - fi - AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC - # Cannot simply do "opts=$-", since the content of $- is not - # portable among different shells. So try to propagate only - # the portable and interesting options. - case $- in - *x*v*|*v*x) opts=-vx;; - *v*) opts=-v;; - *x*) opts=-x;; - *) opts=;; - esac - echo $me: exec $SHELL $opts "$0" "$*" - exec $SHELL $opts "$0" ${1+"$@"} || { - echo "$me: failed to re-execute with $SHELL" >&2 - exit 99 - } - ;; -esac - -# NOTE: From this point on, we can assume this file is being executed -# by the configure-time detected $CONFIG_SHELL. - - -## ----------------------- ## -## Early debugging info. ## -## ----------------------- ## - -echo "Running from installcheck: $am_running_installcheck" -echo "Using TAP: $am_using_tap" -echo "PATH = $PATH" - - -## ---------------------- ## -## Environment cleanup. ## -## ---------------------- ## - -# Temporarily disable this, since some shells (e.g., older version -# of Bash) can return a non-zero exit status upon the when a non-set -# variable is unset. -set +e - -# Unset some make-related variables that may cause $MAKE to act like -# a recursively invoked sub-make. Any $MAKE invocation in a test is -# conceptually an independent invocation, not part of the main -# 'automake' build. -unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL -unset __MKLVL__ MAKE_JOBS_FIFO # For BSD make. -unset DMAKE_CHILD DMAKE_DEF_PRINTED DMAKE_MAX_JOBS # For Solaris dmake. -# Unset verbosity flag. -unset V -# Also unset variables that will let "make -e install" divert -# files into unwanted directories. -unset DESTDIR -unset prefix exec_prefix bindir datarootdir datadir docdir dvidir -unset htmldir includedir infodir libdir libexecdir localedir mandir -unset oldincludedir pdfdir psdir sbindir sharedstatedir sysconfdir -# Unset variables that might change the "make distcheck" behaviour. -unset DISTCHECK_CONFIGURE_FLAGS AM_DISTCHECK_CONFIGURE_FLAGS -# The tests call "make -e" but we do not want $srcdir from the environment -# to override the definition from the Makefile. -unset srcdir -# Also unset variables that control our test driver. While not -# conceptually independent, they cause some changed semantics we -# need to control (and test for) in some of the tests to ensure -# backward-compatible behavior. -unset TESTS_ENVIRONMENT AM_TESTS_ENVIRONMENT -unset DISABLE_HARD_ERRORS -unset AM_COLOR_TESTS -unset TESTS -unset XFAIL_TESTS -unset TEST_LOGS -unset TEST_SUITE_LOG -unset RECHECK_LOGS -unset VERBOSE -for pfx in TEST_ TAP_ ''; do - unset ${pfx}LOG_COMPILER - unset ${pfx}LOG_COMPILE # Not a typo! - unset ${pfx}LOG_FLAGS - unset AM_${pfx}LOG_FLAGS - unset ${pfx}LOG_DRIVER - unset ${pfx}LOG_DRIVER_FLAGS - unset AM_${pfx}LOG_DRIVER_FLAGS -done -unset pfx - -# Re-enable, it had been temporarily disabled above. -set -e - -## ---------------------------- ## -## Auxiliary shell functions. ## -## ---------------------------- ## - -# Tell whether we should keep the test directories around, even in -# case of success. By default, we don't. -am_keeping_testdirs () -{ - case $keep_testdirs in - ""|n|no|NO) return 1;; - *) return 0;; - esac -} - -# This is used in 'Exit' and in the exit trap. See comments in the latter -# for more information, -am__test_skipped=no - -# We use a trap below for cleanup. This requires us to go through -# hoops to get the right exit status transported through the signal. -# So use "Exit STATUS" instead of "exit STATUS" inside of the tests. -# Turn off errexit here so that we don't trip the bug with OSF1/Tru64 -# sh inside this function. -Exit () -{ - set +e - # See comments in the exit trap for the reason we do this. - test 77 = $1 && am__test_skipped=yes - (exit $1); exit $1 -} - -if test $am_using_tap = yes; then - am_funcs_file=tap-functions.sh -else - am_funcs_file=plain-functions.sh -fi - -if test -f "$am_testauxdir/$am_funcs_file"; then - . "$am_testauxdir/$am_funcs_file" || { - echo "$me: error sourcing $testsrcdir/$am_funcs_file" >&2 - Exit 99 - } -else - echo "$me: $am_testauxdir/$am_funcs_file not found" >&2 - Exit 99 -fi -unset am_funcs_file - -# cross_compiling -# --------------- -# Tell whether we are cross-compiling. This is especially useful to skip -# tests (or portions of them) that requires a native compiler. -cross_compiling () -{ - # Quoting from the autoconf manual: - # ... [$host_alias and $build both] default to the result of running - # config.guess, unless you specify either --build or --host. In - # this case, the default becomes the system type you specified. - # If you specify both, *and they're different*, configure enters - # cross compilation mode (so it doesn't run any tests that require - # execution). - test x"$host_alias" != x && test x"$build_alias" != x"$host_alias" -} - -# is_newest FILE FILES -# -------------------- -# Return false if any file in FILES is newer than FILE. -# Resolve ties in favor of FILE. -is_newest () -{ - is_newest_files=`find "$@" -prune -newer "$1"` - test -z "$is_newest_files" -} - -# is_blocked_signal SIGNAL-NUMBER -# -------------------------------- -# Return success if the given signal number is blocked in the shell, -# return a non-zero exit status and print a proper diagnostic otherwise. -is_blocked_signal () -{ - # Use perl, since trying to do this portably in the shell can be - # very tricky, if not downright impossible. For reference, see: - # - if $PERL -w -e ' - use strict; - use warnings FATAL => "all"; - use POSIX; - my %oldsigaction = (); - sigaction('"$1"', 0, \%oldsigaction); - exit ($oldsigaction{"HANDLER"} eq "IGNORE" ? 0 : 77); - '; then - return 0 - elif test $? -eq 77; then - return 1 - else - fatal_ "couldn't determine whether signal $1 is blocked" - fi -} - -# AUTOMAKE_run [-e STATUS] [-d DESCRIPTION] [--] [AUTOMAKE-ARGS...] -# ----------------------------------------------------------------- -# Run automake with AUTOMAKE-ARGS, and fail if it doesn't exit with -# STATUS. Should be polymorphic for TAP and "plain" tests. The -# DESCRIPTION, when provided, is used for console reporting, only if -# the TAP protocol is in use in the current test script. -AUTOMAKE_run () -{ - am__desc= - am__exp_rc=0 - while test $# -gt 0; do - case $1 in - -d) am__desc=$2; shift;; - -e) am__exp_rc=$2; shift;; - --) shift; break;; - # Don't fail on unknown option: assume they (and the rest of the - # command line) are to be passed verbatim to automake (so stop our - # own option parsing). - *) break;; - esac - shift - done - am__got_rc=0 - $AUTOMAKE ${1+"$@"} >stdout 2>stderr || am__got_rc=$? - cat stderr >&2 - cat stdout - if test $am_using_tap != yes; then - test $am__got_rc -eq $am__exp_rc || Exit 1 - return - fi - if test -z "$am__desc"; then - if test $am__got_rc -eq $am__exp_rc; then - am__desc="automake exited $am__got_rc" - else - am__desc="automake exited $am__got_rc, expecting $am__exp_rc" - fi - fi - command_ok_ "$am__desc" test $am__got_rc -eq $am__exp_rc -} - -# AUTOMAKE_fails [-d DESCRIPTION] [OPTIONS...] -# -------------------------------------------- -# Run automake with OPTIONS, and fail if doesn't exit with status 1. -# Should be polymorphic for TAP and "plain" tests. The DESCRIPTION, -# when provided, is used for console reporting, only if the TAP -# protocol is in use in the current test script. -AUTOMAKE_fails () -{ - AUTOMAKE_run -e 1 ${1+"$@"} -} - -# extract_configure_help { --OPTION | VARIABLE-NAME } [FILES] -# ----------------------------------------------------------- -# Use this to extract from the output of "./configure --help" (or similar) -# the description or help message associated to the given --OPTION or -# VARIABLE-NAME. -extract_configure_help () -{ - am__opt_re='' am__var_re='' - case $1 in - --*'=') am__opt_re="^ $1";; - --*'[=]') am__opt_re='^ '`printf '%s\n' "$1" | sed 's/...$//'`'\[=';; - --*) am__opt_re="^ $1( .*|$)";; - *) am__var_re="^ $1( .*|$)";; - esac - shift - if test x"$am__opt_re" != x; then - LC_ALL=C awk ' - /'"$am__opt_re"'/ { print; do_print = 1; next; } - /^$/ { do_print = 0; next } - /^ --/ { do_print = 0; next } - (do_print == 1) { print } - ' ${1+"$@"} - else - LC_ALL=C awk ' - /'"$am__var_re"'/ { print; do_print = 1; next; } - /^$/ { do_print = 0; next } - /^ [A-Z][A-Z0-9_]* / { do_print = 0; next } - /^ [A-Z][A-Z0-9_]*$/ { do_print = 0; next } - (do_print == 1) { print } - ' ${1+"$@"} - fi -} - -# grep_configure_help { --OPTION | VARIABLE-NAME } REGEXP -# ------------------------------------------------------- -# Grep the section of "./configure --help" output associated with either -# --OPTION or VARIABLE-NAME for the given *extended* regular expression. -grep_configure_help () -{ - ./configure --help > am--all-help \ - || { cat am--all-help; Exit 1; } - cat am--all-help - extract_configure_help "$1" am--all-help > am--our-help \ - || { cat am--our-help; Exit 1; } - cat am--our-help - $EGREP "$2" am--our-help || Exit 1 -} - -# using_gmake -# ----------- -# Return success if $MAKE is GNU make, return failure otherwise. -# Caches the result for speed reasons. -using_gmake () -{ - case $am__using_gmake in - yes) - return 0;; - no) - return 1;; - '') - # Use --version AND -v, because SGI Make doesn't fail on --version. - # Also grep for GNU because newer versions of FreeBSD make do - # not complain about --version (they seem to silently ignore it). - if $MAKE --version -v | grep GNU; then - am__using_gmake=yes - return 0 - else - am__using_gmake=no - return 1 - fi;; - *) - fatal_ "invalid value for \$am__using_gmake: '$am__using_gmake'";; - esac -} -am__using_gmake="" # Avoid interferences from the environment. - -# make_can_chain_suffix_rules -# --------------------------- -# Return 0 if $MAKE is a make implementation that can chain suffix rules -# automatically, return 1 otherwise. Caches the result for speed reasons. -make_can_chain_suffix_rules () -{ - if test -z "$am__can_chain_suffix_rules"; then - if using_gmake; then - am__can_chain_suffix_rules=yes - return 0 - else - mkdir am__chain.dir$$ - cd am__chain.dir$$ - unindent > Makefile << 'END' - .SUFFIXES: .u .v .w - .u.v: ; cp $< $@ - .v.w: ; cp $< $@ -END - echo make can chain suffix rules > foo.u - if $MAKE foo.w && diff foo.u foo.w; then - am__can_chain_suffix_rules=yes - else - am__can_chain_suffix_rules=no - fi - cd .. - rm -rf am__chain.dir$$ - fi - fi - case $am__can_chain_suffix_rules in - yes) return 0;; - no) return 1;; - *) fatal_ "make_can_chain_suffix_rules: internal error";; - esac -} -am__can_chain_suffix_rules="" # Avoid interferences from the environment. - -# useless_vpath_rebuild -# --------------------- -# Tell whether $MAKE suffers of the bug triggering automake bug#7884. -# For example, this happens with FreeBSD make, since in a VPATH build -# it tends to rebuilt files for which there is an explicit or even just -# a suffix rule, even if said files are already available in the VPATH -# directory. -useless_vpath_rebuild () -{ - if test -z "$am__useless_vpath_rebuild"; then - if using_gmake; then - am__useless_vpath_rebuild=no - return 1 - fi - mkdir am__vpath.dir$$ - cd am__vpath.dir$$ - touch foo.a foo.b bar baz - mkdir build - cd build - unindent > Makefile << 'END' - .SUFFIXES: .a .b - VPATH = .. - all: foo.b baz - .PHONY: all - .a.b: ; cp $< $@ - baz: bar ; cp ../baz bar -END - if $MAKE all && test ! -f foo.b && test ! -f bar; then - am__useless_vpath_rebuild=no - else - am__useless_vpath_rebuild=yes - fi - cd ../.. - rm -rf am__vpath.dir$$ - fi - case $am__useless_vpath_rebuild in - yes) return 0;; - no) return 1;; - "") ;; - *) fatal_ "no_useless_builddir_remake: internal error";; - esac -} -am__useless_vpath_rebuild="" - -yl_distcheck () { useless_vpath_rebuild || $MAKE distcheck ${1+"$@"}; } - -# seq_ - print a sequence of numbers -# ---------------------------------- -# This function simulates GNU seq(1) portably. Valid usages: -# - seq LAST -# - seq FIRST LAST -# - seq FIRST INCREMENT LAST -seq_ () -{ - case $# in - 0) fatal_ "seq_: missing argument";; - 1) seq_first=1 seq_incr=1 seq_last=$1;; - 2) seq_first=$1 seq_incr=1 seq_last=$2;; - 3) seq_first=$1 seq_incr=$2 seq_last=$3;; - *) fatal_ "seq_: too many arguments";; - esac - # Try to avoid forks if possible. - case "$BASH_VERSION" in - ""|[12].*) - : Not bash, or a too old bash version. ;; - *) - # Use eval to protect dumber shells from parsing errors. - eval 'for ((i = seq_first; i <= seq_last; i += seq_incr)); do - echo $i - done' - return 0;; - esac - # Else, use GNU seq if available. - seq "$@" && return 0 - # Otherwise revert to a slower loop using expr(1). - i=$seq_first - while test $i -le $seq_last; do - echo $i - i=`expr $i + $seq_incr` - done -} - -# rm_rf_ [FILES OR DIRECTORIES ...] -# --------------------------------- -# Recursively remove the given files or directory, also handling the case -# of non-writable subdirectories. -rm_rf_ () -{ - test $# -gt 0 || return 0 - # Ignore failures in find, we are only interested in failures of the - # final rm. - find "$@" -type d ! -perm -700 -exec chmod u+rwx {} \; || : - rm -rf "$@" -} - -# count_test_results total=N pass=N fail=N xpass=N xfail=N skip=N error=N -# ----------------------------------------------------------------------- -# Check that a testsuite run driven by the parallel-tests harness has -# had the specified numbers of test results (specified by kind). -# This function assumes that the output of "make check" or "make recheck" -# has been saved in the 'stdout' file in the current directory, and its -# log in the 'test-suite.log' file. -count_test_results () -{ - # Use a subshell so that we won't pollute the script namespace. - ( - # TODO: Do proper checks on the arguments? - total=ERR pass=ERR fail=ERR xpass=ERR xfail=ERR skip=ERR error=ERR - eval "$@" - # For debugging. - $EGREP -i '(total|x?pass|x?fail|skip|error)' stdout || : - rc=0 - # Avoid spurious failures with shells with "overly sensible" - # errexit shell flag, such as e.g., Solaris /bin/sh. - set +e - test `grep -c '^PASS:' stdout` -eq $pass || rc=1 - test `grep -c '^XFAIL:' stdout` -eq $xfail || rc=1 - test `grep -c '^SKIP:' stdout` -eq $skip || rc=1 - test `grep -c '^FAIL:' stdout` -eq $fail || rc=1 - test `grep -c '^XPASS:' stdout` -eq $xpass || rc=1 - test `grep -c '^ERROR:' stdout` -eq $error || rc=1 - grep "^# TOTAL: *$total$" stdout || rc=1 - grep "^# PASS: *$pass$" stdout || rc=1 - grep "^# XFAIL: *$xfail$" stdout || rc=1 - grep "^# SKIP: *$skip$" stdout || rc=1 - grep "^# FAIL: *$fail$" stdout || rc=1 - grep "^# XPASS: *$xpass$" stdout || rc=1 - grep "^# ERROR: *$error$" stdout || rc=1 - test $rc -eq 0 - ) -} - -commented_sed_unindent_prog=' - /^$/b # Nothing to do for empty lines. - x # Get x into pattern space. - /^$/{ # No prior x, go prepare it. - g # Copy this 1st non-blank line into pattern space. - s/^\(['"$tab"' ]*\).*/x\1/ # Prepare x in pattern space. - } # Now: x in pattern and in hold. - G # Build x\n in pattern space, and - h # duplicate it into hold space. - s/\n.*$// # Restore x in pattern space, and - x # exchange with the above duplicate in hold space. - s/^x\(.*\)\n\1// # Remove leading from . - s/^x.*\n// # Restore when there is no leading . -' - -# unindent [input files...] -# ------------------------- -# Remove the "proper" amount of leading whitespace from the given files, -# and output the result on stdout. That amount is determined by looking -# at the leading whitespace of the first non-blank line in the input -# files. If no input file is specified, standard input is implied. -unindent () -{ - if test x"$sed_unindent_prog" = x; then - sed_unindent_prog=`printf '%s\n' "$commented_sed_unindent_prog" | sed -e "s/ *# .*//"` - fi - sed "$sed_unindent_prog" ${1+"$@"} -} -sed_unindent_prog="" # Avoid interferences from the environment. - -# get_shell_script SCRIPT-NAME -# ----------------------------- -# Fetch an Automake-provided shell script from the 'lib/' directory into -# the current directory, and, if the '$am_test_prefer_config_shell' -# variable is set to "yes", modify its shebang line to use $SHELL instead -# of /bin/sh. -get_shell_script () -{ - test ! -f "$1" || rm -f "$1" || return 99 - if test x"$am_test_prefer_config_shell" = x"yes"; then - sed "1s|#!.*|#! $SHELL|" "$am_scriptdir/$1" > "$1" \ - && chmod a+x "$1" \ - || return 99 - else - cp -f "$am_scriptdir/$1" . || return 99 - fi - sed 10q "$1" # For debugging. -} - -# require_xsi SHELL -# ----------------- -# Skip the test if the given shell fails to support common XSI constructs. -require_xsi () -{ - test $# -eq 1 || fatal_ "require_xsi needs exactly one argument" - echo "$me: trying some XSI constructs with $1" - $1 -c "$xsi_shell_code" || skip_all_ "$1 lacks XSI features" -} -# Shell code supposed to work only with XSI shells. Keep this in sync -# with libtool.m4:_LT_CHECK_SHELL_FEATURES. -xsi_shell_code=' - _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval '\''test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5'\' - -# fetch_tap_driver -# ---------------- -# Fetch the Automake-provided TAP driver from the 'lib/' directory into -# the current directory, and edit its shebang line so that it will be -# run with the perl interpreter determined at configure time. -fetch_tap_driver () -{ - # TODO: we should devise a way to make the shell TAP driver tested also - # TODO: with /bin/sh, for better coverage. - case $am_tap_implementation in - perl) - $PERL -MTAP::Parser -e 1 \ - || skip_all_ "cannot import TAP::Parser perl module" - sed "1s|#!.*|#! $PERL -w|" "$am_scriptdir"/tap-driver.pl >tap-driver - ;; - shell) - AM_TAP_AWK=$AWK; export AM_TAP_AWK - sed "1s|#!.*|#! $SHELL|" "$am_scriptdir"/tap-driver.sh >tap-driver - ;; - *) - fatal_ "invalid \$am_tap_implementation '$am_tap_implementation'" ;; - esac \ - && chmod a+x tap-driver \ - || framework_failure_ "couldn't fetch $am_tap_implementation TAP driver" - sed 10q tap-driver # For debugging. -} -# The shell/awk implementation of the TAP driver is still mostly dummy, so -# use the perl implementation by default for the moment. -am_tap_implementation=${am_tap_implementation-shell} - -# Usage: require_compiler_ {cc|c++|fortran|fortran77} -require_compiler_ () -{ - case $# in - 0) fatal_ "require_compiler_: missing argument";; - 1) ;; - *) fatal_ "require_compiler_: too many arguments";; - esac - case $1 in - cc) - am__comp_lang="C" - am__comp_var=CC - am__comp_flag_vars='CFLAGS CPPFLAGS' - ;; - c++) - am__comp_lang="C++" - am__comp_var=CXX - am__comp_flag_vars='CXXFLAGS CPPFLAGS' - ;; - fortran) - am__comp_lang="Fortran" - am__comp_var=FC - am__comp_flag_vars='FCFLAGS' - ;; - fortran77) - am__comp_lang="Fortran 77" - am__comp_var=F77 - am__comp_flag_vars='FFLAGS' - ;; - esac - shift - eval "am__comp_prog=\${$am__comp_var}" \ - || fatal_ "expanding \${$am__comp_var} in require_compiler_" - case $am__comp_prog in - "") - fatal_ "botched configuration: \$$am__comp_var is empty";; - false) - skip_all_ "no $am__comp_lang compiler available";; - autodetect|autodetected) - # Let the ./configure commands in the test script try to determine - # these automatically. - unset $am__comp_var $am__comp_flag_vars;; - *) - # Pre-set these for the ./configure commands in the test script. - export $am__comp_var $am__comp_flag_vars;; - esac - # Delete private variables. - unset am__comp_lang am__comp_prog am__comp_var am__comp_flag_vars -} - -## ----------------------------------------------------------- ## -## Checks for required tools, and additional setups (if any) ## -## required by them. ## -## ----------------------------------------------------------- ## - -# Look for (and maybe set up) required tools and/or system features; skip -# the current test if they are not found. -for tool in : $required -do - # Check that each required tool is present. - case $tool in - :) ;; - cc|c++|fortran|fortran77) - require_compiler_ $tool;; - xsi-lib-shell) - if test x"$am_test_prefer_config_shell" = x"yes"; then - require_xsi "$SHELL" - else - require_xsi "/bin/sh" - fi - ;; - bzip2) - # Do not use --version, older versions bzip2 still tries to compress - # stdin. - echo "$me: running bzip2 --help" - bzip2 --help \ - || skip_all_ "required program 'bzip2' not available" - ;; - cl) - CC=cl - # Don't export CFLAGS, as that could have been initialized to only - # work with the C compiler detected at configure time. If the user - # wants CFLAGS to also influence 'cl', he can still export CFLAGS - # in the environment "by hand" before calling the testsuite. - export CC CPPFLAGS - echo "$me: running $CC -?" - $CC -? || skip_all_ "Microsoft C compiler '$CC' not available" - ;; - etags) - # Exuberant Ctags will create a TAGS file even - # when asked for --help or --version. (Emacs's etags - # does not have such problem.) Use -o /dev/null - # to make sure we do not pollute the build directory. - echo "$me: running etags --version -o /dev/null" - etags --version -o /dev/null \ - || skip_all_ "required program 'etags' not available" - ;; - GNUmake) - for make_ in "$MAKE" gmake gnumake :; do - MAKE=$make_ am__using_gmake='' - test "$MAKE" = : && break - echo "$me: determine whether $MAKE is GNU make" - # Don't use "&&" here, or a bug of 'set -e' present in some - # versions of the BSD shell will be triggered. We add the - # dummy "else" branch for extra safety. - if using_gmake; then break; else :; fi - done - test "$MAKE" = : && skip_all_ "this test requires GNU make" - export MAKE - unset make_ - ;; - gcj) - GCJ=$GNU_GCJ GCJFLAGS=$GNU_GCJFLAGS; export GCJ GCJFLAGS - test "$GCJ" = false && skip_all_ "GNU Java compiler unavailable" - : For shells with busted 'set -e'. - ;; - gcc) - CC=$GNU_CC CFLAGS=$GNU_CFLAGS; export CC CFLAGS CPPFLAGS - test "$CC" = false && skip_all_ "GNU C compiler unavailable" - : For shells with busted 'set -e'. - ;; - g++) - CXX=$GNU_CXX CXXFLAGS=$GNU_CXXFLAGS; export CXX CXXFLAGS CPPFLAGS - test "$CXX" = false && skip_all_ "GNU C++ compiler unavailable" - : For shells with busted 'set -e'. - ;; - gfortran) - FC=$GNU_FC FCFLAGS=$GNU_FCFLAGS; export FC FCFLAGS - test "$FC" = false && skip_all_ "GNU Fortran compiler unavailable" - case " $required " in - *\ g77\ *) ;; - *) F77=$FC FFLAGS=$FCFLAGS; export F77 FFLAGS;; - esac - ;; - g77) - F77=$GNU_F77 FFLAGS=$GNU_FFLAGS; export F77 FFLAGS - test "$F77" = false && skip_all_ "GNU Fortran 77 compiler unavailable" - case " $required " in - *\ gfortran\ *) ;; - *) FC=$F77 FCFLAGS=$FFLAGS; export FC FCFLAGS;; - esac - ;; - javac) - # The Java compiler from JDK 1.5 (and presumably earlier versions) - # cannot handle the '-version' option by itself: it bails out - # telling that source files are missing. Adding also the '-help' - # option seems to solve the problem. - echo "$me: running javac -version -help" - javac -version -help || skip_all_ "Sun Java compiler not available" - ;; - java) - # See the comments above about 'javac' for why we use also '-help'. - echo "$me: running java -version -help" - java -version -help || skip_all_ "Sun Java interpreter not found" - ;; - lib) - AR=lib - export AR - # Attempting to create an empty archive will actually not - # create the archive, but lib will output its version. - echo "$me: running $AR -out:defstest.lib" - $AR -out:defstest.lib \ - || skip_all_ "Microsoft 'lib' utility not available" - ;; - makedepend) - echo "$me: running makedepend -f-" - makedepend -f- \ - || skip_all_ "required program 'makedepend' not available" - ;; - makeinfo-html) - # Make sure we have makeinfo, and it understands '--html'. - echo "$me: running makeinfo --html --version" - makeinfo --html --version \ - || skip_all_ "cannot find a makeinfo program that groks" \ - "the '--html' option" - ;; - mingw) - uname_s=`uname -s || echo UNKNOWN` - echo "$me: system name: $uname_s" - case $uname_s in - MINGW*) ;; - *) skip_all_ "this test requires MSYS in MinGW mode" ;; - esac - ;; - non-root) - # Skip this test case if the user is root. - # We try to append to a read-only file to detect this. - priv_check_temp=priv-check.$$ - touch $priv_check_temp && chmod a-w $priv_check_temp \ - || framework_failure_ "creating unwritable file $priv_check_temp" - # Not a useless use of subshell: lesser shells like Solaris /bin/sh - # can exit if a builtin fails. - overwrite_status=0 - (echo foo >> $priv_check_temp) || overwrite_status=$? - rm -f $priv_check_temp - if test $overwrite_status -eq 0; then - skip_all_ "cannot drop file write permissions" - fi - unset priv_check_temp overwrite_status - ;; - perl-threads) - if test "$WANT_NO_THREADS" = "yes"; then - skip_all_ "Devel::Cover cannot cope with threads" - fi - ;; - native) - # Don't use "&&" here, to avoid a bug of 'set -e' present in - # some (even relatively recent) versions of the BSD shell. - # We add the dummy "else" branch for extra safety. - if cross_compiling; then - skip_all_ "doesn't work in cross-compile mode" - else :; fi - ;; - python) - # Python doesn't support --version, it has -V - echo "$me: running python -V" - python -V || skip_all_ "python interpreter not available" - ;; - ro-dir) - # Skip this test case if read-only directories aren't supported - # (e.g., under DOS.) - ro_dir_temp=ro_dir.$$ - mkdir $ro_dir_temp && chmod a-w $ro_dir_temp \ - || framework_failure_ "creating unwritable directory $ro_dir_temp" - # Not a useless use of subshell: lesser shells like Solaris /bin/sh - # can exit if a builtin fails. - create_status=0 - (: > $ro_dir_temp/probe) || create_status=$? - rm -rf $ro_dir_temp - if test $create_status -eq 0; then - skip_all_ "cannot drop directory write permissions" - fi - unset ro_dir_temp create_status - ;; - runtest) - # DejaGnu's runtest program. We rely on being able to specify - # the program on the runtest command-line. This requires - # DejaGnu 1.4.3 or later. - echo "$me: running runtest SOMEPROGRAM=someprogram --version" - runtest SOMEPROGRAM=someprogram --version \ - || skip_all_ "DejaGnu is not available" - ;; - tex) - # No all versions of Tex support '--version', so we use - # a configure check. - if test -z "$TEX"; then - skip_all_ "TeX is required, but it wasn't found by configure" - fi - ;; - texi2dvi-o) - # Texi2dvi supports '-o' since Texinfo 4.1. - echo "$me: running texi2dvi -o /dev/null --version" - texi2dvi -o /dev/null --version \ - || skip_all_ "required program 'texi2dvi' not available" - ;; - lex) - test x"$LEX" = x"false" && skip_all_ "lex not found or disabled" - export LEX - ;; - yacc) - test x"$YACC" = x"false" && skip_all_ "yacc not found or disabled" - export YACC - ;; - flex) - LEX=flex; export LEX - echo "$me: running flex --version" - flex --version || skip_all_ "required program 'flex' not available" - ;; - bison) - YACC='bison -y'; export YACC - echo "$me: running bison --version" - bison --version || skip_all_ "required program 'bison' not available" - ;; - *) - # Generic case: the tool must support --version. - echo "$me: running $tool --version" - # It is not likely but possible that $tool is a special builtin, - # in which case the shell is allowed to exit after an error. So - # we need the subshell here. Also, some tools, like Sun cscope, - # can be interactive without redirection. - ($tool --version) - trap "trap '' 13; fatal_ 'caught signal SIGPIPE'" 13 -fi - -# Create and populate the temporary directory, if and as required. -if test x"$am_create_testdir" = x"no"; then - testSubDir= -else - # The subdirectory where the current test script will run and write its - # temporary/data files. This will be created shortly, and will be removed - # by the cleanup trap below if the test passes. If the test doesn't pass, - # this directory will be kept, to facilitate debugging. - testSubDir=$me.dir - test ! -d $testSubDir || rm_rf_ $testSubDir \ - || framework_failure_ "removing old test subdirectory" - mkdir $testSubDir \ - || framework_failure_ "creating test subdirectory" - cd ./$testSubDir \ - || framework_failure_ "cannot chdir into test subdirectory" - if test x"$am_create_testdir" != x"empty"; then - cp "$am_scriptdir"/install-sh "$am_scriptdir"/missing \ - "$am_scriptdir"/depcomp . \ - || framework_failure_ "fetching common files from $am_scriptdir" - # Build appropriate environment in test directory. E.g., create - # configure.ac, touch all necessary files, etc. Don't use AC_OUTPUT, - # but AC_CONFIG_FILES so that appending still produces a valid - # configure.ac. But then, tests running config.status really need - # to append AC_OUTPUT. - { - echo "AC_INIT([$me], [1.0])" - if test x"$am_parallel_tests" = x"yes"; then - echo "AM_INIT_AUTOMAKE([parallel-tests])" - else - echo "AM_INIT_AUTOMAKE" - fi - echo "AC_CONFIG_FILES([Makefile])" - } >configure.ac || framework_failure_ "creating configure.ac skeleton" - fi -fi - - -## ---------------- ## -## Ready to go... ## -## ---------------- ## - -set -x -pwd diff --git a/t/defs-static.in b/t/defs-static.in deleted file mode 100644 index c1500cdb6..000000000 --- a/t/defs-static.in +++ /dev/null @@ -1,246 +0,0 @@ -# -*- shell-script -*- -# @configure_input@ -# -# Copyright (C) 1996-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 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 . - -# Defines and minimal setup for Automake testing environment. - -# IMPORTANT NOTES AND REQUIREMENTS -# - Multiple inclusions of this file should be idempotent. -# - This code has to be 'set -e' clean. -# - This file should execute correctly with any system's /bin/sh -# shell, not only with configure-time detected $CONFIG_SHELL. - -# 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: - # - # 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 - -# Check that the environment is properly sanitized. -# Having variables exported to the empty string is OK, since our code -# treats such variables as if they were unset. -for var in \ - me \ - required \ - am_using_tap \ - am_parallel_tests \ - am_create_testdir \ - am_tap_implementation \ - am_test_prefer_config_shell \ - am_original_AUTOMAKE \ - am_original_ACLOCAL \ -; do - if eval "test x\"\$$var\" != x" && env | grep "^$var=" >/dev/null; then - echo "$argv0: variable '$var' is set in the environment:" \ - "this is unsafe" >&2 - exit 99 - fi -done -unset var - -# See whether the current test script is expected to use TAP or not. -# Use a sensible default, while allowing the scripts to override this -# check. -if test -z "$am_using_tap"; then - case $argv0 in *.tap) am_using_tap=yes;; *) am_using_tap=no;; esac -fi - -testsrcdir='@abs_srcdir@' -top_testsrcdir='@abs_top_srcdir@' -testbuilddir='@abs_builddir@' -top_testbuilddir='@abs_top_builddir@' -testprefix='@prefix@' - -# Where testsuite-related helper scripts, data files and shell libraries -# are placed. -am_testauxdir=$testsrcdir/ax - -# Support for the "installcheck" target. -case ${am_running_installcheck:=no} in - yes) - am_amdir='@amdir@' - am_automake_acdir='@automake_acdir@' - am_bindir='@bindir@' - am_datadir='@datadir@' - am_docdir='@docdir@' - am_pkgvdatadir='@pkgvdatadir@' - am_scriptdir='@scriptdir@' - am_system_acdir='@system_acdir@' - ;; - no) - am_amdir=$top_testsrcdir/lib/am - am_automake_acdir=$top_testsrcdir/m4 - am_bindir=$testbuilddir/wrap - am_datadir=$top_testsrcdir - am_docdir=$top_testsrcdir/doc - am_pkgvdatadir=$top_testsrcdir/lib - am_scriptdir=$top_testsrcdir/lib - am_system_acdir=$top_testsrcdir/m4/acdir - ;; - *) - echo "$argv0: variable 'am_running_installcheck' has invalid" - "value '$am_running_installcheck'" >&2 - exit 99 - ;; -esac - -APIVERSION='@APIVERSION@' -PATH_SEPARATOR='@PATH_SEPARATOR@' - -host_alias=${host_alias-'@host_alias@'}; export host_alias -build_alias=${build_alias-'@build_alias@'}; export build_alias - -# Make sure we override the user shell. And do not read the value of -# $SHELL from the environment (think to the non-uncommon situation where -# e.g., $SHELL=/bin/tcsh). -SHELL=${AM_TESTSUITE_SHELL-'@SHELL@'}; export SHELL - -# User can override various tools used. Prefer overriding specific for -# that automake testsuite, if they are available. -AWK=${AM_TESTSUITE_AWK-${AWK-'@AWK@'}} -PERL=${AM_TESTSUITE_PERL-${PERL-'@PERL@'}} -MAKE=${AM_TESTSUITE_MAKE-${MAKE-'make'}} -YACC=${AM_TESTSUITE_YACC-${YACC-'@YACC@'}} -LEX=${AM_TESTSUITE_LEX-${LEX-'@LEX@'}} -AUTOCONF=${AM_TESTSUITE_AUTOCONF-${AUTOCONF-'@am_AUTOCONF@'}} -AUTOM4TE=${AM_TESTSUITE_AUTOM4TE-${AUTOM4TE-'@am_AUTOM4TE@'}} -AUTORECONF=${AM_TESTSUITE_AUTORECONF-${AUTORECONF-'@am_AUTORECONF@'}} -AUTOHEADER=${AM_TESTSUITE_AUTOHEADER-${AUTOHEADER-'@am_AUTOHEADER@'}} -AUTOUPDATE=${AM_TESTSUITE_AUTOUPDATE-${AUTOUPDATE-'@am_AUTOUPDATE@'}} - -# Tests who want complete control over aclocal or automake command-line -# options should use $am_original_ACLOCAL or $am_original_AUTOMAKE. The -# "test -z" tests take care not to re-initialize them if defs-static -# is re-sourced, as we want defs-static to remain really idempotent. -if test -z "$am_original_AUTOMAKE"; then - am_original_AUTOMAKE=${AM_TESTSUITE_AUTOMAKE-${AUTOMAKE-"automake-$APIVERSION"}} -fi -if test -z "$am_original_ACLOCAL"; then - am_original_ACLOCAL=${AM_TESTSUITE_ACLOCAL-${ACLOCAL-"aclocal-$APIVERSION"}} -fi - -# 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 $am_original_ACLOCAL instead. -ACLOCAL="$am_original_ACLOCAL -Werror" - -# 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 $am_original_AUTOMAKE instead. -AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror -Wall" - -# POSIX no longer requires 'egrep' and 'fgrep', -# but some hosts lack 'grep -E' and 'grep -F'. -EGREP=${AM_TESTSUITE_EGREP-'@EGREP@'} -FGREP=${AM_TESTSUITE_FGREP-'@FGREP@'} - -# Compilers and their flags. These can point to non-GNU compilers (and -# on non-Linux and non-BSD systems, they probably will). -CC=${AM_TESTSUITE_CC-${CC-'@CC@'}} -CXX=${AM_TESTSUITE_CXX-${CXX-'@CXX@'}} -F77=${AM_TESTSUITE_F77-${F77-'@F77@'}} -FC=${AM_TESTSUITE_FC-${FC-'@FC@'}} -CFLAGS=${AM_TESTSUITE_CFLAGS-${CFLAGS-'@CFLAGS@'}} -CXXFLAGS=${AM_TESTSUITE_CXXFLAGS-${CXXFLAGS-'@CXXFLAGS@'}} -FCFLAGS=${AM_TESTSUITE_FCFLAGS-${FCFLAGS-'@FCFLAGS@'}} -FFLAGS=${AM_TESTSUITE_FFLAGS-${FFLAGS-'@FFLAGS@'}} -CPPFLAGS=${AM_TESTSUITE_CPPFLAGS-${CPPFLAGS-'@CPPFLAGS@'}} - -# GNU compilers and their flags. -GNU_CC=${AM_TESTSUITE_GNU_CC-${GNU_CC-'@GNU_CC@'}} -GNU_CXX=${AM_TESTSUITE_GNU_CXX-${GNU_CXX-'@GNU_CXX@'}} -GNU_F77=${AM_TESTSUITE_GNU_F77-${GNU_F77-'@GNU_F77@'}} -GNU_FC=${AM_TESTSUITE_GNU_FC-${GNU_FC-'@GNU_FC@'}} -GNU_FFLAGS=${AM_TESTSUITE_GNU_FFLAGS-${GNU_FFLAGS-'@GNU_FFLAGS@'}} -GNU_FCFLAGS=${AM_TESTSUITE_GNU_FCFLAGS-${GNU_FCFLAGS-'@GNU_FCFLAGS@'}} -GNU_CXXFLAGS=${AM_TESTSUITE_GNU_CXXFLAGS-${GNU_CXXFLAGS-'@GNU_CXXFLAGS@'}} -GNU_CFLAGS=${AM_TESTSUITE_GNU_CFLAGS-${GNU_CFLAGS-'@GNU_CFLAGS@'}} -GNU_GCJ=${AM_TESTSUITE_GNU_GCJ-${GNU_GCJ-'@GNU_GCJ@'}} -GNU_GCJFLAGS=${AM_TESTSUITE_GNU_GCJFLAGS-${GNU_GCJFLAGS-'@GNU_GCJFLAGS@'}} - -# 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=${AM_TESTSUITE_TEX-'@TEX@'} - -# Whether $SHELL 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 . -old_timestamp=198309271735.59 - -# Make our wrapper script (or installed scripts, if running under -# "installcheck") accessible by default. And avoid to uselessly -# extend $PATH multiple times if this file is sourced multiple times. -case $PATH in - $am_bindir$PATH_SEPARATOR*) ;; - *) PATH=$am_bindir$PATH_SEPARATOR$PATH;; -esac - -# Make our helper script accessible by default. -PATH=$testsrcdir/ax$PATH_SEPARATOR$PATH - -export PATH diff --git a/t/gen-testsuite-part b/t/gen-testsuite-part deleted file mode 100755 index f97810645..000000000 --- a/t/gen-testsuite-part +++ /dev/null @@ -1,414 +0,0 @@ -#! /usr/bin/env perl -# Automatically compute some dependencies for the hand-written tests -# of the Automake testsuite. Also, automatically generate some more -# tests from them (for particular cases/setups only). - -# Copyright (C) 2011-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 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 . - -#-------------------------------------------------------------------------- - -use warnings FATAL => "all"; -use strict; -use File::Basename (); -use constant TRUE => 1; -use constant FALSE => 0; - -my $me = File::Basename::basename $0; - -# For use in VPATH builds. -my $srcdir = "."; - -#-------------------------------------------------------------------------- - -sub unindent ($) -{ - my $text = shift; - $text =~ /^(\s*)/; - my $indentation = $1; - $text =~ s/^$indentation//gm; - return $text; -} - -sub atomic_write ($$;$) -{ - my ($outfile, $func) = (shift, shift); - my $perms = @_ > 0 ? shift : 0777; - my $tmpfile = "$outfile-t"; - foreach my $f ($outfile, $tmpfile) - { - unlink $f or die "$me: cannot unlink '$f': $!\n" - if -e $f; - } - open (my $fh, ">$tmpfile") - or die "$me: can't write to '$tmpfile': $!\n"; - $func->($fh); - close $fh - or die "$me: closing '$tmpfile': $!\n"; - chmod ($perms & ~umask, $tmpfile) - or die "$me: cannot change perms for '$tmpfile': $!\n"; - rename ($tmpfile, $outfile) - or die "$me: renaming '$tmpfile' -> '$outfile: $!\n'"; -} - -sub line_match ($$) -{ - my ($re, $file) = (shift, shift); - # Try both curdir and srcdir, with curdir first, to play nice - # with VPATH builds. - open (FH, "<$file") or open (FH, "<$srcdir/$file") - or die "$me: cannot open file '$file': $!\n"; - my $ret = 0; - while (defined (my $line = )) - { - if ($line =~ $re) - { - $ret = 1; - last; - } - } - close FH or die "$me: cannot close file '$file': $!\n"; - return $ret; -} - -sub write_wrapper_script ($$$) -{ - my ($file_handle, $wrapped_test, $shell_setup_code, $creator_name) = @_; - # FIXME: we use some creative quoting in the generated scripts, - # FIXME: to please maintainer-check. - print $file_handle unindent <&2 - exit '99' -EOF -} - -sub get_list_of_tests () -{ - my $make = defined $ENV{MAKE} ? $ENV{MAKE} : "make"; - # Unset MAKEFLAGS, for when we are called from make itself. - my $cmd = "MAKEFLAGS= && unset MAKEFLAGS && cd '$srcdir' && " - . "$make -s -f list-of-tests.mk print-list-of-tests"; - my @tests_list = split /\s+/, `$cmd`; - die "$me: cannot get list of tests\n" unless $? == 0 && @tests_list; - my $ok = 1; - foreach my $test (@tests_list) - { - # Respect VPATH builds. - next if -f $test || -f "$srcdir/$test"; - warn "$me: test `$test' not found\n"; - $ok = 0; - } - die "$me: some test scripts not found\n" if !$ok; - return @tests_list; -} - -sub parse_options (@) -{ - use Getopt::Long qw/GetOptions/; - local @ARGV = @_; - GetOptions ('srcdir=s' => \$srcdir) or die "$me: usage error\n"; - die "$me: too many arguments\n" if @ARGV > 0; - die "$me: srcdir '$srcdir': not a directory\n" unless -d $srcdir; -} - -#-------------------------------------------------------------------------- - -# Where testsuite-related helper scripts, data files and shell libraries -# are placed. Relative to the 't/' subdirectory. -my $auxdir = "ax"; - -my %deps_extractor = - ( - libtool_macros => - { - line_matcher => qr/^\s*required=.*\blibtool/, - nodist_prereqs => "libtool-macros.log", - }, - gettext_macros => - { - line_matcher => qr/^\s*required=.*\bgettext/, - nodist_prereqs => "gettext-macros.log", - }, - use_trivial_test_driver => - { - line_matcher => qr/\btrivial-test-driver\b/, - dist_prereqs => "$auxdir/trivial-test-driver", - }, - check_testsuite_summary => - { - line_matcher => qr/\btestsuite-summary-checks\.sh\b/, - dist_prereqs => "$auxdir/testsuite-summary-checks.sh", - }, - extract_testsuite_summary => - { - line_matcher => qr/\bextract-testsuite-summary\.pl\b/, - dist_prereqs => "$auxdir/extract-testsuite-summary.pl", - }, - check_tap_testsuite_summary => - { - line_matcher => qr/\btap-summary-aux\.sh\b/, - dist_prereqs => "$auxdir/tap-summary-aux.sh", - }, - on_tap_with_common_setup => - { - line_matcher => qr/\btap-setup\.sh\b/, - dist_prereqs => "$auxdir/tap-setup.sh", - nodist_prereqs => "tap-common-setup.log", - }, - depcomp => - { - line_matcher => qr/\bdepcomp\.sh\b/, - dist_prereqs => "$auxdir/depcomp.sh", - }, - ); - -#-------------------------------------------------------------------------- - -my %test_generators = - ( - # - # For each test script in the Automake testsuite that itself tests - # features of the TESTS automake interface, define a sibling test - # that does likewise, but with the option 'parallel-tests' enabled. - # - # A test is considered a candidate for sibling-generation if any - # Makefile.am generated by it define the TESTS variable. - # - # Individual tests can prevent the creation of such a sibling by - # explicitly setting the '$am_parallel_tests' variable to either "yes" - # or "no". The rationale for this is that if the variable is set to - # "yes", the test already uses the 'parallel-tests' option, so that - # a sibling would be just a duplicate; while if the variable is set - # to "no", the test doesn't support, or is not meant to run with, the - # 'parallel-tests' option, and forcing it to do so in the sibling - # would likely cause a spurious failure. - # - parallel_testsuite_harness => - { - line_matcher => - qr/(?:^|\s)TESTS\s*=/, - line_rejecter => - qr/(?:^[^#]*\bparallel-tests\b)|\bam_parallel_tests=/, - shell_setup_code => - 'am_parallel_tests=yes' - }, - # - # For each test script in the Automake testsuite that tests features - # of one or more automake-provided shell script from the 'lib/' - # subdirectory by running those scripts directly (i.e., not thought - # make calls and automake-generated makefiles), define a sibling test - # that does likewise, but running the said script with the configure - # time $SHELL instead of the default system shell /bin/sh. - # - # A test is considered a candidate for sibling-generation if it calls - # the 'get_shell_script' function anywhere. - # - # Individual tests can prevent the creation of such a sibling by - # explicitly setting the '$am_test_prefer_config_shell' variable - # to either "yes" or "no". - # The rationale for this is that if the variable is set to "yes", - # the test already uses $SHELL, so that a sibling would be just a - # duplicate; while if the variable is set to "no", the test doesn't - # support, or is not meant to use, $SHELL to run the script under - # testing, and forcing it to do so in the sibling would likely - # cause a spurious failure. - # - prefer_config_shell => - { - line_matcher => - qr/(^|\s)get_shell_script\s/, - line_rejecter => - qr/\bam_test_prefer_config_shell=/, - shell_setup_code => - 'am_test_prefer_config_shell=yes', - }, - # - # Tests on tap support should be run with both the perl and awk - # implementations of the TAP driver (they run with the awk one - # by default). - # - perl_tap_driver => - { - line_matcher => - qr<(?:\bfetch_tap_driver\b|[\s/]tap-setup\.sh\b)>, - line_rejecter => - qr/\bam_tap_implementation=/, - shell_setup_code => - 'am_tap_implementation=perl', - }, - ); - -#-------------------------------------------------------------------------- - -parse_options @ARGV; - -my @all_tests = get_list_of_tests; -my @generated_tests = (); # Will be updated later. - -print "## -*- Makefile -*-\n"; -print "## Generated by $me. DO NOT EDIT BY HAND!\n\n"; - -print <{line_matcher}, $_) - && !line_match ($g->{line_rejecter}, $_) - } @all_tests; - foreach my $wrapped_test (@wrapped_tests) - { - (my $base = $wrapped_test) =~ s/\.([^.]*)$//; - my $suf = $1 or die "$me: test '$wrapped_test' lacks a suffix\n"; - my $wrapper_test = "$base-w.$suf"; - # Register wrapper test as "autogenerated". - push @generated_tests, $wrapper_test; - # Create wrapper test. - atomic_write $wrapper_test, - sub { write_wrapper_script $_[0], $wrapped_test, - $g->{shell_setup_code} }, - 0555; - # The generated test works by sourcing the original test, so that - # it has to be re-run every time that changes ... - print "$base-w.log: $wrapped_test\n"; - # ... but also every time the prerequisites of the wrapped test - # changes. The simpler (although suboptimal) way to do so is to - # ensure that the wrapped tests runs before the wrappee one (in - # case it needs to be re-run *at all*. - # FIXME: we could maybe refactor the script to find a more - # granular way to express such implicit dependencies. - print "$base-w.log: $base.log\n"; - } - } - -print < ["cc"], - disabled => ["cc"], - makedepend => ["cc", "makedepend"], - dashmstdout => ["gcc"], - cpp => ["gcc"], -# This is for older (pre-3.x) GCC versions. Newer versions -# have depmode "gcc3". - gcc => ["gcc"], -# This is for older (pre-7) msvc versions. Newer versions -# have depmodes "msvc7" and "msvc7msys". - msvisualcpp => ["cl", "cygpath"], - msvcmsys => ["cl", "mingw"], - ); - -foreach my $lt (TRUE, FALSE) - { - foreach my $m (keys %depmodes) - { - my $planned = ($lt && $m eq "auto") ? 84 : 28; - my @required = - ( - @{$depmodes{$m}}, - $lt ? ("libtoolize",) : (), - ); - my @vars_init = - ( - "am_create_testdir=empty", - "depmode=$m", - "depcomp_with_libtool=" . ($lt ? "yes" : "no"), - ); - my $base = "depcomp" . ($lt ? "-lt-" : "-") . $m; - # Register wrapper test as "autogenerated" ... - push @generated_tests, "$base.tap"; - atomic_write ("$base.tap", sub - { - my $file_handle = shift; - print $file_handle unindent <{dist_prereqs} || ""; - my $nodist_prereqs = $x->{nodist_prereqs} || ""; - my @tests = grep { line_match $x->{line_matcher}, $_ } @all_tests; - map { s/\.[^.]*$//; s/$/\.log/; } (my @logs = @tests); - print "## Added by deps-extracting key '$k'.\n"; - ## The list of all tests which have a dependency detected by the - ## current key. - print join(" \\\n ", "${k}_TESTS =", @tests) . "\n"; - print "EXTRA_DIST += $dist_prereqs\n"; - map { print "$_: $dist_prereqs $nodist_prereqs\n" } @logs; - print "\n"; - } - -__END__ diff --git a/t/get-sysconf.sh b/t/get-sysconf.sh index ae3310e5d..ac09a6324 100755 --- a/t/get-sysconf.sh +++ b/t/get-sysconf.sh @@ -23,17 +23,17 @@ . ./defs || Exit 1 st=0 -if test -d "$top_testsrcdir"/.git; then +if test -d "$am_top_srcdir"/.git; then # We are running from a git checkout. - (cd "$top_testsrcdir" && git log -1) || st=1 -elif test -f "$top_testsrcdir"/ChangeLog; then + (cd "$am_top_srcdir" && git log -1) || st=1 +elif test -f "$am_top_srcdir"/ChangeLog; then # We are probably running from a distribution tarball. awk ' BEGIN { first = 1 } (first == 1) { print; first = 0; next; } /^[^\t]/ { exit(0); } { print } - ' "$top_testsrcdir"/ChangeLog || st=1 + ' "$am_top_srcdir"/ChangeLog || st=1 else # Some non-common but possibly valid setup (see for example the Homebrew # problem reported in automake bug#10866); so just give an harmless @@ -46,9 +46,9 @@ $PERL -V || st=1 # happen with older perl installation, or on MinGW/MSYS. $PERL -e 'use TAP::Parser; print $TAP::Parser::VERSION, "\n"' || : -cat "$top_testbuilddir/config.log" || st=1 -cat "$testbuilddir/wrap/aclocal-$APIVERSION" || st=1 -cat "$testbuilddir/wrap/automake-$APIVERSION" || st=1 +cat "$am_top_builddir/config.log" || st=1 +cat "$am_top_builddir/t/wrap/aclocal-$APIVERSION" || st=1 +cat "$am_top_builddir/t/wrap/automake-$APIVERSION" || st=1 if test $st -eq 0; then # This test SKIPs, so that all the information it has gathered and diff --git a/t/help-multilib.sh b/t/help-multilib.sh index 3fb455fc8..c2a8d3c27 100755 --- a/t/help-multilib.sh +++ b/t/help-multilib.sh @@ -26,7 +26,7 @@ AC_INIT([$me], [1.0]) AM_ENABLE_MULTILIB END -cat "$top_testsrcdir"/contrib/multilib/multi.m4 > aclocal.m4 +cat "$am_top_srcdir"/contrib/multilib/multi.m4 > aclocal.m4 $AUTOCONF grep_configure_help --enable-multilib ' many library versions \(default\)' diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 32e8c1765..b2379a316 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -21,1253 +21,1253 @@ # FIXME: to verify that some incorrect usages of our perl libraries # FIXME: raise an error. We should find a cleaner way to check that. perl_fake_XFAIL_TESTS = \ -pm/Cond2.pl \ -pm/Cond3.pl \ -pm/DisjCon2.pl \ -pm/DisjCon3.pl \ -pm/Version2.pl \ -pm/Version3.pl +t/pm/Cond2.pl \ +t/pm/Cond3.pl \ +t/pm/DisjCon2.pl \ +t/pm/DisjCon3.pl \ +t/pm/Version2.pl \ +t/pm/Version3.pl XFAIL_TESTS = \ -all.sh \ -yacc-bison-skeleton-cxx.sh \ -yacc-bison-skeleton.sh \ -cond17.sh \ -gcj6.sh \ -override-conditional-2.sh \ -dist-pr109765.sh \ -instdir-cond2.sh \ -java-nobase.sh \ -objext-pr10128.sh \ -parallel-tests-many.sh \ -pr8365-remake-timing.sh \ -lex-subobj-nodep.sh \ -remake-am-pr10111.sh \ -remake-m4-pr10111.sh \ -txinfo5.sh \ +t/all.sh \ +t/yacc-bison-skeleton-cxx.sh \ +t/yacc-bison-skeleton.sh \ +t/cond17.sh \ +t/gcj6.sh \ +t/override-conditional-2.sh \ +t/dist-pr109765.sh \ +t/instdir-cond2.sh \ +t/java-nobase.sh \ +t/objext-pr10128.sh \ +t/parallel-tests-many.sh \ +t/pr8365-remake-timing.sh \ +t/lex-subobj-nodep.sh \ +t/remake-am-pr10111.sh \ +t/remake-m4-pr10111.sh \ +t/txinfo5.sh \ $(perl_fake_XFAIL_TESTS) perl_TESTS = \ -pm/Cond2.pl \ -pm/Cond3.pl \ -pm/Condition.pl \ -pm/Condition-t.pl \ -pm/DisjCon2.pl \ -pm/DisjCon3.pl \ -pm/DisjConditions.pl \ -pm/DisjConditions-t.pl \ -pm/Version.pl \ -pm/Version2.pl \ -pm/Version3.pl \ -pm/Wrap.pl +t/pm/Cond2.pl \ +t/pm/Cond3.pl \ +t/pm/Condition.pl \ +t/pm/Condition-t.pl \ +t/pm/DisjCon2.pl \ +t/pm/DisjCon3.pl \ +t/pm/DisjConditions.pl \ +t/pm/DisjConditions-t.pl \ +t/pm/Version.pl \ +t/pm/Version2.pl \ +t/pm/Version3.pl \ +t/pm/Wrap.pl # The order here is mostly alphabetical, with the deliberate exception # that tests having a high runtime (especially TAP tests that run various # checks sequentially) are listed early; this improves performance on # concurrent testsuite runs. handwritten_TESTS = \ -get-sysconf.sh \ +t/get-sysconf.sh \ $(perl_TESTS) \ -instspc.tap \ -aclocal.sh \ -aclocal3.sh \ -aclocal4.sh \ -aclocal5.sh \ -aclocal6.sh \ -aclocal7.sh \ -aclocal8.sh \ -aclocal9.sh \ -acloca10.sh \ -acloca11.sh \ -acloca12.sh \ -acloca13.sh \ -acloca14.sh \ -acloca15.sh \ -acloca16.sh \ -acloca17.sh \ -acloca18.sh \ -acloca19.sh \ -acloca20.sh \ -acloca21.sh \ -acloca22.sh \ -acloca23.sh \ -aclocal-acdir.sh \ -aclocal-install-absdir.sh \ -aclocal-print-acdir.sh \ -aclocal-path.sh \ -aclocal-path-install.sh \ -aclocal-path-install-serial.sh \ -aclocal-path-nonexistent.sh \ -aclocal-path-precedence.sh \ -aclocal-install-fail.sh \ -aclocal-install-mkdir.sh \ -aclocal-no-install-no-mkdir.sh \ -aclocal-verbose-install.sh \ -ac-output-old.tap \ -acsilent.sh \ -acsubst.sh \ -acsubst2.sh \ -add-missing.tap \ -all.sh \ -all2.sh \ -alloca.sh \ -alloca2.sh \ -alpha.sh \ -alpha2.sh \ -amhello-cflags.sh \ -amhello-cross-compile.sh \ -amhello-binpkg.sh \ -amassign.sh \ -ammissing.sh \ -amopt.sh \ -amopts-location.sh \ -amopts-variable-expansion.sh \ -amsubst.sh \ -ansi2knr-no-more.sh \ -ar-lib.sh \ -ar-lib2.sh \ -ar-lib3.sh \ -ar-lib4.sh \ -ar-lib5a.sh \ -ar-lib5b.sh \ -ar-lib6a.sh \ -ar-lib6b.sh \ -ar-lib7.sh \ -ar.sh \ -ar2.sh \ -ar3.sh \ -ar4.sh \ -ar5.sh \ -asm.sh \ -asm2.sh \ -asm3.sh \ -autodist.sh \ -autodist-subdir.sh \ -autodist-acconfig.sh \ -autodist-acconfig-no-subdir.sh \ -autodist-aclocal-m4.sh \ -autodist-config-headers.sh \ -autodist-configure-no-subdir.sh \ -autodist-no-duplicate.sh \ -autodist-stamp-vti.sh \ -autohdr.sh \ -autohdr2.sh \ -autohdr3.sh \ -autohdr4.sh \ -autohdrdry.sh \ -automake-cmdline.tap \ -auxdir.sh \ -auxdir6.sh \ -auxdir7.sh \ -auxdir8.sh \ -auxdir-autodetect.sh \ -auxdir-computed.tap \ -auxdir-misplaced.sh \ -auxdir-nonexistent.sh \ -auxdir-unportable.tap \ -backcompat.sh \ -backcompat2.sh \ -backcompat3.sh \ -backcompat4.sh \ -backcompat5.sh \ -backcompat6.sh \ -backsl.sh \ -backsl2.sh \ -backsl3.sh \ -backsl4.sh \ -badline.sh \ -badopt.sh \ -badprog.sh \ -block.sh \ -bsource.sh \ -candist.sh \ -canon.sh \ -canon2.sh \ -canon3.sh \ -canon4.sh \ -canon5.sh \ -canon6.sh \ -canon7.sh \ -canon8.sh \ -canon-name.sh \ -ccnoco.sh \ -ccnoco2.sh \ -ccnoco3.sh \ -check.sh \ -check2.sh \ -check3.sh \ -check4.sh \ -check5.sh \ -check6.sh \ -check7.sh \ -check8.sh \ -check10.sh \ -check11.sh \ -check12.sh \ -check-subst.sh \ -check-subst-prog.sh \ -check-exported-srcdir.sh \ -check-fd-redirect.sh \ -check-tests-in-builddir.sh \ -check-no-test-driver.sh \ -check-concurrency-bug9245.sh \ -checkall.sh \ -clean.sh \ -clean2.sh \ -colneq.sh \ -colneq2.sh \ -colneq3.sh \ -colon.sh \ -colon2.sh \ -colon3.sh \ -colon4.sh \ -colon5.sh \ -colon6.sh \ -colon7.sh \ -color.sh \ -color2.sh \ -comment.sh \ -comment2.sh \ -comment3.sh \ -comment4.sh \ -comment5.sh \ -comment6.sh \ -comment7.sh \ -comment8.sh \ -comment9.sh \ -commen10.sh \ -commen11.sh \ -comments-in-var-def.sh \ -compile.sh \ -compile2.sh \ -compile3.sh \ -compile4.sh \ -compile5.sh \ -compile6.sh \ -compile_f90_c_cxx.sh \ -compile_f_c_cxx.sh \ -cond-basic.sh \ -cond.sh \ -cond2.sh \ -cond3.sh \ -cond4.sh \ -cond5.sh \ -cond6.sh \ -cond7.sh \ -cond8.sh \ -cond9.sh \ -cond10.sh \ -cond11.sh \ -cond13.sh \ -cond14.sh \ -cond15.sh \ -cond16.sh \ -cond17.sh \ -cond18.sh \ -cond19.sh \ -cond20.sh \ -cond21.sh \ -cond22.sh \ -cond23.sh \ -cond24.sh \ -cond25.sh \ -cond26.sh \ -cond27.sh \ -cond28.sh \ -cond29.sh \ -cond30.sh \ -cond31.sh \ -cond32.sh \ -cond33.sh \ -cond34.sh \ -cond35.sh \ -cond36.sh \ -cond37.sh \ -cond38.sh \ -cond39.sh \ -cond40.sh \ -cond41.sh \ -cond42.sh \ -cond43.sh \ -cond44.sh \ -cond45.sh \ -cond46.sh \ -condd.sh \ -condhook.sh \ -condhook2.sh \ -condinc.sh \ -condinc2.sh \ -condlib.sh \ -condman2.sh \ -condman3.sh \ -configure.sh \ -confdeps.sh \ -conff.sh \ -conff2.sh \ -conffile-leading-dot.sh \ -confh.sh \ -confh4.sh \ -confh5.sh \ -confh6.sh \ -confh7.sh \ -confh8.sh \ -confincl.sh \ -conflnk.sh \ -conflnk2.sh \ -conflnk3.sh \ -conflnk4.sh \ -confsub.sh \ -confvar.sh \ -confvar2.sh \ -copy.sh \ -cscope.tap \ -cscope2.sh \ -cscope3.sh \ -cxx.sh \ -cxx2.sh \ -cxxcpp.sh \ -cxxlibobj.sh \ -cxxlink.sh \ -cxxnoc.sh \ -cxxo.sh \ -cygnus-check-without-all.sh \ -cygnus-dependency-tracking.sh \ -cygnus-imply-foreign.sh \ -cygnus-no-dist.sh \ -cygnus-no-installinfo.sh \ -cygnus-requires-maintainer-mode.sh \ -cygwin32.sh \ -dash.sh \ -defun.sh \ -defun2.sh \ -dejagnu.sh \ -dejagnu2.sh \ -dejagnu3.sh \ -dejagnu4.sh \ -dejagnu5.sh \ -dejagnu6.sh \ -dejagnu7.sh \ -dejagnu-absolute-builddir.sh \ -dejagnu-relative-srcdir.sh \ -dejagnu-siteexp-extend.sh \ -dejagnu-siteexp-append.sh \ -dejagnu-siteexp-useredit.sh \ -deleted-am.sh \ -deleted-m4.sh \ -depacl2.sh \ -depcomp.sh \ -depcomp2.sh \ -depcomp8a.sh \ -depcomp8b.sh \ -depdist.sh \ -depend.sh \ -depend3.sh \ -depend4.sh \ -depend5.sh \ -depend6.sh \ -deprecated-acinit.sh \ -destdir.sh \ -dirlist.sh \ -dirlist2.sh \ -dirlist-abspath.sh \ -discover.sh \ -dist-formats.tap \ -dist-auxdir-many-subdirs.sh \ -dist-auxfile-2.sh \ -dist-auxfile.sh \ -dist-included-parent-dir.sh \ -dist-missing-am.sh \ -dist-missing-included-m4.sh \ -dist-missing-m4.sh \ -dist-readonly.sh \ -dist-repeated.sh \ -dist-pr109765.sh \ -distcleancheck.sh \ -distcom2.sh \ -distcom3.sh \ -distcom4.sh \ -distcom5.sh \ -distcom-subdir.sh \ -distdir.sh \ -disthook.sh \ -distlinks.sh \ -distlinksbrk.sh \ -distname.sh \ -distcheck-configure-flags.sh \ -distcheck-configure-flags-am.sh \ -distcheck-configure-flags-subpkg.sh \ -distcheck-hook.sh \ -distcheck-hook2.sh \ -distcheck-writable-srcdir.sh \ -distcheck-missing-m4.sh \ -distcheck-outdated-m4.sh \ -distcheck-override-infodir.sh \ -distcheck-pr9579.sh \ -distcheck-pr10470.sh \ -dmalloc.sh \ -doc-parsing-buglets-colneq-subst.sh \ -doc-parsing-buglets-tabs.sh \ -dollar.sh \ -dollarvar.sh \ -dollarvar2.sh \ -double.sh \ -dup2.sh \ -else.sh \ -empty.sh \ -empty2.sh \ -empty3.sh \ -empty4.sh \ -exdir.sh \ -exdir2.sh \ -exdir3.sh \ -exeext.sh \ -exeext2.sh \ -exeext3.sh \ -exeext4.sh \ -exsource.sh \ -ext.sh \ -ext2.sh \ -ext3.sh \ -extra.sh \ -extra2.sh \ -extra3.sh \ -extra4.sh \ -extra5.sh \ -extra6.sh \ -extra7.sh \ -extra8.sh \ -extra9.sh \ -extra10.sh \ -extra11.sh \ -extra12.sh \ -extra-programs-empty.sh \ -extra-portability.sh \ -extra-portability2.sh \ -extra-portability3.sh \ -extradep.sh \ -extradep2.sh \ -f90only.sh \ -flavor.sh \ -flibs.sh \ -fn99.sh \ -fn99subdir.sh \ -fnoc.sh \ -fo.sh \ -forcemiss.sh \ -forcemiss2.sh \ -fort1.sh \ -fort2.sh \ -fort4.sh \ -fort5.sh \ -fonly.sh \ -fortdep.sh \ -gcj.sh \ -gcj2.sh \ -gcj3.sh \ -gcj4.sh \ -gcj5.sh \ -gcj6.sh \ -gettext.sh \ -gettext2.sh \ -gettext3.sh \ -gnumake.sh \ -gnuwarn.sh \ -gnuwarn2.sh \ -gnits.sh \ -gnits2.sh \ -gnits3.sh \ -hdr-vars-defined-once.sh \ -header.sh \ -help.sh \ -help2.sh \ -help3.sh \ -help4.sh \ -help-depend.sh \ -help-depend2.sh \ -help-dmalloc.sh \ -help-init.sh \ -help-lispdir.sh \ -help-multilib.sh \ -help-python.sh \ -help-silent.sh \ -help-upc.sh \ -hfs.sh \ -implicit.sh \ -info.sh \ -init.sh \ -init2.sh \ -insh2.sh \ -install2.sh \ -installdir.sh \ -instsh.sh \ -instsh2.sh \ -instsh3.sh \ -instdat.sh \ -instdat2.sh \ -instdir.sh \ -instdir2.sh \ -instdir-cond.sh \ -instdir-cond2.sh \ -instdir-no-empty.sh \ -instdir-java.sh \ -instdir-lisp.sh \ -instdir-ltlib.sh \ -instdir-prog.sh \ -instdir-python.sh \ -instdir-texi.sh \ -instexec.sh \ -instfail.sh \ -instfail-info.sh \ -instfail-java.sh \ -instfail-libtool.sh \ -insthook.sh \ -instman.sh \ -instman2.sh \ -instmany.sh \ -instmany-mans.sh \ -instmany-python.sh \ -install-info-dir.sh \ -interp.sh \ -interp2.sh \ -java.sh \ -java2.sh \ -java3.sh \ -javadir-undefined.sh \ -javaflags.sh \ -java-check.sh \ -java-clean.sh \ -java-compile-install.sh \ -java-compile-run-flat.sh \ -java-compile-run-nested.sh \ -java-empty-classpath.sh \ -javaprim.sh \ -javasubst.sh \ -java-extra.sh \ -java-mix.sh \ -java-no-duplicate.sh \ -java-nobase.sh \ -java-noinst.sh \ -java-rebuild.sh \ -java-sources.sh \ -java-uninstall.sh \ -ldadd.sh \ -ldflags.sh \ -lex.sh \ -lex2.sh \ -lex3.sh \ -lex5.sh \ -lexcpp.sh \ -lexvpath.sh \ -lex-subobj-nodep.sh \ -lex-lib.sh \ -lex-lib-external.sh \ -lex-libobj.sh \ -lex-noyywrap.sh \ -lex-clean-cxx.sh \ -lex-clean.sh \ -lex-depend-cxx.sh \ -lex-depend-grep.sh \ -lex-depend.sh \ -lex-line.sh \ -lex-nodist.sh \ -lex-pr204.sh \ -lflags.sh \ -lflags2.sh \ -libexec.sh \ -libobj-basic.sh \ -libobj2.sh \ -libobj3.sh \ -libobj4.sh \ -libobj5.sh \ -libobj7.sh \ -libobj10.sh \ -libobj12.sh \ -libobj13.sh \ -libobj14.sh \ -libobj15a.sh \ -libobj15b.sh \ -libobj15c.sh \ -libobj16a.sh \ -libobj16b.sh \ -libobj17.sh \ -libobj18.sh \ -libobj19.sh \ -libobj20a.sh \ -libobj20b.sh \ -libobj20c.sh \ -library.sh \ -library2.sh \ -library3.sh \ -libtool.sh \ -libtool2.sh \ -libtool3.sh \ -libtool4.sh \ -libtool5.sh \ -libtool6.sh \ -libtool7.sh \ -libtool8.sh \ -libtool9.sh \ -libtoo10.sh \ -libtoo11.sh \ -license.sh \ -license2.sh \ -link_c_cxx.sh \ -link_cond.sh \ -link_dist.sh \ -link_f90_only.sh \ -link_fc.sh \ -link_fccxx.sh \ -link_fcxx.sh \ -link_f_only.sh \ -link_override.sh \ -lisp2.sh \ -lisp3.sh \ -lisp4.sh \ -lisp5.sh \ -lisp6.sh \ -lisp7.sh \ -lisp8.sh \ -lispdry.sh \ -listval.sh \ -location.sh \ -longline.sh \ -longlin2.sh \ -ltcond.sh \ -ltcond2.sh \ -ltconv.sh \ -ltdeps.sh \ -ltinit.sh \ -ltinstloc.sh \ -ltlibobjs.sh \ -ltlibsrc.sh \ -ltorder.sh \ -lzma.sh \ -m4-inclusion.sh \ -maintclean.sh \ -maintclean-vpath.sh \ -maintmode-configure-msg.sh \ -make.sh \ -makefile-deps.sh \ -makej.sh \ -makej2.sh \ -maken.sh \ -maken3.sh \ -make-dryrun.tap \ -makevars.sh \ -man.sh \ -man2.sh \ -man3.sh \ -man4.sh \ -man5.sh \ -man6.sh \ -man7.sh \ -man8.sh \ -mdate.sh \ -mdate2.sh \ -mdate3.sh \ -mdate4.sh \ -mdate5.sh \ -mdate6.sh \ -missing.sh \ -missing2.sh \ -missing3.sh \ -missing4.sh \ -missing5.sh \ -missing6.sh \ -missing-auxfile-stops-makefiles-creation.sh \ -mkinstall.sh \ -mkinst2.sh \ -mkinst3.sh \ -mmode.sh \ -mmodely.sh \ -multlib.sh \ -no-extra-makefile-code.sh \ -no-outdir-option.sh \ -nobase.sh \ -nobase-libtool.sh \ -nobase-python.sh \ -nobase-nodist.sh \ -nodef.sh \ -nodef2.sh \ -nodep.sh \ -nodep2.sh \ -nodepcomp.sh \ -nodist.sh \ -nodist2.sh \ -nodist3.sh \ -noinst.sh \ -noinstdir.sh \ -nolink.sh \ -nostdinc.sh \ -notrans.sh \ -number.sh \ -objc.sh \ -objc2.sh \ -objext-pr10128.sh \ -obsolete.sh \ -oldvars.sh \ -order.sh \ -output.sh \ -output2.sh \ -output3.sh \ -output4.sh \ -output5.sh \ -output6.sh \ -output7.sh \ -output8.sh \ -output9.sh \ -output10.sh \ -output11.sh \ -output12.sh \ -output13.sh \ -output-order.sh \ -override-conditional-1.sh \ -override-conditional-2.sh \ -override-html.sh \ -override-suggest-local.sh \ -parallel-am.sh \ -parallel-am2.sh \ -parallel-am3.sh \ -serial-tests.sh \ -parallel-tests.sh \ -parallel-tests2.sh \ -parallel-tests3.sh \ -parallel-tests5.sh \ -parallel-tests6.sh \ -parallel-tests8.sh \ -parallel-tests9.sh \ -parallel-tests10.sh \ -parallel-tests-exeext.sh \ -parallel-tests-suffix.sh \ -parallel-tests-suffix-prog.sh \ -parallel-tests-log-compiler-1.sh \ -parallel-tests-log-compiler-2.sh \ -parallel-tests-dry-run-1.sh \ -parallel-tests-dry-run-2.sh \ -parallel-tests-fd-redirect.sh \ -parallel-tests-fd-redirect-exeext.sh \ -parallel-tests-extra-programs.sh \ -parallel-tests-unreadable.sh \ -parallel-tests-subdir.sh \ -parallel-tests-interrupt.tap \ -parallel-tests-reset-term.sh \ -parallel-tests-harderror.sh \ -parallel-tests-log-override-1.sh \ -parallel-tests-log-override-2.sh \ -parallel-tests-log-override-recheck.sh \ -parallel-tests-log-compiler-example.sh \ -parallel-tests-cmdline-override.sh \ -parallel-tests-fork-bomb.sh \ -parallel-tests-empty-testlogs.sh \ -parallel-tests-driver-install.sh \ -parallel-tests-no-color-in-log.sh \ -parallel-tests-no-spurious-summary.sh \ -parallel-tests-exit-statuses.sh \ -parallel-tests-console-output.sh \ -parallel-tests-once.sh \ -parallel-tests-trailing-bslash.sh \ -parallel-tests-many.sh \ -tests-environment.sh \ -am-tests-environment.sh \ -tests-environment-backcompat.sh \ -testsuite-summary-color.sh \ -testsuite-summary-count.sh \ -testsuite-summary-count-many.sh \ -testsuite-summary-reference-log.sh \ -test-driver-acsubst.sh \ -test-driver-cond.sh \ -test-driver-custom-no-extra-driver.sh \ -test-driver-custom.sh \ -test-driver-custom-xfail-tests.sh \ -test-driver-custom-multitest.sh \ -test-driver-custom-multitest-recheck.sh \ -test-driver-custom-multitest-recheck2.sh \ -test-driver-create-log-dir.sh \ -test-driver-strip-vpath.sh \ -test-driver-trs-suffix-registered.sh \ -test-driver-fail.sh \ -test-driver-is-distributed.sh \ -test-harness-vpath-rewrite.sh \ -test-log.sh \ -test-logs-repeated.sh \ -test-metadata-global-log.sh \ -test-metadata-global-result.sh \ -test-metadata-recheck.sh \ -test-metadata-results.sh \ -test-missing.sh \ -test-missing2.sh \ -test-trs-basic.sh \ -test-trs-recover.sh \ -test-trs-recover2.sh \ -test-extensions.sh \ -test-extensions-cond.sh \ -parse.sh \ -percent.sh \ -percent2.sh \ -phony.sh \ -pluseq.sh \ -pluseq2.sh \ -pluseq3.sh \ -pluseq4.sh \ -pluseq5.sh \ -pluseq6.sh \ -pluseq7.sh \ -pluseq8.sh \ -pluseq9.sh \ -pluseq10.sh \ -pluseq11.sh \ -posixsubst-data.sh \ -posixsubst-extradist.sh \ -posixsubst-ldadd.sh \ -posixsubst-libraries.sh \ -posixsubst-ltlibraries.sh \ -posixsubst-programs.sh \ -posixsubst-scripts.sh \ -posixsubst-sources.sh \ -posixsubst-tests.sh \ -postproc.sh \ -ppf77.sh \ -pr2.sh \ -pr9.sh \ -pr72.sh \ -pr87.sh \ -pr211.sh \ -pr220.sh \ -pr224.sh \ -pr229.sh \ -pr243.sh \ -pr266.sh \ -pr279.sh \ -pr279-2.sh \ -pr287.sh \ -pr300-lib.sh \ -pr300-ltlib.sh \ -pr300-prog.sh \ -pr307.sh \ -pr401.sh \ -pr401b.sh \ -pr401c.sh \ -prefix.sh \ -primary.sh \ -primary2.sh \ -primary3.sh \ -primary-prefix-invalid-couples.tap \ -primary-prefix-valid-couples.sh \ -primary-prefix-couples-force-valid.sh \ -primary-prefix-couples-documented-valid.sh \ -print-libdir.sh \ -proginst.sh \ -programs-primary-rewritten.sh \ -py-compile-basic.sh \ -py-compile-basic2.sh \ -py-compile-basedir.sh \ -py-compile-destdir.sh \ -py-compile-env.sh \ -py-compile-option-terminate.sh \ -py-compile-usage.sh \ -python.sh \ -python2.sh \ -python3.sh \ -python4.sh \ -python5.sh \ -python5b.sh \ -python6.sh \ -python7.sh \ -python8.sh \ -python9.sh \ -python10.sh \ -python11.sh \ -python12.sh \ -python-dist.sh \ -python-vars.sh \ -python-virtualenv.sh \ -python-pr10995.sh \ -recurs.sh \ -recurs2.sh \ -remake.sh \ -remake1a.sh \ -remake2.sh \ -remake3.sh \ -remake3a.sh \ -remake4.sh \ -remake5.sh \ -remake6.sh \ -remake7.sh \ -remake8a.sh \ -remake8b.sh \ -remake9a.sh \ -remake9b.sh \ -remake9c.sh \ -remake9d.sh \ -remake10a.sh \ -remake10b.sh \ -remake10c.sh \ -remake11.sh \ -remake12.sh \ -remake-all-1.sh \ -remake-all-2.sh \ -remake-subdir-from-subdir.sh \ -remake-subdir-gnu.sh \ -remake-subdir.sh \ -remake-subdir2.sh \ -remake-subdir-long-time.sh \ -remake-gnulib-add-acsubst.sh \ -remake-gnulib-add-header.sh \ -remake-gnulib-remove-header.sh \ -remake-moved-m4-file.sh \ -remake-deleted-m4-file.sh \ -remake-renamed-m4-file.sh \ -remake-renamed-m4-macro-and-file.sh \ -remake-renamed-m4-macro.sh \ -remake-am-pr10111.sh \ -remake-m4-pr10111.sh \ -remake-deleted-am-2.sh \ -remake-deleted-am-subdir.sh \ -remake-deleted-am.sh \ -remake-renamed-am.sh \ -pr8365-remake-timing.sh \ -req.sh \ -reqd.sh \ -reqd2.sh \ -repeated-options.sh \ -rst-formatting.sh \ -rulepat.sh \ -self-check-cleanup.tap \ -self-check-configure-help.sh \ -self-check-dir.tap \ -self-check-env-sanitize.tap \ -self-check-exit.tap \ -self-check-explicit-skips.sh \ -self-check-is_newest.tap \ -self-check-me.tap \ -self-check-reexec.tap \ -self-check-report.sh \ -self-check-sanity.sh \ -self-check-seq.tap \ -self-check-is-blocked-signal.tap \ -self-check-tap.sh \ -self-check-unindent.tap \ -sanity.sh \ -scripts.sh \ -seenc.sh \ -silent.sh \ -silent2.sh \ -silent3.sh \ -silent4.sh \ -silent6.sh \ -silent7.sh \ -silent8.sh \ -silent9.sh \ -silentcxx.sh \ -silentcxx-gcc.sh \ -silentf77.sh \ -silentf90.sh \ -silent-amopts.sh \ -silent-many-gcc.sh \ -silent-many-generic.sh \ -silent-nowarn.sh \ -silent-configsite.sh \ -silent-nested-vars.sh \ -silent-lex.sh \ -silent-yacc.sh \ -silent-yacc-headers.sh \ -srcsub.sh \ -srcsub2.sh \ -space.sh \ -specflg.sh \ -specflg2.sh \ -specflg3.sh \ -specflg6.sh \ -specflg7.sh \ -specflg8.sh \ -specflg9.sh \ -specflg10.sh \ -specflg-dummy.sh \ -spell.sh \ -spell2.sh \ -spell3.sh \ -spelling.sh \ -spy.sh \ -spy-rm.tap \ -stdinc.sh \ -stamph2.sh \ -stdlib.sh \ -stdlib2.sh \ -strictness-override.sh \ -strictness-precedence.sh \ -strip.sh \ -strip2.sh \ -strip3.sh \ -subdir.sh \ -subdir2.sh \ -subdir3.sh \ -subdir4.sh \ -subdir5.sh \ -subdir6.sh \ -subdir7.sh \ -subdir8.sh \ -subdir9.sh \ -subdir10.sh \ -subdirbuiltsources.sh \ -subcond.sh \ -subcond2.sh \ -subcond3.sh \ -subobj.sh \ -subobj2.sh \ -subobj4.sh \ -subobj5.sh \ -subobj6.sh \ -subobj7.sh \ -subobj8.sh \ -subobj9.sh \ -subobj10.sh \ -subobj11a.sh \ -subobj11b.sh \ -subobj11c.sh \ -subobjname.sh \ -subpkg.sh \ -subpkg2.sh \ -subpkg3.sh \ -subpkg4.sh \ -subpkg-yacc.sh \ -subst.sh \ -subst3.sh \ -subst4.sh \ -subst5.sh \ -subst-no-trailing-empty-line.sh \ -substref.sh \ -substre2.sh \ -substtarg.sh \ -suffix.sh \ -suffix2.sh \ -suffix3.tap \ -suffix4.sh \ -suffix5.sh \ -suffix6.sh \ -suffix6b.sh \ -suffix6c.sh \ -suffix7.sh \ -suffix8.tap \ -suffix9.sh \ -suffix10.tap \ -suffix11.tap \ -suffix12.sh \ -suffix13.sh \ -suffix-chain.tap \ -symlink.sh \ -symlink2.sh \ -syntax.sh \ -tap-ambiguous-directive.sh \ -tap-autonumber.sh \ -tap-bailout.sh \ -tap-bailout-leading-space.sh \ -tap-bailout-and-logging.sh \ -tap-bailout-suppress-badexit.sh \ -tap-bailout-suppress-later-diagnostic.sh \ -tap-bailout-suppress-later-errors.sh \ -tap-color.sh \ -tap-deps.sh \ -tap-diagnostic.sh \ -tap-empty-diagnostic.sh \ -tap-empty.sh \ -tap-escape-directive.sh \ -tap-escape-directive-2.sh \ -tap-exit.sh \ -tap-signal.tap \ -tap-fancy.sh \ -tap-fancy2.sh \ -tap-global-log.sh \ -tap-global-result.sh \ -tap-log.sh \ -tap-msg0-result.sh \ -tap-msg0-directive.sh \ -tap-msg0-planskip.sh \ -tap-msg0-bailout.sh \ -tap-msg0-misc.sh \ -tap-merge-stdout-stderr.sh \ -tap-no-merge-stdout-stderr.sh \ -tap-no-disable-hard-error.sh \ -tap-no-spurious-summary.sh \ -tap-no-spurious-numbers.sh \ -tap-no-spurious.sh \ -tap-not-ok-skip.sh \ -tap-number-wordboundary.sh \ -tap-numeric-description.sh \ -tap-negative-numbers.sh \ -tap-numbers-leading-zero.sh \ -tap-out-of-order.sh \ -tap-passthrough.sh \ -tap-passthrough-exit.sh \ -tap-plan.sh \ -tap-plan-corner.sh \ -tap-plan-errors.sh \ -tap-plan-middle.sh \ -tap-plan-whitespace.sh \ -tap-plan-leading-zero.sh \ -tap-plan-malformed.sh \ -tap-missing-plan-and-bad-exit.sh \ -tap-planskip.sh \ -tap-planskip-late.sh \ -tap-planskip-and-logging.sh \ -tap-planskip-unplanned.sh \ -tap-planskip-unplanned-corner.sh \ -tap-planskip-case-insensitive.sh \ -tap-planskip-whitespace.sh \ -tap-planskip-badexit.sh \ -tap-planskip-bailout.sh \ -tap-planskip-later-errors.sh \ -tap-realtime.sh \ -tap-test-number-0.sh \ -tap-recheck-logs.sh \ -tap-result-comment.sh \ -tap-todo-skip-together.sh \ -tap-todo-skip-whitespace.sh \ -tap-todo-skip.sh \ -tap-unplanned.sh \ -tap-whitespace-normalization.sh \ -tap-with-and-without-number.sh \ -tap-xfail-tests.sh \ -tap-common-setup.sh \ -tap-bad-prog.tap \ -tap-basic.sh \ -tap-diagnostic-custom.sh \ -tap-driver-stderr.sh \ -tap-doc.sh \ -tap-doc2.sh \ -tap-more.sh \ -tap-more2.sh \ -tap-recheck.sh \ -tap-summary.sh \ -tap-summary-color.sh \ -tags.sh \ -tags2.sh \ -tagsub.sh \ -tar.sh \ -tar2.sh \ -tar3.sh \ -tar-override.sh \ -target-cflags.sh \ -targetclash.sh \ -tests-environment-fd-redirect.sh \ -tests-environment-and-log-compiler.sh \ -txinfo.sh \ -txinfo2.sh \ -txinfo3.sh \ -txinfo4.sh \ -txinfo5.sh \ -txinfo5b.sh \ -txinfo6.sh \ -txinfo7.sh \ -txinfo8.sh \ -txinfo9.sh \ -txinfo10.sh \ -txinfo13.sh \ -txinfo16.sh \ -txinfo17.sh \ -txinfo19.sh \ -txinfo20.sh \ -txinfo21.sh \ -txinfo22.sh \ -txinfo23.sh \ -txinfo24.sh \ -txinfo25.sh \ -txinfo26.sh \ -txinfo27.sh \ -txinfo28.sh \ -txinfo29.sh \ -txinfo30.sh \ -txinfo31.sh \ -txinfo32.sh \ -txinfo33.sh \ -txinfo-no-clutter.sh \ -txinfo-unrecognized-extension.sh \ -transform.sh \ -transform2.sh \ -transform3.sh \ -uninstall-fail.sh \ -uninstall-pr9578.sh \ -unused.sh \ -upc.sh \ -upc2.sh \ -upc3.sh \ -vala.sh \ -vala1.sh \ -vala2.sh \ -vala3.sh \ -vala4.sh \ -vala5.sh \ -vala-vpath.sh \ -vala-mix.sh \ -vala-mix2.sh \ -vars.sh \ -vars3.sh \ -vartar.sh \ -vartypos.sh \ -vartypo2.sh \ -version.sh \ -version2.sh \ -version3.sh \ -version4.sh \ -version6.sh \ -version7.sh \ -version8.sh \ -vpath.sh \ -vtexi.sh \ -vtexi2.sh \ -vtexi3.sh \ -vtexi4.sh \ -warnings-override.sh \ -warnings-precedence.sh \ -warnings-strictness-interactions.sh \ -warnings-unknown.sh \ -warnopts.sh \ -warnings-win-over-strictness.sh \ -warning-groups-win-over-strictness.sh \ -werror.sh \ -werror2.sh \ -werror3.sh \ -werror4.sh \ -whoami.sh \ -xsource.sh \ -yacc.sh \ -yacc2.sh \ -yacc4.sh \ -yacc5.sh \ -yacc7.sh \ -yacc8.sh \ -yaccdry.sh \ -yaccpp.sh \ -yaccvpath.sh \ -yacc-auxdir.sh \ -yacc-basic.sh \ -yacc-cxx.sh \ -yacc-bison-skeleton-cxx.sh \ -yacc-bison-skeleton.sh \ -yacc-clean.sh \ -yacc-clean-cxx.sh \ -yacc-d-basic.sh \ -yacc-d-cxx.sh \ -yacc-d-vpath.sh \ -yacc-deleted-headers.sh \ -yacc-depend.sh \ -yacc-depend2.sh \ -yacc-dist-nobuild-subdir.sh \ -yacc-dist-nobuild.sh \ -yacc-line.sh \ -yacc-mix-c-cxx.sh \ -yacc-nodist.sh \ -yacc-pr204.sh \ -yacc-weirdnames.sh \ -yflags.sh \ -yflags2.sh \ -yflags-cmdline-override.sh \ -yflags-conditional.sh \ -yflags-d-false-positives.sh \ -yflags-force-conditional.sh \ -yflags-force-override.sh \ -yflags-var-expand.sh \ -libtool-macros.sh \ -gettext-macros.sh +t/instspc.tap \ +t/aclocal.sh \ +t/aclocal3.sh \ +t/aclocal4.sh \ +t/aclocal5.sh \ +t/aclocal6.sh \ +t/aclocal7.sh \ +t/aclocal8.sh \ +t/aclocal9.sh \ +t/acloca10.sh \ +t/acloca11.sh \ +t/acloca12.sh \ +t/acloca13.sh \ +t/acloca14.sh \ +t/acloca15.sh \ +t/acloca16.sh \ +t/acloca17.sh \ +t/acloca18.sh \ +t/acloca19.sh \ +t/acloca20.sh \ +t/acloca21.sh \ +t/acloca22.sh \ +t/acloca23.sh \ +t/aclocal-acdir.sh \ +t/aclocal-install-absdir.sh \ +t/aclocal-print-acdir.sh \ +t/aclocal-path.sh \ +t/aclocal-path-install.sh \ +t/aclocal-path-install-serial.sh \ +t/aclocal-path-nonexistent.sh \ +t/aclocal-path-precedence.sh \ +t/aclocal-install-fail.sh \ +t/aclocal-install-mkdir.sh \ +t/aclocal-no-install-no-mkdir.sh \ +t/aclocal-verbose-install.sh \ +t/ac-output-old.tap \ +t/acsilent.sh \ +t/acsubst.sh \ +t/acsubst2.sh \ +t/add-missing.tap \ +t/all.sh \ +t/all2.sh \ +t/alloca.sh \ +t/alloca2.sh \ +t/alpha.sh \ +t/alpha2.sh \ +t/amhello-cflags.sh \ +t/amhello-cross-compile.sh \ +t/amhello-binpkg.sh \ +t/amassign.sh \ +t/ammissing.sh \ +t/amopt.sh \ +t/amopts-location.sh \ +t/amopts-variable-expansion.sh \ +t/amsubst.sh \ +t/ansi2knr-no-more.sh \ +t/ar-lib.sh \ +t/ar-lib2.sh \ +t/ar-lib3.sh \ +t/ar-lib4.sh \ +t/ar-lib5a.sh \ +t/ar-lib5b.sh \ +t/ar-lib6a.sh \ +t/ar-lib6b.sh \ +t/ar-lib7.sh \ +t/ar.sh \ +t/ar2.sh \ +t/ar3.sh \ +t/ar4.sh \ +t/ar5.sh \ +t/asm.sh \ +t/asm2.sh \ +t/asm3.sh \ +t/autodist.sh \ +t/autodist-subdir.sh \ +t/autodist-acconfig.sh \ +t/autodist-acconfig-no-subdir.sh \ +t/autodist-aclocal-m4.sh \ +t/autodist-config-headers.sh \ +t/autodist-configure-no-subdir.sh \ +t/autodist-no-duplicate.sh \ +t/autodist-stamp-vti.sh \ +t/autohdr.sh \ +t/autohdr2.sh \ +t/autohdr3.sh \ +t/autohdr4.sh \ +t/autohdrdry.sh \ +t/automake-cmdline.tap \ +t/auxdir.sh \ +t/auxdir6.sh \ +t/auxdir7.sh \ +t/auxdir8.sh \ +t/auxdir-autodetect.sh \ +t/auxdir-computed.tap \ +t/auxdir-misplaced.sh \ +t/auxdir-nonexistent.sh \ +t/auxdir-unportable.tap \ +t/backcompat.sh \ +t/backcompat2.sh \ +t/backcompat3.sh \ +t/backcompat4.sh \ +t/backcompat5.sh \ +t/backcompat6.sh \ +t/backsl.sh \ +t/backsl2.sh \ +t/backsl3.sh \ +t/backsl4.sh \ +t/badline.sh \ +t/badopt.sh \ +t/badprog.sh \ +t/block.sh \ +t/bsource.sh \ +t/candist.sh \ +t/canon.sh \ +t/canon2.sh \ +t/canon3.sh \ +t/canon4.sh \ +t/canon5.sh \ +t/canon6.sh \ +t/canon7.sh \ +t/canon8.sh \ +t/canon-name.sh \ +t/ccnoco.sh \ +t/ccnoco2.sh \ +t/ccnoco3.sh \ +t/check.sh \ +t/check2.sh \ +t/check3.sh \ +t/check4.sh \ +t/check5.sh \ +t/check6.sh \ +t/check7.sh \ +t/check8.sh \ +t/check10.sh \ +t/check11.sh \ +t/check12.sh \ +t/check-subst.sh \ +t/check-subst-prog.sh \ +t/check-exported-srcdir.sh \ +t/check-fd-redirect.sh \ +t/check-tests-in-builddir.sh \ +t/check-no-test-driver.sh \ +t/check-concurrency-bug9245.sh \ +t/checkall.sh \ +t/clean.sh \ +t/clean2.sh \ +t/colneq.sh \ +t/colneq2.sh \ +t/colneq3.sh \ +t/colon.sh \ +t/colon2.sh \ +t/colon3.sh \ +t/colon4.sh \ +t/colon5.sh \ +t/colon6.sh \ +t/colon7.sh \ +t/color.sh \ +t/color2.sh \ +t/comment.sh \ +t/comment2.sh \ +t/comment3.sh \ +t/comment4.sh \ +t/comment5.sh \ +t/comment6.sh \ +t/comment7.sh \ +t/comment8.sh \ +t/comment9.sh \ +t/commen10.sh \ +t/commen11.sh \ +t/comments-in-var-def.sh \ +t/compile.sh \ +t/compile2.sh \ +t/compile3.sh \ +t/compile4.sh \ +t/compile5.sh \ +t/compile6.sh \ +t/compile_f90_c_cxx.sh \ +t/compile_f_c_cxx.sh \ +t/cond-basic.sh \ +t/cond.sh \ +t/cond2.sh \ +t/cond3.sh \ +t/cond4.sh \ +t/cond5.sh \ +t/cond6.sh \ +t/cond7.sh \ +t/cond8.sh \ +t/cond9.sh \ +t/cond10.sh \ +t/cond11.sh \ +t/cond13.sh \ +t/cond14.sh \ +t/cond15.sh \ +t/cond16.sh \ +t/cond17.sh \ +t/cond18.sh \ +t/cond19.sh \ +t/cond20.sh \ +t/cond21.sh \ +t/cond22.sh \ +t/cond23.sh \ +t/cond24.sh \ +t/cond25.sh \ +t/cond26.sh \ +t/cond27.sh \ +t/cond28.sh \ +t/cond29.sh \ +t/cond30.sh \ +t/cond31.sh \ +t/cond32.sh \ +t/cond33.sh \ +t/cond34.sh \ +t/cond35.sh \ +t/cond36.sh \ +t/cond37.sh \ +t/cond38.sh \ +t/cond39.sh \ +t/cond40.sh \ +t/cond41.sh \ +t/cond42.sh \ +t/cond43.sh \ +t/cond44.sh \ +t/cond45.sh \ +t/cond46.sh \ +t/condd.sh \ +t/condhook.sh \ +t/condhook2.sh \ +t/condinc.sh \ +t/condinc2.sh \ +t/condlib.sh \ +t/condman2.sh \ +t/condman3.sh \ +t/configure.sh \ +t/confdeps.sh \ +t/conff.sh \ +t/conff2.sh \ +t/conffile-leading-dot.sh \ +t/confh.sh \ +t/confh4.sh \ +t/confh5.sh \ +t/confh6.sh \ +t/confh7.sh \ +t/confh8.sh \ +t/confincl.sh \ +t/conflnk.sh \ +t/conflnk2.sh \ +t/conflnk3.sh \ +t/conflnk4.sh \ +t/confsub.sh \ +t/confvar.sh \ +t/confvar2.sh \ +t/copy.sh \ +t/cscope.tap \ +t/cscope2.sh \ +t/cscope3.sh \ +t/cxx.sh \ +t/cxx2.sh \ +t/cxxcpp.sh \ +t/cxxlibobj.sh \ +t/cxxlink.sh \ +t/cxxnoc.sh \ +t/cxxo.sh \ +t/cygnus-check-without-all.sh \ +t/cygnus-dependency-tracking.sh \ +t/cygnus-imply-foreign.sh \ +t/cygnus-no-dist.sh \ +t/cygnus-no-installinfo.sh \ +t/cygnus-requires-maintainer-mode.sh \ +t/cygwin32.sh \ +t/dash.sh \ +t/defun.sh \ +t/defun2.sh \ +t/dejagnu.sh \ +t/dejagnu2.sh \ +t/dejagnu3.sh \ +t/dejagnu4.sh \ +t/dejagnu5.sh \ +t/dejagnu6.sh \ +t/dejagnu7.sh \ +t/dejagnu-absolute-builddir.sh \ +t/dejagnu-relative-srcdir.sh \ +t/dejagnu-siteexp-extend.sh \ +t/dejagnu-siteexp-append.sh \ +t/dejagnu-siteexp-useredit.sh \ +t/deleted-am.sh \ +t/deleted-m4.sh \ +t/depacl2.sh \ +t/depcomp.sh \ +t/depcomp2.sh \ +t/depcomp8a.sh \ +t/depcomp8b.sh \ +t/depdist.sh \ +t/depend.sh \ +t/depend3.sh \ +t/depend4.sh \ +t/depend5.sh \ +t/depend6.sh \ +t/deprecated-acinit.sh \ +t/destdir.sh \ +t/dirlist.sh \ +t/dirlist2.sh \ +t/dirlist-abspath.sh \ +t/discover.sh \ +t/dist-formats.tap \ +t/dist-auxdir-many-subdirs.sh \ +t/dist-auxfile-2.sh \ +t/dist-auxfile.sh \ +t/dist-included-parent-dir.sh \ +t/dist-missing-am.sh \ +t/dist-missing-included-m4.sh \ +t/dist-missing-m4.sh \ +t/dist-readonly.sh \ +t/dist-repeated.sh \ +t/dist-pr109765.sh \ +t/distcleancheck.sh \ +t/distcom2.sh \ +t/distcom3.sh \ +t/distcom4.sh \ +t/distcom5.sh \ +t/distcom-subdir.sh \ +t/distdir.sh \ +t/disthook.sh \ +t/distlinks.sh \ +t/distlinksbrk.sh \ +t/distname.sh \ +t/distcheck-configure-flags.sh \ +t/distcheck-configure-flags-am.sh \ +t/distcheck-configure-flags-subpkg.sh \ +t/distcheck-hook.sh \ +t/distcheck-hook2.sh \ +t/distcheck-writable-srcdir.sh \ +t/distcheck-missing-m4.sh \ +t/distcheck-outdated-m4.sh \ +t/distcheck-override-infodir.sh \ +t/distcheck-pr9579.sh \ +t/distcheck-pr10470.sh \ +t/dmalloc.sh \ +t/doc-parsing-buglets-colneq-subst.sh \ +t/doc-parsing-buglets-tabs.sh \ +t/dollar.sh \ +t/dollarvar.sh \ +t/dollarvar2.sh \ +t/double.sh \ +t/dup2.sh \ +t/else.sh \ +t/empty.sh \ +t/empty2.sh \ +t/empty3.sh \ +t/empty4.sh \ +t/exdir.sh \ +t/exdir2.sh \ +t/exdir3.sh \ +t/exeext.sh \ +t/exeext2.sh \ +t/exeext3.sh \ +t/exeext4.sh \ +t/exsource.sh \ +t/ext.sh \ +t/ext2.sh \ +t/ext3.sh \ +t/extra.sh \ +t/extra2.sh \ +t/extra3.sh \ +t/extra4.sh \ +t/extra5.sh \ +t/extra6.sh \ +t/extra7.sh \ +t/extra8.sh \ +t/extra9.sh \ +t/extra10.sh \ +t/extra11.sh \ +t/extra12.sh \ +t/extra-programs-empty.sh \ +t/extra-portability.sh \ +t/extra-portability2.sh \ +t/extra-portability3.sh \ +t/extradep.sh \ +t/extradep2.sh \ +t/f90only.sh \ +t/flavor.sh \ +t/flibs.sh \ +t/fn99.sh \ +t/fn99subdir.sh \ +t/fnoc.sh \ +t/fo.sh \ +t/forcemiss.sh \ +t/forcemiss2.sh \ +t/fort1.sh \ +t/fort2.sh \ +t/fort4.sh \ +t/fort5.sh \ +t/fonly.sh \ +t/fortdep.sh \ +t/gcj.sh \ +t/gcj2.sh \ +t/gcj3.sh \ +t/gcj4.sh \ +t/gcj5.sh \ +t/gcj6.sh \ +t/gettext.sh \ +t/gettext2.sh \ +t/gettext3.sh \ +t/gnumake.sh \ +t/gnuwarn.sh \ +t/gnuwarn2.sh \ +t/gnits.sh \ +t/gnits2.sh \ +t/gnits3.sh \ +t/hdr-vars-defined-once.sh \ +t/header.sh \ +t/help.sh \ +t/help2.sh \ +t/help3.sh \ +t/help4.sh \ +t/help-depend.sh \ +t/help-depend2.sh \ +t/help-dmalloc.sh \ +t/help-init.sh \ +t/help-lispdir.sh \ +t/help-multilib.sh \ +t/help-python.sh \ +t/help-silent.sh \ +t/help-upc.sh \ +t/hfs.sh \ +t/implicit.sh \ +t/info.sh \ +t/init.sh \ +t/init2.sh \ +t/insh2.sh \ +t/install2.sh \ +t/installdir.sh \ +t/instsh.sh \ +t/instsh2.sh \ +t/instsh3.sh \ +t/instdat.sh \ +t/instdat2.sh \ +t/instdir.sh \ +t/instdir2.sh \ +t/instdir-cond.sh \ +t/instdir-cond2.sh \ +t/instdir-no-empty.sh \ +t/instdir-java.sh \ +t/instdir-lisp.sh \ +t/instdir-ltlib.sh \ +t/instdir-prog.sh \ +t/instdir-python.sh \ +t/instdir-texi.sh \ +t/instexec.sh \ +t/instfail.sh \ +t/instfail-info.sh \ +t/instfail-java.sh \ +t/instfail-libtool.sh \ +t/insthook.sh \ +t/instman.sh \ +t/instman2.sh \ +t/instmany.sh \ +t/instmany-mans.sh \ +t/instmany-python.sh \ +t/install-info-dir.sh \ +t/interp.sh \ +t/interp2.sh \ +t/java.sh \ +t/java2.sh \ +t/java3.sh \ +t/javadir-undefined.sh \ +t/javaflags.sh \ +t/java-check.sh \ +t/java-clean.sh \ +t/java-compile-install.sh \ +t/java-compile-run-flat.sh \ +t/java-compile-run-nested.sh \ +t/java-empty-classpath.sh \ +t/javaprim.sh \ +t/javasubst.sh \ +t/java-extra.sh \ +t/java-mix.sh \ +t/java-no-duplicate.sh \ +t/java-nobase.sh \ +t/java-noinst.sh \ +t/java-rebuild.sh \ +t/java-sources.sh \ +t/java-uninstall.sh \ +t/ldadd.sh \ +t/ldflags.sh \ +t/lex.sh \ +t/lex2.sh \ +t/lex3.sh \ +t/lex5.sh \ +t/lexcpp.sh \ +t/lexvpath.sh \ +t/lex-subobj-nodep.sh \ +t/lex-lib.sh \ +t/lex-lib-external.sh \ +t/lex-libobj.sh \ +t/lex-noyywrap.sh \ +t/lex-clean-cxx.sh \ +t/lex-clean.sh \ +t/lex-depend-cxx.sh \ +t/lex-depend-grep.sh \ +t/lex-depend.sh \ +t/lex-line.sh \ +t/lex-nodist.sh \ +t/lex-pr204.sh \ +t/lflags.sh \ +t/lflags2.sh \ +t/libexec.sh \ +t/libobj-basic.sh \ +t/libobj2.sh \ +t/libobj3.sh \ +t/libobj4.sh \ +t/libobj5.sh \ +t/libobj7.sh \ +t/libobj10.sh \ +t/libobj12.sh \ +t/libobj13.sh \ +t/libobj14.sh \ +t/libobj15a.sh \ +t/libobj15b.sh \ +t/libobj15c.sh \ +t/libobj16a.sh \ +t/libobj16b.sh \ +t/libobj17.sh \ +t/libobj18.sh \ +t/libobj19.sh \ +t/libobj20a.sh \ +t/libobj20b.sh \ +t/libobj20c.sh \ +t/library.sh \ +t/library2.sh \ +t/library3.sh \ +t/libtool.sh \ +t/libtool2.sh \ +t/libtool3.sh \ +t/libtool4.sh \ +t/libtool5.sh \ +t/libtool6.sh \ +t/libtool7.sh \ +t/libtool8.sh \ +t/libtool9.sh \ +t/libtoo10.sh \ +t/libtoo11.sh \ +t/license.sh \ +t/license2.sh \ +t/link_c_cxx.sh \ +t/link_cond.sh \ +t/link_dist.sh \ +t/link_f90_only.sh \ +t/link_fc.sh \ +t/link_fccxx.sh \ +t/link_fcxx.sh \ +t/link_f_only.sh \ +t/link_override.sh \ +t/lisp2.sh \ +t/lisp3.sh \ +t/lisp4.sh \ +t/lisp5.sh \ +t/lisp6.sh \ +t/lisp7.sh \ +t/lisp8.sh \ +t/lispdry.sh \ +t/listval.sh \ +t/location.sh \ +t/longline.sh \ +t/longlin2.sh \ +t/ltcond.sh \ +t/ltcond2.sh \ +t/ltconv.sh \ +t/ltdeps.sh \ +t/ltinit.sh \ +t/ltinstloc.sh \ +t/ltlibobjs.sh \ +t/ltlibsrc.sh \ +t/ltorder.sh \ +t/lzma.sh \ +t/m4-inclusion.sh \ +t/maintclean.sh \ +t/maintclean-vpath.sh \ +t/maintmode-configure-msg.sh \ +t/make.sh \ +t/makefile-deps.sh \ +t/makej.sh \ +t/makej2.sh \ +t/maken.sh \ +t/maken3.sh \ +t/make-dryrun.tap \ +t/makevars.sh \ +t/man.sh \ +t/man2.sh \ +t/man3.sh \ +t/man4.sh \ +t/man5.sh \ +t/man6.sh \ +t/man7.sh \ +t/man8.sh \ +t/mdate.sh \ +t/mdate2.sh \ +t/mdate3.sh \ +t/mdate4.sh \ +t/mdate5.sh \ +t/mdate6.sh \ +t/missing.sh \ +t/missing2.sh \ +t/missing3.sh \ +t/missing4.sh \ +t/missing5.sh \ +t/missing6.sh \ +t/missing-auxfile-stops-makefiles-creation.sh \ +t/mkinstall.sh \ +t/mkinst2.sh \ +t/mkinst3.sh \ +t/mmode.sh \ +t/mmodely.sh \ +t/multlib.sh \ +t/no-extra-makefile-code.sh \ +t/no-outdir-option.sh \ +t/nobase.sh \ +t/nobase-libtool.sh \ +t/nobase-python.sh \ +t/nobase-nodist.sh \ +t/nodef.sh \ +t/nodef2.sh \ +t/nodep.sh \ +t/nodep2.sh \ +t/nodepcomp.sh \ +t/nodist.sh \ +t/nodist2.sh \ +t/nodist3.sh \ +t/noinst.sh \ +t/noinstdir.sh \ +t/nolink.sh \ +t/nostdinc.sh \ +t/notrans.sh \ +t/number.sh \ +t/objc.sh \ +t/objc2.sh \ +t/objext-pr10128.sh \ +t/obsolete.sh \ +t/oldvars.sh \ +t/order.sh \ +t/output.sh \ +t/output2.sh \ +t/output3.sh \ +t/output4.sh \ +t/output5.sh \ +t/output6.sh \ +t/output7.sh \ +t/output8.sh \ +t/output9.sh \ +t/output10.sh \ +t/output11.sh \ +t/output12.sh \ +t/output13.sh \ +t/output-order.sh \ +t/override-conditional-1.sh \ +t/override-conditional-2.sh \ +t/override-html.sh \ +t/override-suggest-local.sh \ +t/parallel-am.sh \ +t/parallel-am2.sh \ +t/parallel-am3.sh \ +t/serial-tests.sh \ +t/parallel-tests.sh \ +t/parallel-tests2.sh \ +t/parallel-tests3.sh \ +t/parallel-tests5.sh \ +t/parallel-tests6.sh \ +t/parallel-tests8.sh \ +t/parallel-tests9.sh \ +t/parallel-tests10.sh \ +t/parallel-tests-exeext.sh \ +t/parallel-tests-suffix.sh \ +t/parallel-tests-suffix-prog.sh \ +t/parallel-tests-log-compiler-1.sh \ +t/parallel-tests-log-compiler-2.sh \ +t/parallel-tests-dry-run-1.sh \ +t/parallel-tests-dry-run-2.sh \ +t/parallel-tests-fd-redirect.sh \ +t/parallel-tests-fd-redirect-exeext.sh \ +t/parallel-tests-extra-programs.sh \ +t/parallel-tests-unreadable.sh \ +t/parallel-tests-subdir.sh \ +t/parallel-tests-interrupt.tap \ +t/parallel-tests-reset-term.sh \ +t/parallel-tests-harderror.sh \ +t/parallel-tests-log-override-1.sh \ +t/parallel-tests-log-override-2.sh \ +t/parallel-tests-log-override-recheck.sh \ +t/parallel-tests-log-compiler-example.sh \ +t/parallel-tests-cmdline-override.sh \ +t/parallel-tests-fork-bomb.sh \ +t/parallel-tests-empty-testlogs.sh \ +t/parallel-tests-driver-install.sh \ +t/parallel-tests-no-color-in-log.sh \ +t/parallel-tests-no-spurious-summary.sh \ +t/parallel-tests-exit-statuses.sh \ +t/parallel-tests-console-output.sh \ +t/parallel-tests-once.sh \ +t/parallel-tests-trailing-bslash.sh \ +t/parallel-tests-many.sh \ +t/tests-environment.sh \ +t/am-tests-environment.sh \ +t/tests-environment-backcompat.sh \ +t/testsuite-summary-color.sh \ +t/testsuite-summary-count.sh \ +t/testsuite-summary-count-many.sh \ +t/testsuite-summary-reference-log.sh \ +t/test-driver-acsubst.sh \ +t/test-driver-cond.sh \ +t/test-driver-custom-no-extra-driver.sh \ +t/test-driver-custom.sh \ +t/test-driver-custom-xfail-tests.sh \ +t/test-driver-custom-multitest.sh \ +t/test-driver-custom-multitest-recheck.sh \ +t/test-driver-custom-multitest-recheck2.sh \ +t/test-driver-create-log-dir.sh \ +t/test-driver-strip-vpath.sh \ +t/test-driver-trs-suffix-registered.sh \ +t/test-driver-fail.sh \ +t/test-driver-is-distributed.sh \ +t/test-harness-vpath-rewrite.sh \ +t/test-log.sh \ +t/test-logs-repeated.sh \ +t/test-metadata-global-log.sh \ +t/test-metadata-global-result.sh \ +t/test-metadata-recheck.sh \ +t/test-metadata-results.sh \ +t/test-missing.sh \ +t/test-missing2.sh \ +t/test-trs-basic.sh \ +t/test-trs-recover.sh \ +t/test-trs-recover2.sh \ +t/test-extensions.sh \ +t/test-extensions-cond.sh \ +t/parse.sh \ +t/percent.sh \ +t/percent2.sh \ +t/phony.sh \ +t/pluseq.sh \ +t/pluseq2.sh \ +t/pluseq3.sh \ +t/pluseq4.sh \ +t/pluseq5.sh \ +t/pluseq6.sh \ +t/pluseq7.sh \ +t/pluseq8.sh \ +t/pluseq9.sh \ +t/pluseq10.sh \ +t/pluseq11.sh \ +t/posixsubst-data.sh \ +t/posixsubst-extradist.sh \ +t/posixsubst-ldadd.sh \ +t/posixsubst-libraries.sh \ +t/posixsubst-ltlibraries.sh \ +t/posixsubst-programs.sh \ +t/posixsubst-scripts.sh \ +t/posixsubst-sources.sh \ +t/posixsubst-tests.sh \ +t/postproc.sh \ +t/ppf77.sh \ +t/pr2.sh \ +t/pr9.sh \ +t/pr72.sh \ +t/pr87.sh \ +t/pr211.sh \ +t/pr220.sh \ +t/pr224.sh \ +t/pr229.sh \ +t/pr243.sh \ +t/pr266.sh \ +t/pr279.sh \ +t/pr279-2.sh \ +t/pr287.sh \ +t/pr300-lib.sh \ +t/pr300-ltlib.sh \ +t/pr300-prog.sh \ +t/pr307.sh \ +t/pr401.sh \ +t/pr401b.sh \ +t/pr401c.sh \ +t/prefix.sh \ +t/primary.sh \ +t/primary2.sh \ +t/primary3.sh \ +t/primary-prefix-invalid-couples.tap \ +t/primary-prefix-valid-couples.sh \ +t/primary-prefix-couples-force-valid.sh \ +t/primary-prefix-couples-documented-valid.sh \ +t/print-libdir.sh \ +t/proginst.sh \ +t/programs-primary-rewritten.sh \ +t/py-compile-basic.sh \ +t/py-compile-basic2.sh \ +t/py-compile-basedir.sh \ +t/py-compile-destdir.sh \ +t/py-compile-env.sh \ +t/py-compile-option-terminate.sh \ +t/py-compile-usage.sh \ +t/python.sh \ +t/python2.sh \ +t/python3.sh \ +t/python4.sh \ +t/python5.sh \ +t/python5b.sh \ +t/python6.sh \ +t/python7.sh \ +t/python8.sh \ +t/python9.sh \ +t/python10.sh \ +t/python11.sh \ +t/python12.sh \ +t/python-dist.sh \ +t/python-vars.sh \ +t/python-virtualenv.sh \ +t/python-pr10995.sh \ +t/recurs.sh \ +t/recurs2.sh \ +t/remake.sh \ +t/remake1a.sh \ +t/remake2.sh \ +t/remake3.sh \ +t/remake3a.sh \ +t/remake4.sh \ +t/remake5.sh \ +t/remake6.sh \ +t/remake7.sh \ +t/remake8a.sh \ +t/remake8b.sh \ +t/remake9a.sh \ +t/remake9b.sh \ +t/remake9c.sh \ +t/remake9d.sh \ +t/remake10a.sh \ +t/remake10b.sh \ +t/remake10c.sh \ +t/remake11.sh \ +t/remake12.sh \ +t/remake-all-1.sh \ +t/remake-all-2.sh \ +t/remake-subdir-from-subdir.sh \ +t/remake-subdir-gnu.sh \ +t/remake-subdir.sh \ +t/remake-subdir2.sh \ +t/remake-subdir-long-time.sh \ +t/remake-gnulib-add-acsubst.sh \ +t/remake-gnulib-add-header.sh \ +t/remake-gnulib-remove-header.sh \ +t/remake-moved-m4-file.sh \ +t/remake-deleted-m4-file.sh \ +t/remake-renamed-m4-file.sh \ +t/remake-renamed-m4-macro-and-file.sh \ +t/remake-renamed-m4-macro.sh \ +t/remake-am-pr10111.sh \ +t/remake-m4-pr10111.sh \ +t/remake-deleted-am-2.sh \ +t/remake-deleted-am-subdir.sh \ +t/remake-deleted-am.sh \ +t/remake-renamed-am.sh \ +t/pr8365-remake-timing.sh \ +t/req.sh \ +t/reqd.sh \ +t/reqd2.sh \ +t/repeated-options.sh \ +t/rst-formatting.sh \ +t/rulepat.sh \ +t/self-check-cleanup.tap \ +t/self-check-configure-help.sh \ +t/self-check-dir.tap \ +t/self-check-env-sanitize.tap \ +t/self-check-exit.tap \ +t/self-check-explicit-skips.sh \ +t/self-check-is_newest.tap \ +t/self-check-me.tap \ +t/self-check-reexec.tap \ +t/self-check-report.sh \ +t/self-check-sanity.sh \ +t/self-check-seq.tap \ +t/self-check-is-blocked-signal.tap \ +t/self-check-tap.sh \ +t/self-check-unindent.tap \ +t/sanity.sh \ +t/scripts.sh \ +t/seenc.sh \ +t/silent.sh \ +t/silent2.sh \ +t/silent3.sh \ +t/silent4.sh \ +t/silent6.sh \ +t/silent7.sh \ +t/silent8.sh \ +t/silent9.sh \ +t/silentcxx.sh \ +t/silentcxx-gcc.sh \ +t/silentf77.sh \ +t/silentf90.sh \ +t/silent-amopts.sh \ +t/silent-many-gcc.sh \ +t/silent-many-generic.sh \ +t/silent-nowarn.sh \ +t/silent-configsite.sh \ +t/silent-nested-vars.sh \ +t/silent-lex.sh \ +t/silent-yacc.sh \ +t/silent-yacc-headers.sh \ +t/srcsub.sh \ +t/srcsub2.sh \ +t/space.sh \ +t/specflg.sh \ +t/specflg2.sh \ +t/specflg3.sh \ +t/specflg6.sh \ +t/specflg7.sh \ +t/specflg8.sh \ +t/specflg9.sh \ +t/specflg10.sh \ +t/specflg-dummy.sh \ +t/spell.sh \ +t/spell2.sh \ +t/spell3.sh \ +t/spelling.sh \ +t/spy.sh \ +t/spy-rm.tap \ +t/stdinc.sh \ +t/stamph2.sh \ +t/stdlib.sh \ +t/stdlib2.sh \ +t/strictness-override.sh \ +t/strictness-precedence.sh \ +t/strip.sh \ +t/strip2.sh \ +t/strip3.sh \ +t/subdir.sh \ +t/subdir2.sh \ +t/subdir3.sh \ +t/subdir4.sh \ +t/subdir5.sh \ +t/subdir6.sh \ +t/subdir7.sh \ +t/subdir8.sh \ +t/subdir9.sh \ +t/subdir10.sh \ +t/subdirbuiltsources.sh \ +t/subcond.sh \ +t/subcond2.sh \ +t/subcond3.sh \ +t/subobj.sh \ +t/subobj2.sh \ +t/subobj4.sh \ +t/subobj5.sh \ +t/subobj6.sh \ +t/subobj7.sh \ +t/subobj8.sh \ +t/subobj9.sh \ +t/subobj10.sh \ +t/subobj11a.sh \ +t/subobj11b.sh \ +t/subobj11c.sh \ +t/subobjname.sh \ +t/subpkg.sh \ +t/subpkg2.sh \ +t/subpkg3.sh \ +t/subpkg4.sh \ +t/subpkg-yacc.sh \ +t/subst.sh \ +t/subst3.sh \ +t/subst4.sh \ +t/subst5.sh \ +t/subst-no-trailing-empty-line.sh \ +t/substref.sh \ +t/substre2.sh \ +t/substtarg.sh \ +t/suffix.sh \ +t/suffix2.sh \ +t/suffix3.tap \ +t/suffix4.sh \ +t/suffix5.sh \ +t/suffix6.sh \ +t/suffix6b.sh \ +t/suffix6c.sh \ +t/suffix7.sh \ +t/suffix8.tap \ +t/suffix9.sh \ +t/suffix10.tap \ +t/suffix11.tap \ +t/suffix12.sh \ +t/suffix13.sh \ +t/suffix-chain.tap \ +t/symlink.sh \ +t/symlink2.sh \ +t/syntax.sh \ +t/tap-ambiguous-directive.sh \ +t/tap-autonumber.sh \ +t/tap-bailout.sh \ +t/tap-bailout-leading-space.sh \ +t/tap-bailout-and-logging.sh \ +t/tap-bailout-suppress-badexit.sh \ +t/tap-bailout-suppress-later-diagnostic.sh \ +t/tap-bailout-suppress-later-errors.sh \ +t/tap-color.sh \ +t/tap-deps.sh \ +t/tap-diagnostic.sh \ +t/tap-empty-diagnostic.sh \ +t/tap-empty.sh \ +t/tap-escape-directive.sh \ +t/tap-escape-directive-2.sh \ +t/tap-exit.sh \ +t/tap-signal.tap \ +t/tap-fancy.sh \ +t/tap-fancy2.sh \ +t/tap-global-log.sh \ +t/tap-global-result.sh \ +t/tap-log.sh \ +t/tap-msg0-result.sh \ +t/tap-msg0-directive.sh \ +t/tap-msg0-planskip.sh \ +t/tap-msg0-bailout.sh \ +t/tap-msg0-misc.sh \ +t/tap-merge-stdout-stderr.sh \ +t/tap-no-merge-stdout-stderr.sh \ +t/tap-no-disable-hard-error.sh \ +t/tap-no-spurious-summary.sh \ +t/tap-no-spurious-numbers.sh \ +t/tap-no-spurious.sh \ +t/tap-not-ok-skip.sh \ +t/tap-number-wordboundary.sh \ +t/tap-numeric-description.sh \ +t/tap-negative-numbers.sh \ +t/tap-numbers-leading-zero.sh \ +t/tap-out-of-order.sh \ +t/tap-passthrough.sh \ +t/tap-passthrough-exit.sh \ +t/tap-plan.sh \ +t/tap-plan-corner.sh \ +t/tap-plan-errors.sh \ +t/tap-plan-middle.sh \ +t/tap-plan-whitespace.sh \ +t/tap-plan-leading-zero.sh \ +t/tap-plan-malformed.sh \ +t/tap-missing-plan-and-bad-exit.sh \ +t/tap-planskip.sh \ +t/tap-planskip-late.sh \ +t/tap-planskip-and-logging.sh \ +t/tap-planskip-unplanned.sh \ +t/tap-planskip-unplanned-corner.sh \ +t/tap-planskip-case-insensitive.sh \ +t/tap-planskip-whitespace.sh \ +t/tap-planskip-badexit.sh \ +t/tap-planskip-bailout.sh \ +t/tap-planskip-later-errors.sh \ +t/tap-realtime.sh \ +t/tap-test-number-0.sh \ +t/tap-recheck-logs.sh \ +t/tap-result-comment.sh \ +t/tap-todo-skip-together.sh \ +t/tap-todo-skip-whitespace.sh \ +t/tap-todo-skip.sh \ +t/tap-unplanned.sh \ +t/tap-whitespace-normalization.sh \ +t/tap-with-and-without-number.sh \ +t/tap-xfail-tests.sh \ +t/tap-common-setup.sh \ +t/tap-bad-prog.tap \ +t/tap-basic.sh \ +t/tap-diagnostic-custom.sh \ +t/tap-driver-stderr.sh \ +t/tap-doc.sh \ +t/tap-doc2.sh \ +t/tap-more.sh \ +t/tap-more2.sh \ +t/tap-recheck.sh \ +t/tap-summary.sh \ +t/tap-summary-color.sh \ +t/tags.sh \ +t/tags2.sh \ +t/tagsub.sh \ +t/tar.sh \ +t/tar2.sh \ +t/tar3.sh \ +t/tar-override.sh \ +t/target-cflags.sh \ +t/targetclash.sh \ +t/tests-environment-fd-redirect.sh \ +t/tests-environment-and-log-compiler.sh \ +t/txinfo.sh \ +t/txinfo2.sh \ +t/txinfo3.sh \ +t/txinfo4.sh \ +t/txinfo5.sh \ +t/txinfo5b.sh \ +t/txinfo6.sh \ +t/txinfo7.sh \ +t/txinfo8.sh \ +t/txinfo9.sh \ +t/txinfo10.sh \ +t/txinfo13.sh \ +t/txinfo16.sh \ +t/txinfo17.sh \ +t/txinfo19.sh \ +t/txinfo20.sh \ +t/txinfo21.sh \ +t/txinfo22.sh \ +t/txinfo23.sh \ +t/txinfo24.sh \ +t/txinfo25.sh \ +t/txinfo26.sh \ +t/txinfo27.sh \ +t/txinfo28.sh \ +t/txinfo29.sh \ +t/txinfo30.sh \ +t/txinfo31.sh \ +t/txinfo32.sh \ +t/txinfo33.sh \ +t/txinfo-no-clutter.sh \ +t/txinfo-unrecognized-extension.sh \ +t/transform.sh \ +t/transform2.sh \ +t/transform3.sh \ +t/uninstall-fail.sh \ +t/uninstall-pr9578.sh \ +t/unused.sh \ +t/upc.sh \ +t/upc2.sh \ +t/upc3.sh \ +t/vala.sh \ +t/vala1.sh \ +t/vala2.sh \ +t/vala3.sh \ +t/vala4.sh \ +t/vala5.sh \ +t/vala-vpath.sh \ +t/vala-mix.sh \ +t/vala-mix2.sh \ +t/vars.sh \ +t/vars3.sh \ +t/vartar.sh \ +t/vartypos.sh \ +t/vartypo2.sh \ +t/version.sh \ +t/version2.sh \ +t/version3.sh \ +t/version4.sh \ +t/version6.sh \ +t/version7.sh \ +t/version8.sh \ +t/vpath.sh \ +t/vtexi.sh \ +t/vtexi2.sh \ +t/vtexi3.sh \ +t/vtexi4.sh \ +t/warnings-override.sh \ +t/warnings-precedence.sh \ +t/warnings-strictness-interactions.sh \ +t/warnings-unknown.sh \ +t/warnopts.sh \ +t/warnings-win-over-strictness.sh \ +t/warning-groups-win-over-strictness.sh \ +t/werror.sh \ +t/werror2.sh \ +t/werror3.sh \ +t/werror4.sh \ +t/whoami.sh \ +t/xsource.sh \ +t/yacc.sh \ +t/yacc2.sh \ +t/yacc4.sh \ +t/yacc5.sh \ +t/yacc7.sh \ +t/yacc8.sh \ +t/yaccdry.sh \ +t/yaccpp.sh \ +t/yaccvpath.sh \ +t/yacc-auxdir.sh \ +t/yacc-basic.sh \ +t/yacc-cxx.sh \ +t/yacc-bison-skeleton-cxx.sh \ +t/yacc-bison-skeleton.sh \ +t/yacc-clean.sh \ +t/yacc-clean-cxx.sh \ +t/yacc-d-basic.sh \ +t/yacc-d-cxx.sh \ +t/yacc-d-vpath.sh \ +t/yacc-deleted-headers.sh \ +t/yacc-depend.sh \ +t/yacc-depend2.sh \ +t/yacc-dist-nobuild-subdir.sh \ +t/yacc-dist-nobuild.sh \ +t/yacc-line.sh \ +t/yacc-mix-c-cxx.sh \ +t/yacc-nodist.sh \ +t/yacc-pr204.sh \ +t/yacc-weirdnames.sh \ +t/yflags.sh \ +t/yflags2.sh \ +t/yflags-cmdline-override.sh \ +t/yflags-conditional.sh \ +t/yflags-d-false-positives.sh \ +t/yflags-force-conditional.sh \ +t/yflags-force-override.sh \ +t/yflags-var-expand.sh \ +t/libtool-macros.sh \ +t/gettext-macros.sh print-list-of-tests: @echo $(handwritten_TESTS) diff --git a/t/multlib.sh b/t/multlib.sh index b7ddf200e..0295ccc45 100755 --- a/t/multlib.sh +++ b/t/multlib.sh @@ -22,7 +22,7 @@ required='gcc GNUmake' . ./defs || Exit 1 -mldir=$top_testsrcdir/contrib/multilib +mldir=$am_top_srcdir/contrib/multilib mkdir m4 cp "$mldir"/config-ml.in "$mldir"/symlink-tree . cp "$mldir"/multi.m4 m4 diff --git a/t/parallel-tests2.sh b/t/parallel-tests2.sh index 7b6933a5d..73daf4356 100755 --- a/t/parallel-tests2.sh +++ b/t/parallel-tests2.sh @@ -36,7 +36,7 @@ while :; do done unset r2h -cp "$top_testsrcdir"/contrib/check-html.am . \ +cp "$am_top_srcdir"/contrib/check-html.am . \ || fatal_ "cannot fetch 'check-html.am' from contrib" cat >> configure.ac << 'END' diff --git a/t/self-check-cleanup.tap b/t/self-check-cleanup.tap index f38b9055a..3ea528147 100755 --- a/t/self-check-cleanup.tap +++ b/t/self-check-cleanup.tap @@ -27,9 +27,11 @@ plan_ 42 # We still need a little hack to make ./defs work outside automake's # tree 'tests' subdirectory. Not a big deal. -sed "s|^testbuilddir=.*|testbuilddir='`pwd`'|" ../defs-static >defs-static -diff ../defs-static defs-static && fatal_ "failed to edit defs-static" -cp ../defs . +sed "s|^am_top_builddir=.*|am_top_builddir='`pwd`'|" \ + "$am_top_builddir"/defs-static >defs-static +diff "$am_top_builddir"/defs-static defs-static \ + && fatal_ "failed to edit defs-static" +cp "$am_top_builddir"/defs . AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC @@ -40,37 +42,37 @@ else fi export have_symlinks # Is used also by spawned shells. -dir=dummy.dir - # Don't let a failure poison all subsequent tests. do_clean () { - test -d $dir || return 0 # Don't try to be smart and use find here, that has caused issues # and extra ERROR results in the past. Be dumb and safe. - chmod u+rwx $dir || : - for d in $dir/*; do test ! -d $d || chmod u+rwx $d || :; done - for d in $dir/*/*; do test ! -d $d || chmod u+rwx $d || :; done - rm -rf $dir + for d in t t/* t/*/* t/*/*/*; do + test ! -d t/$d || chmod u+rwx t/$d || : + done + rm -rf t } # Check that pre-test cleanup works also with directories with # "null" permissions, and containing broken symlinks. -mkdir $dir $dir/sub -cd $dir -touch file sub/file -if test $have_symlinks = yes; then - ln -s file symlink - ln -s none brokenlink -fi -cd .. -chmod 000 $dir/sub/* $dir/file -test $have_symlinks = yes && chmod 000 $dir/symlink -chmod 500 $dir/sub $dir +mkdir t t/dummy.dir t/dummy.dir/sub +( + cd t/dummy.dir + touch file sub/file + if test $have_symlinks = yes; then + ln -s file symlink + ln -s none brokenlink + fi +) +chmod 000 t/dummy.dir/sub/* t/dummy.dir/file +test $have_symlinks = yes && chmod 000 t/dummy.dir/symlink +chmod 500 t/dummy.dir/sub t/dummy.dir command_ok_ "pre-cleanup can deal with low-perms testdir" \ $SHELL -c '. ./defs' dummy.sh command_ok_ "pre-cleanup removed low-perms testdir" \ - eval 'test ! -f $dir && test ! -d $dir && test ! -r $dir' + eval 'test ! -f dummy.dir \ + && test ! -d dummy.dir \ + && test ! -r dummy.dir' do_clean @@ -93,9 +95,11 @@ command_ok_ "post-cleanup can deal with low-perms testdir" \ test $have_symlinks = yes && chmod 000 dir/symlink chmod 500 dir/sub dir : -' dummy.sh +' t/dummy.sh command_ok_ "post-cleanup removed null-perms testdir" \ - eval 'test ! -f $dir && test ! -d $dir && test ! -r $dir' + eval 'test ! -f dummy.dir \ + && test ! -d dummy.dir \ + && test ! -r dummy.dir' do_clean @@ -108,10 +112,8 @@ if test $have_symlinks = yes; then : > file chmod 000 file - mkdir $dir - cd $dir - ln -s ../dir ../file . - cd .. + mkdir t t/dummy.dir + (cd t/dummy.dir && ln -s ../../dir ../../file .) command_ok_ "pre-cleanup with testdir with zero-perms symlinks" \ $SHELL -c '. ./defs' dummy.sh @@ -127,7 +129,7 @@ if test $have_symlinks = yes; then stderr_fileno_=2 . ./defs || Exit 1 ln -s "$ocwd/dir" "$ocwd/file" . - ' dummy.sh + ' t/dummy.sh ls -l # For debugging. command_ok_ "post-cleanup chmod doesn't follow symlinks to files" \ eval 'ls -l file | grep "^----------.*file"' @@ -154,9 +156,9 @@ for st in 1 2 3 10 77 99 126 127 130 255; do . ./defs : > foo Exit $st - " dummy.sh + " t/dummy.sh command_ok_ "testdir not removed if exiting with status $st" \ - test -f dummy.dir/foo + test -f t/dummy.dir/foo do_clean done @@ -170,9 +172,9 @@ for sig in 1 2 3 9 13 15; do . ./defs : > foo kill -$sig \$\$ - " dummy.sh + " t/dummy.sh command_ok_ "testdir not removed if getting signal $sig" \ - test -f dummy.dir/foo + test -f t/dummy.dir/foo do_clean done diff --git a/t/self-check-dir.tap b/t/self-check-dir.tap index b056ed3ec..322677a9f 100755 --- a/t/self-check-dir.tap +++ b/t/self-check-dir.tap @@ -41,22 +41,22 @@ do_check () # Don't fail if 'ls -l' fails; avoids possible racy spurious failures. pwd; ls -l || : # For debugging. $3 - " _self.sh + " t/_self.sh } do_check 'testdir has the expected path' \ 'unset am_create_testdir' \ - 'case `pwd` in '"$cwd"'/_self.dir);; *) Exit 1;; esac' + 'case `pwd` in '"$cwd"'/t/_self.dir);; *) Exit 1;; esac' do_check 'fully pre-populated testdir' \ 'unset am_create_testdir' \ 'test -f install-sh || Exit 1 test -f configure.ac || Exit 1 - case `pwd` in '"$cwd"'/_self.dir) : ;; *) Exit 1;; esac' + case `pwd` in '"$cwd"'/t/_self.dir) : ;; *) Exit 1;; esac' do_check 'testdir has the expected path' \ 'am_create_testdir=empty' \ - 'case `pwd` in '"$cwd"'/_self.dir) : ;; *) Exit 1;; esac' + 'case `pwd` in '"$cwd"'/t/_self.dir) : ;; *) Exit 1;; esac' do_check 'do not pre-populate testdir' \ 'am_create_testdir=empty' \ @@ -64,9 +64,9 @@ do_check 'do not pre-populate testdir' \ do_check 'do not create nor chdir in testdir' \ 'am_create_testdir=no' \ - 'test ! -d _self.dir || Exit 1 - test ! -f _self.dir || Exit 1 - test ! -r _self.dir || Exit 1 + 'test ! -d t/_self.dir || Exit 1 + test ! -f t/_self.dir || Exit 1 + test ! -r t/_self.dir || Exit 1 grep "self-check-dir\.tap" Makefile || Exit 1 case `pwd` in '"$cwd"') : ;; *) Exit 1;; esac' diff --git a/t/self-check-exit.tap b/t/self-check-exit.tap index cb655a51f..c866dbc28 100755 --- a/t/self-check-exit.tap +++ b/t/self-check-exit.tap @@ -37,9 +37,13 @@ AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC # when unsetting an already-unset variable. init='stderr_fileno_=2; unset am_explicit_skips; . ./defs' +# Required so that the code in defs doesn't go crazy trying to creating a +# temporary directory in the absolute dir of $SHELL. +dummy_test_script=t/$me.sh + for st in 1 2 3 4 5 77 99 126 127 128 129 130 255; do for exit_cmd in "Exit $st" "sh -c 'exit $st'"; do - $SHELL -c "$init; $exit_cmd; :" + $SHELL -c "$init; $exit_cmd; :" "$dummy_test_script" command_ok_ "$exit_cmd" test $? -eq $st done done @@ -55,7 +59,7 @@ for sig in 1 2 13 15; do # trap : 2 fi - $SHELL -c "$init; kill -$sig \$\$; :" + $SHELL -c "$init; kill -$sig \$\$; :" "$dummy_test_script" rc=$? if test $sig -eq 2; then # Reset default SIGINT handler as portably as possible. @@ -89,20 +93,20 @@ if $SHELL -c 'set -e; trap "exit \$?" 0; non-existent-program'; then else maybe_todo="" reason="" fi -$SHELL -c "$init; non-existent-program; :" +$SHELL -c "$init; non-existent-program; :" "$dummy_test_script" command_ok_ "command not found" -D "$maybe_todo" -r "$reason" \ -- test $? -gt 0 : Non-executable command. test -f Makefile && test ! -x Makefile || \ framowork_failure_ "no proper Makefile in the current directory" -$SHELL -c "$init; ./Makefile; :" +$SHELL -c "$init; ./Makefile; :" "$dummy_test_script" command_ok_ "permission denied" test $? -gt 0 : Syntax errors in the test code. -$SHELL -c "$init; if :; then" +$SHELL -c "$init; if :; then" "$dummy_test_script" command_ok_ "syntax error 1" test $? -gt 0 -$SHELL -c "$init; fi" +$SHELL -c "$init; fi" "$dummy_test_script" command_ok_ "syntax error 2" test $? -gt 0 : diff --git a/t/self-check-explicit-skips.sh b/t/self-check-explicit-skips.sh index 602c31c3b..3e7a77c0a 100755 --- a/t/self-check-explicit-skips.sh +++ b/t/self-check-explicit-skips.sh @@ -24,9 +24,11 @@ test x"$sh_errexit_works" = x"yes" || skip_ "no working shell exit trap" # We still need a little hack to make ./defs work outside automake's # tree 'tests' subdirectory. Not a big deal. -sed "s|^testbuilddir=.*|testbuilddir='`pwd`'|" ../defs-static >defs-static -diff ../defs-static defs-static && Exit 99 -cp ../defs . +sed "s|^am_top_builddir=.*|am_top_builddir='`pwd`'|" \ + "$am_top_builddir"/defs-static > defs-static +diff "$am_top_builddir"/defs-static defs-static \ + && fatal_ "failed to edit defs-static" +cp "$am_top_builddir"/defs . set +e diff --git a/t/self-check-reexec.tap b/t/self-check-reexec.tap index 48e5cfb2e..8237c0812 100755 --- a/t/self-check-reexec.tap +++ b/t/self-check-reexec.tap @@ -26,7 +26,7 @@ plan_ 32 unset AM_TESTS_REEXEC BASH_VERSION || : cwd=`pwd` || fatal_ "cannot get current working directory" -cp ../defs . +cp "$am_top_builddir"/defs . || fatal_ "fetching 'defs' from top_builddir" # # Search for required bash and non-bash shells. @@ -97,9 +97,9 @@ cat > need-bash.sh <<'END' (foo=abac && test xbxc = ${foo//a/x} && test -n "$BASH_VERSION") END -sed -e "s|^testbuilddir=.*|testbuilddir='$cwd'|" \ +sed -e "s|^am_top_builddir=.*|am_top_builddir='$cwd'|" \ -e 's|^SHELL=.*$|SHELL=bash; export SHELL|' \ - < ../defs-static >defs-static + < "$am_top_builddir"/defs-static >defs-static do_reexec () { @@ -151,10 +151,10 @@ chmod a+x dummy.sh checkargs.sh mkdir sub cp dummy.sh checkargs.sh defs sub -sed -e "s|^testbuilddir=.*|testbuilddir='$cwd'|" \ - < ../defs-static > defs-static -sed -e "s|^testbuilddir=.*|testbuilddir='$cwd/sub'|" \ - < ../defs-static > sub/defs-static +sed -e "s|^am_top_builddir=.*|am_top_builddir='$cwd'|" \ + < "$am_top_builddir"/defs-static > defs-static +sed -e "s|^am_top_builddir=.*|am_top_builddir='$cwd/sub'|" \ + < "$am_top_builddir"/defs-static > sub/defs-static check_preserve_args () { diff --git a/t/self-check-sanity.sh b/t/self-check-sanity.sh index 8a6b85c42..64e489cb7 100755 --- a/t/self-check-sanity.sh +++ b/t/self-check-sanity.sh @@ -30,7 +30,9 @@ show_stderr () AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC -if $SHELL -c '. ../defs' dummy.test 2>stderr; then +source_defs=". '$am_top_builddir/defs'" + +if $SHELL -c "$source_defs" dummy.test 2>stderr; then show_stderr Exit 1 else @@ -38,27 +40,30 @@ else grep 'defs-static: not found in current directory' stderr fi -sed 's|^testsrcdir=.*|testsrcdir=foo|' ../defs-static > defs-static -if $SHELL -c '. ../defs' dummy.test 2>stderr; then +sed 's|^am_top_srcdir=.*|am_top_srcdir=foo|' \ + "$am_top_builddir"/defs-static > defs-static +if $SHELL -c "$source_defs" t/dummy.test 2>stderr; then show_stderr Exit 1 else show_stderr - grep 'foo/defs-static\.in not found.*check \$testsrcdir' stderr + grep 'foo/defs-static\.in not found.*check \$am_top_srcdir' stderr fi -sed 's|^testbuilddir=.*|testbuilddir=foo|' ../defs-static > defs-static -if $SHELL -c '. ../defs' dummy.test 2>stderr; then +sed 's|^am_top_builddir=.*|am_top_builddir=foo|' \ + "$am_top_builddir"/defs-static > defs-static +if $SHELL -c "$source_defs" t/dummy.test 2>stderr; then show_stderr Exit 1 else show_stderr - grep 'foo/defs-static not found.*check \$testbuilddir' stderr + grep 'foo/defs-static not found.*check \$am_top_builddir' stderr fi # We still need a little hack to make ./defs work outside automake's # tree 'tests' subdirectory. Not a big deal. -sed "s|^testbuilddir=.*|testbuilddir='`pwd`'|" ../defs-static >defs-static +sed "s|^am_top_builddir=.*|am_top_builddir='`pwd`'|" \ + "$am_top_builddir"/defs-static > defs-static # Redefining *srcdir and *builddir variables in the environment shouldn't # cause problems env \ @@ -66,7 +71,7 @@ env \ top_builddir=bad-dir top_srcdir=bad-dir \ abs_builddir=bad-dir abs_srcdir=bad-dir \ abs_top_builddir=bad-dir abs_top_srcdir=bad-dir \ - $SHELL -c '. ../defs && echo "!OK!" > ../foo' dummy.test -$FGREP '!OK!' foo + $SHELL -c "$source_defs && echo '!OK!' > ../foo" t/dummy.test +$FGREP '!OK!' t/foo : diff --git a/t/yacc-d-cxx.sh b/t/yacc-d-cxx.sh index 51d78f1b3..09d7a7910 100755 --- a/t/yacc-d-cxx.sh +++ b/t/yacc-d-cxx.sh @@ -80,7 +80,8 @@ END $ACLOCAL $AUTOCONF -cp $testsrcdir/../lib/ylwrap . +cp "$am_scriptdir/ylwrap" . \ + || fatal_ "cannot fetch auxiliary script 'ylwrap'" $AUTOMAKE Makefile -- cgit v1.2.1