Modernize, improve and extend tests `suffix*.test'.
* tests/suffix3.test: Enable `errexit' shell flag, and related
changes.
* tests/suffix4.test: Likewise.
* tests/suffix6.test: Likewise, and do not create a useless dummy
source file.
* tests/suffix7.test: Likewise.
* tests/suffix5.test: Enable `errexit' shell flag, and related
changes. Make grepping of Makefile.in slighty stricter.
* tests/suffix.test: Enable `errexit' shell flag, and related
changes. Also, do not redirect grep output to /dev/null, as this
might unmotivatedly hide useful information.
* tests/suffix2.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Use a more
idiomatic way to count text occurrences in Makefile.in with
grep. Do not create useless dummy source files.
* tests/suffix10.test: Ensure verbose printing of captured make
stdout. Minor cosmetic changes.
* tests/suffix8.test: Likewise. Also, drop useless call to the
env(1) utility, and make grepping of make output stricter by using
$FGREP rather than plain grep.
* tests/suffix11.test: Likewise.
* tests/suffix12.test: Likewise.
* tests/suffix9.test: Prefet cat + here-doc over echo to append to
the `configure.in' stub. Cosmetic changes.
* tests/suffix13.test: Cosmetic spacing change.
Modernize, improve and/or fix various test scripts.
* tests/symlink3.test: Deleted, separated into two new, more
complete tests ...
* tests/forcemiss.test: ... this one ...
* tests/forcemiss2.test: ... and this one.
* tests/symlink2.test: Enable `errexit' shell flag, make test
stricter, and skip it if symlink creation is not supported.
* tests/postproc.test: Enable `errexit' shell flag, related
changes, and a couple of unrelated cosmetic changes.
* tests/recurs.test: Use the `configure.in' stub created by
`./defs', rather than writing one from scratch. Make grepping
of Automake stderr slighty stricter.
* tests/substtarg.test: Likewise.
* tests/strip.test: Likewise, and move the call to `set -e'
earlier (just after the inclusion of `./defs'). Also, make sure
that the script installed by `make install-script' is equal to
the original one.
* tests/substref.test: Use the `configure.in' stub created by
`./defs', rather than writing one from scratch. Move the call
to `set -e' earlier (just after the inclusion of `./defs').
Avoid to explicitly export CC for configure (that's already done
in ./defs). Avoid potential problems with unpredictable make
output. Finally, make grepping of Makefile.in stricter.
* tests/substre2.test: Ensure verbose printing of the captured
make's output, and make its grepping slighty stricter.
* tests/cygwin32.test: Enable `errexit' shell flag, and related
changes. Also, do not create useless dummy source/data files.
* tests/scripts.test: Likewise.
* tests/recurs2.test: Likewise. Also, use the `configure.in'
stub created by `./defs'.
* tests/Makefile.am (TESTS): Updated.
* tests/pluseq5.test: Append to configure.in using cat with an
here-doc, not using echo.
* tests/pluseq10.test: Make sure that the captured output of
`make' command is always displayed. Where possible, use $FGREP
instead of grep (this change makes some checks slighty stricter).
* tests/pluseq8.test: Enable `errexit' shell flag, with related
changes.
* tests/pluseq.test: Likewise. Also, do not create useless dummy
data files, and use better m4 quoting in generated configure.in.
* tests/pluseq2.test: Likewise. Also, append to configure.in
using cat with an here-doc, not using echo.
* tests/pluseq3.test: Likewise.
* tests/pluseq4.test: Likewise.
* tests/pluseq6.test: Likewise.
* tests/pluseq7.test: Do not create useless dummy source file.
* tests/pluseq9.test: Slighty extended w.r.t. the grepping of
Automake stderr. Some unrelated cosmetic changes.
Testsuite: ensure verbose printing of captured stderr.
* tests/acloca18.test: Print captured stderr before either failing
or grepping it. Be sure to send captured stderr to stderr, not to
stdout.
* tests/ansi3b.test: Likewise.
* tests/cond39.test: Likewise.
* tests/configure.test: Likewise.
* tests/missing3.test: Likewise.
* tests/missing6.test: Likewise.
* tests/output-order.test: Likewise.
* tests/pr300-ltlib.test: Likewise.
* tests/python6.test: Likewise.
* tests/python7.test: Likewise.
* tests/python8.test: Likewise.
* tests/python9.test: Likewise.
* tests/subobj.test: Likewise.
* tests/vars3.test: Likewise.
* tests/missing4.test: Likewise, and fix a call to grep not to use
the `-c' flag.
* tests/ansi3.test: Likewise, and rely on the `configure.in' stub
created by `./defs', rather than writing one from scratch.
* tests/backsl.test: Enable the `errexit' shell flag, and
related changes.
* tests/backsl2.test: Likewise.
* tests/block.test: Likewise.
* tests/canon2.test: Likewise.
* tests/canon4.test: Likewise.
* tests/comment2.test: Likewise.
* tests/condlib.test: Likewise.
* tests/cond15.test: Likewise, and prefer $FGREP over grep.
* tests/canon3.test: Likewise. Also, avoid to create an useless
dummy source file.
* tests/acoutpt2.test: Enable the `errexit' shell flag, and some
related changes. Do some cosmetic improvements in the generated
`configure.in' file.
* tests/cond4.test: Likewise.
* tests/cond14.test: Likewise.
* tests/condinc.test: Likewise.
* tests/cond7.test: Likewise. Also, remove useless setting of
AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am.
* tests/ansi.test: Enable the `errexit' shell flag, and related
changes. Extended, esp. by running autoconf, ./configure and
make, and by looking into the distdir.
Extend tests/README (trailing `:' in test scripts)
* tests/README (section "Writing test cases" subsection "Do"):
Explain why apparently redundant trailing `:' and `Exit 0' in
test scripts can indeed be useful.
* bootstrap: Consistently use two-spaces indentation. Cosmetic
improvement to comments.
($me): New variable, containing program basename.
Prepend it to all error messages.
Testsuite now works with BSD make in parallel mode.
* tests/defs.in: Unset variables __MKLVL__ and MAKE_JOBS_FIFO,
which are exported by BSD make when run in parallel mode, and
which can confuse make processes spawned by our testsuite.
This change fixes a lot of spurious failure when the testsuite
is run with BSD make in parallel mode.
Modernize, improve and/or fix various test scripts.
* tests/sanity.test: Rely on the `configure.in' stub created by
`./defs', rather than writing one from scratch.
* tests/depend2.test: Likewise. Also, call `set -e' just after
the inclusion of `./defs', instead that later in the script.
* tests/canon5.test: Avoid a useless `|| Exit 1' after a call to
$AUTOMAKE, and improve the positioning of an $ACLOCAL call.
* tests/exeext4.test: Use $FGREP instead of grep, where possible.
Make auxiliary rules in the generated Makefile more silent.
These changes make some checks slighty stricter.
* tests/ext2.test: Call `Exit 1' if inclusion of `./defs' fails.
* tests/gettext2.test: Place final `:' at the end of the script,
rather than in the middle.
* tests/exeext.test: Call `set -e' just after the inclusion of
`./defs', instead that later in the script.
* tests/extra5.test: Likewise.
* tests/confdeps.test: Likewise. Also, prefer `mv -f' over
plain `mv', just to be sure.
* tests/depcomp.test: Enable `errexit' shell flag, with related
changes. Also, modernize the generated configure.in.
* tests/cond9.test: Likewise. Also, rely on the `configure.in'
stub created by `./defs', rather than writing one from scratch.
* tests/cond10.test: Likewise.
* tests/depcomp2.test: Likewise.
* tests/depend3.test: Likewise.
* tests/distcom7.test: Likewise.
* tests/fortdep.test: Likewise. Also, remove definition of
AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am,
since that flag is already provided by $AUTOMAKE.
* tests/mdate.test: Made stricter, by checking that Automake
actually failed, and by making a stricter grep on the error
message. Also, set shell `errexit flag'.
* tests/python2.test: Improved verbose messages.
Ralf Wildenhues [Sun, 6 Jun 2010 15:02:56 +0000 (17:02 +0200)]
Prefer AUTOMAKE_fails over `$AUTOMAKE | grep' in tests.
* tests/ldadd.test: Enable errexit. Use AUTOMAKE_fails so
the verbose log contains all output.
* tests/mdate.test: Likewise.
Prompted by Stefano Lattarini's change to discover.test.
Ralf Wildenhues [Sun, 6 Jun 2010 12:20:29 +0000 (14:20 +0200)]
Improve ext.test semantics, avoid OpenBSD sh errexit issue.
* tests/ext.test: Inside shell compound command, use
`if $cmd; then Exit 1; fi' rather than `$cmd && Exit 1', to
fix failure with OpenBSD sh introduced with last patch.
Actually ensure that a rule for .EXT.o is created for each
known extension EXT.
Ralf Wildenhues [Sun, 6 Jun 2010 10:44:32 +0000 (12:44 +0200)]
Rewrite manual to be gender-neutral.
* doc/automake.texi (GNU Build System)
(Standard Directory Variables, General Operation, CVS)
(Hard-Coded Install Paths, Dependencies As Side Effects):
Rewrite text to not contain gender-specific pronouns when
speaking about developers or users, either by avoiding pronouns
or by addressing them as `you' instead.
* THANKS: Update.
Report by Christina Gratorp.
* tests/silent.test: Made stricter w.r.t. the grepping of the
output produced by `make'.
* tests/silent2.test: Likewise.
* tests/silent4.test: Likewise.
* tests/silent9.test: Likewise.
* tests/silent3.test: Likewise, and add a final `make distclean'
command to keep it better in sync with tests/silent{4,9}.test.
* tests/silent5.test: Remove by hand all generated C files after
non-verbose builds, to ensure the following builds are clean.
Try to clean and rebuild with the same verbosity and without
removing generated sources in between, to check that this does
not trigger a different set of rules. Make grepping of make's
output stricter. Improved/added some comments.
Relax silent-rules tests to cater to verbose makes.
* tests/silent.test: When testing silent builds, don't fail if
make's output simply contains the `mv' substring, but only if
it contains the `mv ' substring (note the trailing space).
* tests/silent2.test: Likewise.
* tests/silent3.test: Likewise.
* tests/silent4.test: Likewise.
* tests/silent5.test: Likewise.
* tests/silent9.test: Likewise.
* tests/nostdinc.test: Enable `errexit' shell flag. Related and
unrelated minor changes. Make the grepping of the generated
Makefile.in slighty stricter. Generate and run configure, so that
the generated Makefile can be grepped too.
Ralf Wildenhues [Sun, 23 May 2010 13:29:25 +0000 (15:29 +0200)]
Make gnupload portable to EBCDIC hosts.
* lib/gnupload: Use literal newline as argument for 'tr' rather
than \015, for EBCDIC hosts. Also, avoid unportable nested
double-quotes and backquotes.
* THANKS: Update.
Report from Eric Blake and Steve Goetze via gnulib.
Fix Autoconf version required by Automake's configure.
Automake configure script used to tell that automake required
autoconf 2.60 or later, but then it checked for autoconf >= 2.62,
and if that was not found, it gave an error saying that Automake
required configure 2.61a-341 or later. This change should
eliminate such inconsistencies.
* configure.ac ($required_autoconf_version): New variable.
Use it throughout.
Fix conflnk3.test to work with Solaris/Heirloom Sh.
* tests/conflnk3.test: Use `test -r FILE' and `test ! -r FILE'
instead of respectively `test -e FILE' and `test ! -e FILE',
since Solaris Sh doesn't grok the latter. Do not SKIP the test
if the shell doesn't support `test -e'.
* tests/badopt.test: Add call to `set -e'. Due to this change,
an unexpected failure in the call to `$ACLOCAL' (whose outcome
was previously unchecked) would cause the whole test to fail.
Also, bumped the copyright years.
Use `set -e' in confsub.test (avoid false negatives).
* tests/confsub.test: Enable shell `errexit' flag, and related
changes (this helps avoiding some possible minor false negatives).
Also, bumped copyright years.
Fix -Werror handling for presence of configure.in and configure.ac.
* lib/Automake/Variable.pm (Automake::Variable): Do not initialize
$configure_ac at the global level, before command-line arguments
have been parsed.
(require_variables): Initialize it here.
* tests/configure.test: New test.
* tests/Makefile.am: Update.
Report by Stefano Lattarini.
* tests/confh5.test: Enable shell `errexit' flag, and bumped
copyright years. Due to this change, any unexpected failure
in calls to $ACLOCAL, $AUTOMAKE, $AUTOCONF or $AUTOHEADER, or
a failure in grepping expected text in output files should now
cause the whole test to fail.
* tests/color.test: Tests using the expect program moved out to...
* tests/color2.test: ... this new file.
* tests/Makefile.am (TESTS): Extended accordingly.
Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one
Makefile.am would carry over to other Makefile.am files
treated afterwards by the same thread, causing inconsistent
and unstable exit status values.
* lib/Automake/Channels.pm (dup_channel_setup)
(drop_channel_setup): Save and restore the setting of
$warnings_are_errors.
* tests/werror3.test: New test.
* tests/Makefile.am: Adjust.
* NEWS: Update.
* tests/confh5.test: In the generated Makefile.am: do not use
`test ! -e FILE' to check for the non-existence of a file, since
that is not supported by Solarish/Heirloom Sh.
* Makefile.am (path-check): To be safe, do not use `chmod -R' on
$(distdir) before removing it (as Solaris `chmod -R' touches
symlink targets). Instead, use the cleanup strategy used in
distdir.am (which is also employed in tests/defs.in).
* tests/defs.in: In the generated `configure.in' snippet: call
`AM_INIT_AUTOMAKE' with the `parallel-tests' option if the shell
variable `parallel_tests' is set to `yes'.
* tests/Makefile.am (defs-p): Target removed.
(check_SCRIPTS): Removed `defs-p'.
(clean-local-check): Do not unlink `defs-p' anymore.
($(parallel_tests)): Transformation rules for the test scripts
adjusted.
* tests/gen-parallel-tests: Selection rules for the test
scripts adjusted.
* tests/parallel-tests.test: Set `$parallel_tests' to `yes'
then include `./defs' (rather than simply including `./defs-p').
* tests/parallel-tests2.test: Likewise.
* tests/parallel-tests3.test: Likewise.
* tests/parallel-tests4.test: Likewise.
* tests/parallel-tests5.test: Likewise.
* tests/parallel-tests6.test: Likewise.
* tests/parallel-tests7.test: Likewise.
* tests/parallel-tests8.test: Likewise.
* tests/parallel-tests9.test: Likewise.
* tests/parallel-tests10.test: Likewise.
* tests/README (Section "Writing Test Cases", subsection "Do"):
Adjusted the parts referring to tests checking `parallel-tests'
behaviour. Some other minor related improvements.
* tests/.gitignore (defs-p): Removed.
Ralf Wildenhues [Mon, 22 Feb 2010 17:53:51 +0000 (18:53 +0100)]
Deprecate dist-lzma in favor of dist-xz.
* doc/automake.texi (The Types of Distributions, Options):
Adjust text to reflect renaming of lzma to xz.
* NEWS: Update.
Missing deprecation noted by Antonio Diaz Diaz.
Add tests about support of wildcards in EXTRA_DIST.
* tests/extra10.test: New test, check basic support of wildcards
in EXTRA_DIST.
* tests/extra11.test: New test, check more complex usage of
wildcards in EXTRA_DIST.
* tests/extra11.test: New test, check usage of wildcards in
EXTRA_DIST when $builddir != $srcdir.
* tests/Makefile.am (TESTS): Updated accordingly.
Necessity of these new tests suggested by Braden McDaniel
and Ralf Wildenhues.
Dmitry V. Levin [Sat, 30 Jan 2010 19:21:19 +0000 (22:21 +0300)]
Fix exit status of signal handlers in shell scripts.
The value of `$?' on entrance to signal handlers in shell scripts
cannot be relied upon, so set the exit code explicitly to
128 + SIG<SIGNAL>.
* lib/am/check.am (am__check_pre): Use `exit 143' in signal handler.
* lib/elisp-comp: Likewise.
* lib/install-sh: Likewise.
* lib/ylwrap: Likewise. Also, fix script to trap signal 13, not 3.
* NEWS, THANKS: Update.
Bug report, analysis, and initial patch by Dmitry V. Levin.
Ralf Wildenhues [Sun, 24 Jan 2010 11:36:47 +0000 (12:36 +0100)]
Fix silent-rules output for disabled dependency tracking.
* lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable
expansion code to also work in the case where %AMDEP% expands
to FALSE at config.status time, using new substitution string
%VERBOSE-NODEP%.
* automake.in (verbose_nodep_flag): New function, appending
`@am__nodep@' to the verbose-variable name.
(handle_languages): If dependencies are not disabled, use it to
set %VERBOSE-NODEP%.
* m4/depend.m4: Substitute am__nodep as '_no', so the second
verbose-variable will always expand to an empty string, if
dependencies are enabled.
* tests/silent5.test: Also test --disable-dependency-tracking;
also test per-target flags for non-C language files.
* tests/silent9.test: New test, like silent4.test but disable
dependency tracking.
* tests/Makefile.am: Adjust.
* NEWS, THANKS: Update.
Report by Dmitry V. Levin <ldv@altlinux.org>.
Slighty improve tests acoutbs.test and acoutbs2.test.
* tests/acoutbs2.test: Enable `errexit' shell flag. Check that
autoconf and configure work, that the file `zot' is created by
configure, and that no file containing a backslash in its name is
created.
* tests/acoutbs.test: Likewise, plus updated copyright years.
* tests/acoutbs2: In the generated configure.in: add proper calls
to AC_INIT and AM_INIT_AUTOMAKE, and remove explicit definition of
PACKAGE and VERSION. Add a call to aclocal before calling automake.
Updated copyright years.
* tests/Makefile.am (XFAIL_TESTS): Removed acoutbs2.test.
* tests/Makefile.am (TESTS): Added test scripts present on the
filesystem, which were erroneously left out from $(TESTS):
acoutbs2.test, badopt.test, extra2.test.
(XFAIL_TESTS): Added acoutbs2.test.
Replace unlzma, gunzip, bunzip2 with pack tool -d invocation.
* lib/am/distdir.am (distcheck): Use lzma -d, gzip -d, bzip2 -d,
instead of the respective un$tool invocation, to avoid depending
on another tool.
* THANKS: Update.
Ralf Wildenhues [Sat, 5 Dec 2009 13:39:15 +0000 (14:39 +0100)]
Use $DJDIR rather than $DJGPP to detect running on DJGPP.
* automake.in (Language): Use $ENV{'DJDIR'} for the
$ENV{'SHELL'} override.
* bootstrap: Use $DJDIR for setting BOOTSTRAP_SHELL, to fix
bootstrapping under MinGW when $DJGPP has been set.
Ralf Wildenhues [Sat, 5 Dec 2009 13:13:43 +0000 (14:13 +0100)]
Do not rely on Perl symlink status, for MSYS perl.
* automake.in (require_file_internal): Ensure presence of
symlink target file; MSYS perl symlink doesn't return an error
status when the file could not be created (copied, on this
system). Fixes symlink.test failure.
* tests/vala4.test: New variable $cwd, holding the full path of the
current directory. Use it instead of `pwd` command substitution,
to avoid Heirloom/Solaris Sh bug with `set -e'.