* tests/tools.at (autotools and whitespace in file names): Create
$TMPDIR before potential use like in other whitespace tests.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Eric Blake <ebb9@byu.net>
* lib/autoconf/status.m4 (_AC_OUTPUT_MAIN_LOOP): Ensure we
exit with status 1 rather than with that of 'false', for
reproducibility.
(AC_OUTPUT): Ensure to exit 1 in case of config.status failure.
* tests/torture.at (Missing templates): Also test code path
for $srcdir != '.'.
Report by Tim Rice.
* tests/tools.at (autom4te preselections): If the cache test
fails, extract the Automake version from the toplevel
Makefile.in file of the source tree; skip, rather than fail
the test group if the automake program has a different version.
* THANKS: Update.
Report by Dieter Jurzitza, fix suggested by Eric Blake.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/autoconf/status.m4 (_AC_OUTPUT_LINK): Check $ac_source,
not $srcdir, for being relative or absolute.
* tests/torture.at (AC_CONFIG_LINKS): New test.
(AC_CONFIG_LINKS and identical files): Extend test, avoid some
forks.
Report, patch and testcase example by Peter Breitenlohner.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/m4sugar/m4sugar.m4 (_m4_divert, m4_divert_push): Add
optional parameter, which controls warning.
(m4_divert_pop, m4_cleardivert, m4_divert_require)
(_m4_require_call): Adjust callers.
* lib/m4sugar/m4sh.m4 (AS_REQUIRE): Likewise.
* tests/m4sh.at (AT_DATA_LINENO): Avoid triggering the warning.
* tests/m4sugar.at (AT_CHECK_M4SUGAR_TEXT, m4@&t@_append)
(m4@&t@_text_wrap, recursion): Likewise.
(m4@&t@_warn, m4@&t@_divert_stack): Adjust expected output.
* tests/tools.at (autom4te and whitespace in file names)
(autoconf: the empty token): Avoid triggering the warning.
(autoconf: AC_PRESERVE_HELP_ORDER): New test.
* tests/mktests.sh (ac_exclude_list): Retire prior test.
* NEWS: Document the warning.
* doc/autoconf.texi (Redefined M4 Macros) <m4_divert>,
<m4_undivert>: Make even more explicit that using these directly
is discouraged.
(Diversion support): Further warn against improper diversion
changes.
<m4_divert_text>: Give an example of proper use.
Reported by Mike Frysinger.
Signed-off-by: Eric Blake <ebb9@byu.net>
* bin/autoreconf.in (autoreconf_current_directory): Collapse
newlines in the autoconf trace output, similar to how automake
invokes autoconf, so that newlines do not matter in the argument
to AC_CONFIG_SUBDIRS.
* tests/torture.at (Deep Package): Expose this issue in the
test.
* THANKS: Update.
Report by Nathan Schulte.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): No need to
concatenate an empty second string, when we have exactly 148
characters to substitute.
* tests/torture.at (Substitute a 2000-byte string): Add test
exposure for runs of backslashes near the 148 character limit.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/torture.at (Substitute and define special characters):
Double the backslash before the double-quote in
AC_DEFINE_UNQUOTED, as documented for here-documents.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/c.at (AC_OPENMP and C, AC_OPENMP and C++): Override
`ACLOCAL=true' for autoreconf, the tests don't need aclocal.
* tests/fortran.at (AC_OPENMP and Fortran 77)
(AC_OPENMP and Fortran): Likewise.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/autoconf/fortran.m4 (AC_LANG_FUNC_LINK_TRY(Fortran): New.
* tests/c.at (AC_C_RESTRICT and C++, AC_OPENMP and C)
(AC_OPENMP and C++): New tests.
* tests/fortran.at (AC_OPENMP and Fortran 77)
(AC_OPENMP and Fortran): New tests.
* THANKS: Update.
Report by Bart Oldeman.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/m4sugar/m4sugar.m4 (m4_escape): New macro.
(m4_text_wrap): Use it to avoid issues with embedded [ and ].
* tests/m4sugar.at (m4@&t@_text_wrap): Test it.
* NEWS: Document this.
* doc/autoconf.texi (Text processing Macros) <m4_escape>:
Likewise.
Reported by Mike Frysinger.
Signed-off-by: Eric Blake <ebb9@byu.net>
* lib/autoconf/general.m4 (AC_PACKAGE_NAME): Remove what are excess
quotes around the package name, now that m4_tolower's result is quoted.
* tests/base.at (AC_INIT): Test for this.
Signed-off-by: Jim Meyering <meyering@redhat.com>
* tests/autotest.at (Erlang Eunit unit tests): Use "no" as
value-if-not-found for Erlang tools.
* tests/erlang.at: Likewise. Also, use AS_EXIT instead of plain
exit.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Implement
--config.
* doc/autoconf.texi (config.status Invocation): Document it.
* NEWS: Update.
* tests/torture.at (configure invocation): Test it.
Suggested several times, by several people, in the past.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* tests/autotest.at (Hard fail): Check more restrictively for
passed tests, so that hostnames recorded in the log file do not
wrongly match.
Report by Ludovic Courtès.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* m4/m4.m4 (AC_PROG_GNU_M4): Reject m4 1.4.5, now that we use
regexp it can't handle.
* NEWS: Mention minimum version bump.
* README: Likewise.
* README-hacking: Likewise.
* doc/autoconf.texi (Introduction, Why GNU M4): Likewise.
* tests/tools.at (autom4te --trace and whitespace): Update test so
still work with older m4 line numbers.
* tests/m4sugar.at (m4@&t@_require: nested): Likewise.
Reported by Ralf Wildenhues.
Signed-off-by: Eric Blake <ebb9@byu.net>
* lib/autoconf/general.m4 (AC_DEFINE_TRACE): Expand macro before
tracing its name.
* lib/autoconf/autoheader.m4 (AH_VERBATIM, AH_TEMPLATE): Likewise,
for using the macro in a template file.
* tests/tools.at (autoheader and macros): New test.
* NEWS: Mention this.
Reported by Bruno Haible.
Signed-off-by: Eric Blake <ebb9@byu.net>
* tests/erlang.at: Added tests for all macros in erlang.m4.
* tests/Makefile.am: Added erlang.at.
* tests/suite.at: Likewise.
* tests/compile.at: Added test for extension of Erlang files.
* NEWS: Mention this.
Signed-off-by: Eric Blake <ebb9@byu.net>
* bin/autom4te.in (handle_traces): Don't flatten leading and
trailing space, since tracing spacing bugs can be useful.
* tests/tools.at (autom4te --trace and whitespace): New test.
Signed-off-by: Eric Blake <ebb9@byu.net>
This test makes atlocal code use configure tests instead. This
is best practice and could make diagnosing autoconf bugs easier.
2009-07-12 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Test for unsupported characters in files and
directories here...
* tests/atlocal.in: ... and not here.
These are lightweight versions of AT_CHECK that automatically
add the equivalent of ! in front of the command and change a
failure exit status to 77 resp. 99. They expand to just
two lines of shell code at the expense of not supporting
tracing (but then so does AT_XFAIL_IF).
2009-07-12 Paolo Bonzini <bonzini@gnu.org>
* NEWS: Mention AT_SKIP_IF and AT_FAIL_IF.
* doc/autoconf.texi (Autotest): Document them.
* lib/autotest/general.m4 (_AT_LINE_ESCAPED, AT_SKIP_IF,
AT_FAIL_IF, _AT_CHECK_EXIT): New.
(AT_CHECK): Use _AT_LINE_ESCAPED.
* tests/autotest.st: Add tests for AT_SKIP_IF and AT_FAIL_IF.
Use AT_SKIP_IF.
* tests/local.st: Use AT_SKIP_IF.
This test makes atlocal code use configure tests instead. This
is best practice and could make diagnosing autoconf bugs easier.
2009-07-12 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Test for unsupported characters in files and
directories here...
* tests/atlocal.in: ... and not here.