* 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.
* tests/defs.in ($am_skip_defs): New variable, to be used when
./defs must be sourced multiple times. If set, unset it and
only define $srcdir; otherwise, also go through the rest of
the script.
($am_defs_included): Remove, no more needed.
* tests/Makefile.am ($(parallel_tests)): Update accordingly,
using only $srcdir from defs.
Fixes potential test failures of tests that use $required.
Improve declaration of dependencies in the testsuite.
* tests/Makefile.am (check_SCRIPTS): Remove. Instead, let ...
($(TEST_LOGS)): ... all test logs depend on the scripts.
* test/gen-parallel-tests: For each parallel test foo-p.test,
let `foo-p.log' also depend on `foo.test', since it is sourced.
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 14:55:08 +0000 (16:55 +0200)]
More minor message fixes.
* aclocal.in (scan_file): Fix recommended info command line.
* automake.in (handle_lib_objects): No need to prepend function
name to prog_error message.
(handle_tags): Add missing word and missing space in error
message.
(handle_dist): Add missing closing single quote in message.
Line-wrap one long message for readability.
Fix distcheck failure with distributed generated parallel tests.
* tests/Makefile.am ($(parallel_tests)): Cope with $(srcdir)
being different from the value at developer `make dist' time.
* tests/defs.in: Protect against mutiple inclusion, by using ...
($am_defs_included): ... this new variable.
($srcdir): Do not compute, but simply define to `@abs_srcdir@'
as substituted by configure.
Report, suggestions and first fix by Ralf Wildenhues, final
patch by Stefano Lattarini.
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'.
* aclocal.in (parse_arguments, main): Remove trailing period or
newline in error or warning messages, avoid capitalization of
the first word of a message.
* automake.in (check_user_variables, handle_languages)
(handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files)
(scan_autoconf_files, cond_stack_if, require_file_internal)
(usage, generate_makefile, parse_arguments): Likewise.
* lib/Automake/ChannelDefs.pm (set_strictness): Likewise.
* lib/Automake/Configure_ac.pm (find_configure_ac): Likewise.
* lib/Automake/Options.pm (set_strictness): Likewise.
* lib/Automake/Rule.pm (define): Likewise.
* lib/Automake/Variable.pm (define, variables_dump): Likewise.
* tests/ltinstloc.test, tests/suffix11.test: Adjust expected
error message.
* lib/Automake/Channels.pm (setup_channel): Reword error message
to be the same as in msg.
* 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.
Print 'warnings are treated as errors' note if needed.
* lib/Automake/Channels.pm: Fix typo in comment.
(_print_message): If -Werror is enabled, print a 'warnings are
treated as errors' note before the first such warning.
* tests/warnopts.test: Adjust comment to mention expected warning.
Adjust code to ignore 'warnings are treated as errors' note.
* tests/location.test: Adjust expected output with -Werror.
* tests/werror4.test: New test.
* tests/Makefile.am: Update.
* NEWS: Update.
Ensure we don't print 'warning:' or 'error:' twice.
* Makefile.am (sc_ensure_testsuite_has_run): New helper rule.
(sc_tests_logs_duplicate_prefixes): New rule, to check for
wrong-looking warning and error messages in the test suite logs.
* aclocal.in (scan_configure_dep, scan_file): Remove duplicate
`warning: ' prefix.
* tests/vars3.test: Rename variable to avoid false positive.
Prepend type to warning, error, and fatal messages.
For the first part of messages of types `error' or `fatal',
prepend `error: ' to the message. Prepend `warning: ' to
warning messages, whatever the setting of -Werror.
* lib/Automake/Channels.pm (partial): Move up definition.
(_format_message): Emit `header' and `footer' strings only with
the first resp. last part of a set of partial messages.
* lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the
end of the module.
(Automake::ChannelDefs): Setup warning channels with header
`warning: ', error and fatal messages with header `error: '.
* tests/condinc2.test, tests/ltinstloc.test: Adjust expected
error messages.
* tests/comment5.test: Likewise. Also, include stack notes
should not start with `error:'.
* tests/location.test: Likewise. Also, try both -Werror and
-Wno-error.
* NEWS: Update.
Report by Bruno Haible.
Fix capitalization of error messages, reword one message.
* lib/Automake/Variable.pm (define): Do not capitalize the first
word in the error message.
* automake.in (require_file_internal): Likewise. Also, reword
and line-wrap for better readability.
* tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test:
Adjust tests.
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.
* tests/cond46.test: Enable shell `errexit' flag (and bumped
copyright years). Due to this change, the testcase should now
fail on unexpected failures in calls to $ACLOCAL/$AUTOMAKE (whose
outcomes were previously unchecked), and on failures in grepping
the expected diagnostic in Automake stderr.
Generated tests are now just a thin layer around other tests.
* tests/Makefile.am: Rewrite the rule to generate the `*-p.test'
test scripts so that any of them simply includes the corresponding
`*.test' script (after setting `$parallel_tests' to `yes').
* tests/.gitignore: Add wildcard for temporary files used in the
generation of `*-p.test' tests.
* 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).