Stefano Lattarini [Wed, 4 May 2011 20:51:35 +0000 (22:51 +0200)]
Merge branch 'maint' into yacc-work
Stefano Lattarini [Wed, 4 May 2011 20:42:19 +0000 (22:42 +0200)]
ChangeLog: various typofixes (and related reformatting)
Stefano Lattarini [Wed, 4 May 2011 17:15:29 +0000 (19:15 +0200)]
lex tests: require just `lex' instead of `flex'
* tests/lex-subobj-nodep.test ($required): Require `lex',
not `flex', as this test is expected to work with any lex
implementation.
* tests/silent-lex.test: Likewise.
Stefano Lattarini [Wed, 4 May 2011 17:11:09 +0000 (19:11 +0200)]
fix typo in ChangeLog (2011-05-04)
Stefano Lattarini [Wed, 4 May 2011 17:05:00 +0000 (19:05 +0200)]
tests defs: use `skip_' for skipping yacc/lex related tests
* tests/defs.in (lex, bison): Use `skip_' to signal test skipping.
Stefano Lattarini [Wed, 4 May 2011 16:55:00 +0000 (18:55 +0200)]
Merge branch 'maint' into yacc-work
With some edits to `tests/defs.in', and a new ChangeLog entry
to reflect this.
Stefano Lattarini [Wed, 4 May 2011 16:42:11 +0000 (18:42 +0200)]
tests defs: allow requirements for compilers (mostly dummy)
Most of the new requirements that are now accepted in `$required'
as consequence of this patch are still dummy. They are planned
to be implemented only in master (or in some derived branch), but
having them here (even just as no-op) will allow for an easier
integration/backporting of potential new testcases.
* tests/defs.in (cc, c++, fortran, fortran77): New requirements,
still dummy.
(flex): New requirement, picking LEX for configure.
(lex): New requirement, alias for `flex'. A more appropriate
implementation, looking for a generic `lex' program, will follow
in the future.
(yacc): New requirement, alias for `bison'. A more appropriate
implementation, looking for a generic `yacc' program, will follow
in the future.
Stefano Lattarini [Sun, 24 Apr 2011 08:26:58 +0000 (10:26 +0200)]
Merge branch 'parallel-tests-testname-vpath-fix' into maint
Stefano Lattarini [Sun, 24 Apr 2011 08:22:05 +0000 (10:22 +0200)]
tests: fix spurious failure in a test on TESTS (VPATH-related)
* check-tests-in-builddir.test: When not using the parallel-tests
option, do not check that VPATH components are not present in the
displayed test name, since the simple-tests driver do not try to
strip them.
Stefano Lattarini [Sat, 23 Apr 2011 21:37:30 +0000 (23:37 +0200)]
test: self check subroutines for skipping/failing of tests
* tests/self-check-report.test: New test.
* tests/Makefile.am (TESTS): Update.
Jim Meyering [Sun, 16 Jan 2011 14:36:07 +0000 (15:36 +0100)]
test defs: new subroutines for test skipping/failing.
* tests/defs.in (Exit): Move definition of this function earlier.
(warn_, skip_, fail_, framework_failure_): New functions, inspired
to the homonyms in gnulib's tests/init.sh.
($stderr_fileno_): New global variable, used by the new functions
above.
* tests/README: Updated.
From a suggestion by Ralf Wildenhues.
Stefano Lattarini [Sat, 23 Apr 2011 08:55:49 +0000 (10:55 +0200)]
tests: fix typo (copy & paste blunder) in heading comment
* tests/maintclean-vpath.test: Correctly refer to the sister test
as `maintclean.test', not as `maintclean-vpath.test'.
Stefano Lattarini [Sat, 23 Apr 2011 08:48:34 +0000 (10:48 +0200)]
tests: remove redundant test `mclean.test'
* tests/mclean.test: Remove, it's a weak grepping test completely
superseded by the much more complete `maintclean.test'.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Fri, 22 Apr 2011 21:50:03 +0000 (23:50 +0200)]
testsuite: more environment sanitization
* tests/defs.in: Sanity check: abort if any of `parallel_tests'
or `required' is in the environment.
($sed_unindent_prog): Initialize to empty, to avoid interferences
from the environment.
* tests/self-check-me-in-env.test: Renamed to ...
* tests/self-check-env-sanitize.test: ... this, and extended.
* tests/Makefile.am (TESTS): Update.
(TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
`required'. Adjust comments.
Stefano Lattarini [Tue, 19 Apr 2011 20:39:14 +0000 (22:39 +0200)]
Merge branch 'me-override-fix' into maint
Stefano Lattarini [Sun, 17 Apr 2011 22:29:19 +0000 (00:29 +0200)]
tests: don't allow `$me' to be overridden from the environment
* tests/defs.in: Sanity check: abort if $me is in the environment.
* tests/self-check-me-in-env.test: New test.
* tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
(TESTS): Update.
Suggestion by Ralf Wildenhues.
Stefano Lattarini [Sun, 17 Apr 2011 15:58:45 +0000 (17:58 +0200)]
test defs: allow overriding of `$me'
* tests/defs.in ($me): Allow overriding by the including test
script. Add some explicative comments.
Stefano Lattarini [Sun, 17 Apr 2011 12:53:00 +0000 (14:53 +0200)]
Merge branch 'tests-depcomp-extend' into maint
Stefano Lattarini [Sun, 17 Apr 2011 11:43:16 +0000 (13:43 +0200)]
depcomp tests: don't reject slower dependency extractors
* tests/depcomp8b.test: Add the `--enable-dependency-tracking'
option to the ./configure invocation, so that slower dependency
extractors are not rejects.
* tests/depcomp8b.test: Likewise. Also ...
(foo.c): ... since we are at it, fix spacing to be consistent
with GNU coding standards.
Stefano Lattarini [Sun, 17 Apr 2011 09:21:49 +0000 (11:21 +0200)]
m4: add missing serial numbers to a few files
Related to automake bug#8483.
* m4/amversion.in: Add serial number.
* m4/auxdir.m4: Likewise.
* m4/gcj.m4: Likewise.
* m4/install-sh.m4: Likewise.
* m4/mkdirp.m4: Likewise.
* m4/python.m4: Likewise.
* m4/runlog.m4: Likewise.
* m4/strip.m4: Likewise.
* m4/upc.m4: Likewise.
Ralf Wildenhues [Sat, 16 Apr 2011 10:49:35 +0000 (12:49 +0200)]
Merge branch 'fix-depcomp' into maint
* fix-depcomp:
depcomp: correct invalid sed invocation
Jim Meyering [Sat, 16 Apr 2011 09:55:46 +0000 (11:55 +0200)]
depcomp: correct invalid sed invocation
* lib/depcomp: Insert missing -e before '/:$/d'.
Otherwise, that use of sed would treat '/:$/d' as a file name.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Fri, 15 Apr 2011 18:09:32 +0000 (20:09 +0200)]
Merge branch 'maintcheck-pathsep-fix' into maint
Stefano Lattarini [Fri, 15 Apr 2011 18:01:58 +0000 (20:01 +0200)]
maintainer check: quote literal `$' in Makefile rule
* Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$'
character in double-quoted string. Fix a bug in which the rule
emitted an erroneously empty substring in its error message.
Stefano Lattarini [Fri, 15 Apr 2011 16:12:05 +0000 (18:12 +0200)]
lex/yacc tests: remove redundant $distdir definition
* tests/lex3.test ($distdir): Remove definition, that's already
done in `tests/defs'.
* tests/lexvpath.test: Likewise.
* tests/yacc-basic.test: Likewise.
* tests/yacc-cxx.test: Likewise.
* tests/yacc-d-basic.test: Likewise.
* tests/yacc-d-cxx.test: Likewise.
* tests/yacc-d-vpath.test: Likewise.
* tests/yacc-dist-nobuild-subdir.test: Likewise.
* tests/yacc-dist-nobuild.test: Likewise.
* tests/yacc-mix-c-cxx.test: Likewise.
* tests/yaccvpath.test: Likewise.
Stefano Lattarini [Fri, 15 Apr 2011 15:43:28 +0000 (17:43 +0200)]
Merge branch 'maint' into yacc-work
Stefano Lattarini [Fri, 15 Apr 2011 14:23:03 +0000 (16:23 +0200)]
Merge branch 'expose-bug-8485' into maint
Stefano Lattarini [Tue, 12 Apr 2011 13:11:04 +0000 (15:11 +0200)]
coverage: test for automake bug#8485 (known regression)
* tests/yacc-dist-nobuild-subdir.test: New test.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
Cherry-picked from
7ad822a39190682bc159c2f9c21c25a4273d037c.
Stefano Lattarini [Fri, 15 Apr 2011 13:42:42 +0000 (15:42 +0200)]
coverage: test lex-generated "#line" directives postprocessing
* tests/yacc-line.test: In heading comments, add reference to new
sister test `lex-line.test'.
* tests/lex-line.test: New test.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Fri, 15 Apr 2011 12:34:35 +0000 (14:34 +0200)]
tests: minor improvements to a couple of yacc tests
* tests/yacc-auxdir.test: Avoid running autoconf, it's not
needed.
* tests/yacc-line.test: Also check that the yacc-generated C
and header files do not contain "#line" directives referencing
`y.tab.c' or `y.tab.h'. Add a couple of explicative comments.
Stefano Lattarini [Fri, 15 Apr 2011 12:19:44 +0000 (14:19 +0200)]
Merge branch 'yl-test-yacc6-split' into yacc-work
Stefano Lattarini [Fri, 15 Apr 2011 11:46:13 +0000 (13:46 +0200)]
Merge branch 'yl-tests-trim-requirements' into yacc-work
Stefano Lattarini [Tue, 12 Apr 2011 16:19:41 +0000 (18:19 +0200)]
tests: fix spurious failure in test 'yacc-d-cxx.test'
* tests/yacc-d-cxx.test: Create ylwrap script before calling
automake for the first time, so that the script gets correctly
distributed. Add checks verifying it indeed is.
Stefano Lattarini [Tue, 12 Apr 2011 16:02:26 +0000 (18:02 +0200)]
tests cosmetics: remove redundant definitions of variable $tab
* tests/yacc-d-basic.test ($tab): Remove definition: it's already
defined in `tests/defs'.
* tests/yacc-d-cxx.test: Likewise.
Stefano Lattarini [Tue, 12 Apr 2011 14:50:33 +0000 (16:50 +0200)]
test defs: define default $distdir (help reducing duplication)
* tests/defs.in ($distdir): New variable, might be used in
testcases checking distribution-related features.
* tests/pr9.test: Use it.
* tests/subdir9.test: Likewise.
* tests/vtexi3.test: Add comment explaining why we redefine
$distdir in this test.
Stefano Lattarini [Tue, 4 Jan 2011 22:54:50 +0000 (23:54 +0100)]
yacc: add some tests on bison support (still xfailing)
Related to automake bug#7648 and PR automake/491.
* tests/bison-skeleton-cxx.test: New test.
* tests/bison-skeleton.test: New test.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
Stefano Lattarini [Tue, 12 Apr 2011 13:11:04 +0000 (15:11 +0200)]
coverage: test for automake bug#8485 (known regression)
* tests/yacc-dist-nobuild-subdir.test: New test.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
Stefano Lattarini [Mon, 11 Apr 2011 13:15:55 +0000 (15:15 +0200)]
tests: do not uselessly require GNU make or gcc in a few tests
* tests/lex3.test: Remove gcc from requirements, as any working C
compiler should be ok. Consequently, do not clobber user CFLAGS.
Also, remove GNUmake from requirements; it was added (see commit
`Release-1-8-103-g0d2f592') because this test fails with FreeBSD
make due to VPATH issues -- but so do many other yacc-related and
lex-related tests currently, and requiring GNU make in all of
them would unacceptably reduce coverage.
* tests/lexvpath.test: Remove gcc from requirements, as any
working C compiler should be ok.
* tests/yacc4.test: Likewise.
* tests/yacc8.test: Likewise.
* tests/lex5.test: Likewise. Also, do not require anymore GNU
make; to compensate, explicitly call "$MAKE Makefile" to update
the out-of-date Makefile if $MAKE is not GNU make.
Stefano Lattarini [Mon, 11 Apr 2011 14:35:59 +0000 (16:35 +0200)]
tests: split yacc6.test, for better separation and coverage
* tests/yacc6.test: Test removed, its content extended and split
into ...
* tests/yacc-auxdir.test, tests/yacc-depend.test,
tests/yacc-line.test: ... these new tests.
* tests/yacc-depend2.test: New test, exposes the failure that
FreeBSD used to encounter in yacc6.test.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Mon, 11 Apr 2011 15:25:34 +0000 (17:25 +0200)]
Merge branch 'maint' into yacc-work
Conflicts:
ChangeLog
NEWS
tests/Makefile.am
tests/Makefile.in
tests/cond36.test
tests/yacc5.test
Stefano Lattarini [Mon, 11 Apr 2011 15:06:05 +0000 (17:06 +0200)]
Merge branch 'fix-depcomp' into maint
Stefano Lattarini [Mon, 11 Apr 2011 10:26:58 +0000 (12:26 +0200)]
depcomp: fix bugs in tests and in the depcomp script
* lib/depcomp (gcc): Remove duplicated `-e' from sed invocation.
* tests/depcomp10.test: Make it executable. Fix a blunder that
has left part of an intended comment not prefixed by `#', thus
causing shell syntax errors. In this same comment, break a
too-long reported error message on multiple lines, for clarity.
Add reference to the relevant bug report. Add a comment which
explains why the test result 'skipped' if the first "make" call
fails. Add other useful comments.
* tests/depcomp9.test: Slightly improve comments.
Ralf Wildenhues [Mon, 11 Apr 2011 05:06:08 +0000 (07:06 +0200)]
Fix hp depmode for VPATH builds with GNU make.
* lib/depcomp: Be sure to remove VPATH-prefixed object from
dependency output when creating stub rule.
* tests/depcomp10.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
Report by Bruno Haible.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Sun, 10 Apr 2011 10:06:45 +0000 (12:06 +0200)]
coverage: test mixed C/C++ yacc-generated parsers in the same dir
* tests/yacc-mix-c-cxx.test: New test.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Sun, 10 Apr 2011 11:38:47 +0000 (13:38 +0200)]
test defs: fix 'javac' requirement for older JDK versions
The Java compiler from JDK 1.5 (and presumably earlier versions)
cannot handle the `-version' option by itself; and while it does
print the version number, it then errors out with an usage error:
$ javac -version
javac 1.5.0_22
javac: no source files
Usage: javac <options> <source files>
...
Luckily, adding the `-help' option to the `javac' invocation
seems to fix this problem.
* tests/defs.in (javac): Pass also the `-help' option to the
`javac' program. Add a comment explaining why it is needed.
Report from Ralf Wildenhues.
Stefano Lattarini [Sun, 10 Apr 2011 09:13:54 +0000 (11:13 +0200)]
cosmetics: fix typos and wording in some yacc tests
* tests/yacc-cxx.test (foo.cc): Clarify comment about the content
of this file being valid C++ but invalid C.
(parse1.yy): Likewise. Also, remove redundant parentheses in a
`return' statement.
* tests/yacc-d-cxx.test (write_parse): Clarify comment about the
content of the generated files being valid C++ but invalid C.
(write_main): Likewise.
* tests/yacc-basic.test: Remove redundant parentheses in a
`return' statement.
* tests/yacc-d-vpath.test: Adjust spacing around curly brackets.
* tests/yaccvpath.test: Likewise.
* tests/yaccdry.test: Likewise.
* tests/yacc8.test: Likewise.
* tests/yacc4.test: Likewise.
Suggested by Ralf Wildenhues.
Stefano Lattarini [Sat, 9 Apr 2011 08:48:42 +0000 (10:48 +0200)]
yacc: update NEWS and docs about yacc-generated headers extensions
* doc/automake.texi (Yacc and Lex): Document explicitly that
extensions of yacc-generated headers are modelled after the
extension of the corresponding sources.
* NEWS: Update.
Stefano Lattarini [Sun, 10 Apr 2011 07:01:37 +0000 (09:01 +0200)]
test defs: new requirement for the default java compiler
* tests/defs.in (for tool in $required): New requirement 'javac'.
* tests/java.test: Use it instead of ad-hoc configure check.
* tests/java-check.test: Likewise.
* tests/instfail-java.test: Likewise.
* tests/instdir-java.test: Likewise.
Stefano Lattarini [Wed, 6 Apr 2011 16:49:44 +0000 (18:49 +0200)]
java: check_JAVA does not cause compilation by "make all" anymore
Fixes automake bug#8234.
* automake.in (handle_java): Make stamp of class files built from
java sources in $(check_JAVA) a dependency of `check' target, not
`all' target.
* tests/java-check.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
* THANKS: Update.
Report from Petteri Räty.
Ralf Wildenhues [Sat, 9 Apr 2011 10:38:11 +0000 (12:38 +0200)]
Clarify regex code in depcomp.
* lib/depcomp: Add comment why we don't need regex-escaping here.
Suggested by Stefano Lattarini.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 6 Apr 2011 20:17:01 +0000 (22:17 +0200)]
Fix makedepend depmode for VPATH builds.
* lib/depcomp [makedepend]: Remove any VPATH prefix from the
object file name, so a rebuild doesn't attempt to update the
.Po files in the source tree.
* tests/depcomp9.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Wed, 30 Mar 2011 16:06:29 +0000 (18:06 +0200)]
tests: fix timestamp-related failures
Fixes automake bug#8365.
* tests/aclocal6.test: Sleep before modifying m4 files that should
trigger remake rules. Remove incorrect/obsoleted comments.
* tests/subdir5.test: Likewise, and extend a bit.
* tests/subdir8.test: Likewise.
* tests/pr8365-remake-timing.test: New xfailing test.
* tests/Makefile.am (TESTS): Update.
Report from Sam Steingold.
Ralf Wildenhues [Sat, 2 Apr 2011 09:09:10 +0000 (11:09 +0200)]
Create subdirs for generated sources even when not dep tracking.
* automake.in (handle_single_transform): If $object is derived
and lands in subdir, be sure to output a dirstamp dependency.
* tests/yacc5.test: Avoid falsely matching the dirstamp
dependency when grepping for a rule.
* tests/lex-subobj-nodep.test: New test.
* tests/Makefile.am (TESTS): Update.
* THANKS: Update.
Report by Ignacy Gawedzki.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 2 Apr 2011 09:07:34 +0000 (11:07 +0200)]
Merge branch 'fix-check-exported-srcdir.test' into maint
* fix-check-exported-srcdir.test:
Fix locale issue in check-exported-srcdir.test.
Ralf Wildenhues [Sat, 2 Apr 2011 09:07:04 +0000 (11:07 +0200)]
Fix locale issue in check-exported-srcdir.test.
* tests/check-exported-srcdir.test: Reformulate glob to not fail
in a locale that ignores or interleaves character case.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Thu, 17 Mar 2011 10:13:29 +0000 (11:13 +0100)]
docs: better visibility for aclocal in the index
* doc/automake.texi (@menu): Rename title for entry 'configure'
from "Scanning configure.ac or configure.in" to the more precise
"Scanning configure.ac, using aclocal".
(@detailmenu): Adjust.
(@node configure): Adjust, and extend @cindex calls accordingly.
* THANKS: Update.
From a report by Maynard Johnson.
Stefano Lattarini [Wed, 30 Mar 2011 10:48:42 +0000 (12:48 +0200)]
tests: improve tests on "maintainer-clean" target
* tests/aclocal6.test: Move checks related to "maintainer-clean"
functionalities into ...
* tests/maintclean-vpath.test: ... this new test.
* tests/maintclean.test: Update heading comments. Extend to also
test subdirs. Remove useless disabling of YACC. Fix m4 quoting
in configure.in. Add a trailing `:' command.
* tests/Makefile.am (TESTS): Update.
Ralf Wildenhues [Mon, 21 Mar 2011 21:14:25 +0000 (22:14 +0100)]
Merge branch 'fix-unindent' into maint
* fix-unindent:
tests: fix unindent to use printf not echo for script.
Ralf Wildenhues [Mon, 21 Mar 2011 21:12:07 +0000 (22:12 +0100)]
tests: fix unindent to use printf not echo for script.
* tests/defs.in: Use printf rather than echo, as the latter may
interpret the backslashes in the sed script. Fixes test
failures with dash as /bin/sh.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Fri, 21 Jan 2011 16:47:42 +0000 (17:47 +0100)]
yacc: extension of headers modelled after extension of sources
With this change, if '-d' is in *YFLAGS, a yacc input file named
foo.y++ will cause a foo.h++ header to be generated, instead of a
foo.h header. Similarly for foo.ypp, foo.yxx and foo.yy.
This way, the name of the files generated by an automake-created
`ylwrap' invocation should be consistent with those generated by
a `bison -o' call.
Related to automake bug#7648 and PR automake/491.
* lib/am/yacc.am (am__yacc_c2h): New internal variable.
(?GENERIC?%EXT%%DERIVED-EXT%, ?!GENERIC?%OBJ%): Get the name of
the header dynamically at make runtime, so that its extension is
modelled after the extension of the source.
* automake.in (lang_yacc_target_hook): Adjust the calculation of
`$header' accordingly.
* tests/yacc-cxx.test: New test.
* tests/yacc-d-cxx.test: Likewise.
* tests/yacc-weirdnames.test: Likewise.
* tests/yacc-basic.test: Update comments.
* tests/yacc-d-basic.test: Likewise.
* tests/yaccpp.test: Updated and extended.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Mon, 14 Mar 2011 11:44:53 +0000 (12:44 +0100)]
maintcheck: look for problematic names of testcases
The configure.in stub created by default by `tests/defs' obtains
the first argument of AC_INIT from the test name, and this can
cause some supported autoconf versions to fail with a spurious
error if that test name contains the name of an m4 or m4sugar
builtin or macro (e.g., `defn' or `m4_undefine').
See for example the bug fixed by commit v1.11-287-g1325a8a.
This change add a maintainer check that warns about test names
which are possibly problematic in this regard.
* Makefile.am (sc_test_names): New maintainer-check target.
(syntax_check_rules): Add it.
(m4_builtins): New helper variable.
(TESTS): Updated according to the following renamings.
* tests/include.test: Renamed ...
* tests/hdr-vars-defined-once.test: ... to this.
* tests/sinclude.test: Renamed ...
* tests/m4-inclusion.test: ... to this, and simplified
accordingly.
* tests/include2.test: Renamed ...
* tests/dist-included-parent-dir.test: ... to this, for
consistency.
Stefano Lattarini [Sat, 5 Mar 2011 00:57:36 +0000 (01:57 +0100)]
tests: fix bug in alloca*.test
* tests/alloca.test: Make grepping of automake stderr stricter,
add a trailing `:' command; also, add AC_PROG_CC to configure.in,
and create a dummy alloca.c file, to ensure that we fail for the
proper reason.
* tests/alloca2.test: Likewise. Also, look for LT_INIT, not
AC_PROG_LIBTOOL, in the error message (bug introduced with commit
v1.11-315-gd51e7b7 "libtool: suggest LT_INIT if LTLIBRARIES
primary is used").
From a report by Patrick Welche.
Stefano Lattarini [Fri, 4 Mar 2011 18:09:54 +0000 (19:09 +0100)]
Merge branch 'tests-texinfo' into maint
Stefano Lattarini [Thu, 3 Mar 2011 18:22:55 +0000 (19:22 +0100)]
tests: fix bug (comments-in-var-defn.test + autoconf 2.62)
* tests/comments-in-var-defn.test: The configure.in stub created
by default, which has the AC_INIT first argument obtained by the
test name, causes autoconf 2.62 to fail with a spurious error
message like: "configure.in:1: error: defn: undefined macro:".
Thus, to prevent this, the test is renamed to ...
* tests/comments-in-var-def.test: ... this.
* tests/Makefile.am (TESTS): Updated.
Stefano Lattarini [Fri, 4 Mar 2011 08:25:49 +0000 (09:25 +0100)]
cosmetics: convert encoding from ISO-8859 to UTF-8
* ChangeLog.03: Convert encoding to UTF-8.
* ChangeLog.96: Likewise.
* ChangeLog.98: Likewise.
* NEWS: Likewise.
* TODO: Likewise.
Peter Rosin [Tue, 1 Mar 2011 07:25:24 +0000 (08:25 +0100)]
test defs: unindent without temporary file
* tests/defs.in (commented_sed_unindent_prog): Commented Sed program
that strips the "proper" amount of leading whitespace.
(unindent): Lazily strip comments from the above program and use it
to unindent without using a temporary file.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Stefano Lattarini [Thu, 24 Feb 2011 09:21:19 +0000 (10:21 +0100)]
libtool: suggest LT_INIT if LTLIBRARIES primary is used
When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't
defined, automake suggested to add a call to AC_PROG_LIBTOOL
in configure.ac. But that macro is deprecated since Libtool
version 1.9b (2004-08-29), in favor of the newer LT_INIT. So
suggest the use of this latter macro instead.
* lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL'
with 'LT_INIT', not with 'AC_PROG_LIBTOOL'.
* libtool4.test: Adjust and extend. Also, add a call to macro
AC_PROG_CC in configure.in, to help ensuring that automake does
not fail for the wrong reasons.
* ltinit.test: New test, ensure that automake's libtool support
works with LT_INIT-based interface.
Thanks to Jack Kelly for the suggestion.
Stefano Lattarini [Wed, 16 Feb 2011 19:43:22 +0000 (20:43 +0100)]
tests: tempdirs with restrictive permissions are cleaned correctly
Before this change, the removal of a temporary test directory
containing subdirectories with restrictive permissions (such as
'r--r--r--') could fail.
* tests/defs: Ensure that all the subdirectories of a temporary
test directory have the 'read', 'write' and 'execute' bits set,
before trying to remove it with `rm -rf'.
* tests/Makefile.am (clean-local-check): Likewise.
Stefano Lattarini [Tue, 15 Feb 2011 11:45:28 +0000 (12:45 +0100)]
test defs: add subroutine for input unindenting
* tests/defs.in (unindent): New subroutine.
Stefano Lattarini [Mon, 31 Jan 2011 20:24:02 +0000 (21:24 +0100)]
python: report the 'PYTHON' influential environment variable
* m4/python.m4 (AM_PATH_PYTHON): Call AC_ARG_VAR on PYTHON.
* doc/automake.texi (Python): Update and extend.
* tests/help-python.test: New test.
* tests/Makefile.am (TESTS): Update.
* THANKS (Jack Kelly): Update e-mail address.
Suggestion by Jack Kelly.
Stefano Lattarini [Thu, 10 Feb 2011 09:46:21 +0000 (10:46 +0100)]
tests defs: clear TESTS_ENVIRONMENT variable
* tests/defs.in (TESTS_ENVIRONMENT): Unset it, so that values
from environment won't interfere with the testcases.
Suggestion by Ralf Wildenhues.
Stefano Lattarini [Sun, 6 Feb 2011 18:43:22 +0000 (19:43 +0100)]
tests: tweak few tests on simple and parallel test drivers
* tests/check-exported-srcdir.test: Improve heading comments.
* tests/check-tests-in-builddir.test: Likewise. Also, unset the
`FOO_EXIT_STATUS' variable, so that any pre-existing value in the
environment won't risk to interfere with the test.
Suggestions by Ralf Wildenhues.
Stefano Lattarini [Mon, 24 Jan 2011 14:56:52 +0000 (15:56 +0100)]
coverage: more tests on simple and parallel test drivers
* tests/parallel-tests-subdir.test: New test.
* tests/check-exported-srcdir.test: Likewise.
* tests/check-tests-in-builddir.test: Likewise.
* tests/check-tests_environment.test: Likewise.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Sat, 29 Jan 2011 18:47:46 +0000 (19:47 +0100)]
tests: don't define YACC and LEX in the Makefiles
We don't want YACC and LEX defined as make variables, otherwise
the values determined at configure time will override those from
the environment, even in the make-spawned testcases. For example,
before this change, with the following usage:
$ ./configure YACC=yacc
$ export YACC='bison -y'
$ make check
the testsuite would have ended up, very counterintuitively, with
YACC defined to 'yacc' in the testcases' environment.
* configure.ac: Call `AM_SUBST_NOTMAKE' on YACC and LEX.
Stefano Lattarini [Sat, 29 Jan 2011 17:47:52 +0000 (18:47 +0100)]
Merge branch 'lflags-test-fixes' into yacc-work
Stefano Lattarini [Sat, 29 Jan 2011 17:47:39 +0000 (18:47 +0100)]
Merge branch 'lflags-test-fixes' into maint
Stefano Lattarini [Sat, 29 Jan 2011 17:35:45 +0000 (18:35 +0100)]
tests: fix spurious failures in lflags*.test
* tests/lflags.test: Remove 'LEX' from the environment, so
that it won't be erroneously picked up by `make -e'.
* tests/lflags2.test: Likewise.
Stefano Lattarini [Fri, 28 Jan 2011 15:57:05 +0000 (16:57 +0100)]
coverage: more on 'yacc -d' and recovery from deleted headers
* tests/yacc-deleted-headers.test: New test.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Fri, 28 Jan 2011 14:45:53 +0000 (15:45 +0100)]
tests: remove redundancy from silent lex/yacc tests
* tests/silent-yacc-gcc.test, tests/silent-yacc-generic.test: Merge
these two testcases into ...
* tests/silent-yacc.test: ... this new one, which doesn't fiddle
which dependency tracking, as that shouldn't impact on generation
of yacc-derived C source and header files (and, for what concerns
compilation of C files, is already tested in other testcases).
* tests/silent-lex-gcc.test, tests/silent-lex-generic.test: Merge
these two testcases into ...
* tests/silent-lex.test: ... this new test, for similar reasons.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Sat, 29 Jan 2011 12:13:53 +0000 (13:13 +0100)]
tests init: better messages for 'yacc' and 'lex' requirements
* tests/defs.in: Give better diagnostic messages when a test must
be skipped to the unavailability of yacc or lex program. Also,
improve syncing between code for requiring yacc and lex.
Stefano Lattarini [Fri, 28 Jan 2011 22:04:14 +0000 (23:04 +0100)]
configure: look for a lex program to be used by the testsuite
This will allow the testcases requiring a 'lex' program to run also
with vendor/legacy lex implementations, not only with 'flex'.
* configure.ac: Look for a lex program, using AC_CHECK_PROGS.
* tests/defs.in: New required entry 'lex'.
($LEX): Let the user override the lex program to be used by the
testsuite.
* tests/cond35.test ($required): Require 'lex', not 'flex'.
* tests/cond36.test: Likewise.
* tests/lexv3.test: Likewise.
* tests/lexv3.test: Likewise.
* tests/silent-lex-gcc.test: Likewise.
* tests/silent-lex-generic.test: Likewise.
* tests/silent-many-gcc.test: Likewise.
* tests/silent-many-generic.test:likewise.
* tests/lexvpath.test: Likewise, and fix typo in comments.
Stefano Lattarini [Mon, 24 Jan 2011 21:26:55 +0000 (22:26 +0100)]
docs: color-tests issues with parallel make
* doc/automake.texi (Simple Tests): Document that automatic
recognition of a capable terminal attached to stdout can fail
with some make implementation when running in parallel mode,
thus causing colored test output not to be automatically
activated when it should.
Ralf Wildenhues [Sun, 23 Jan 2011 10:26:50 +0000 (11:26 +0100)]
tests: avoid instspc.test failures due to make's whitespace trimming
* tests/instspc.test: Prepend './' when passing the test
characters, to avoid leading whitespace characters to be trimmed
from macros set from environment variables. Fixes testsuite
failures with HP-UX, IRIX, and Tru64/OSF make.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Sat, 22 Jan 2011 17:09:51 +0000 (18:09 +0100)]
coverage: test semantics of "dummy" per-target flags
* tests/specflg-dummy.test: New test, ensuring that even "dummy"
per-target flags triggers the use of renamed objects.
* tests/Makefile.am (TESTS): Update.
Suggestion by Ralf Wildenhues.
Stefano Lattarini [Sun, 23 Jan 2011 11:54:35 +0000 (12:54 +0100)]
tests defs: sanitize IFS
* tests/defs.in ($IFS): Define to <space>, <tab>, <newline>.
($sp): New variable, holding a single whitespace character.
($tab): New variable, holding a tabulation character.
($nl): New variable, holding a newline character.
Stefano Lattarini [Sat, 22 Jan 2011 20:11:06 +0000 (21:11 +0100)]
configure: look for a yacc program to be used by the testsuite
Instead of forcing the user to manually export 'YACC' in the
testsuite to use a non-bison yacc, we now look for a yacc program
at configure time, and use that as the default in the testsuite.
* configure.ac: Look for a yacc program, using AC_CHECK_PROGS.
* tests/defs.in: Updated to use the value of $YACC precomputed by
configure, unless the user overrides that in the environment.
Stefano Lattarini [Thu, 20 Jan 2011 00:11:51 +0000 (01:11 +0100)]
tests: more coverage on yacc/lex silent-rules, plus minor cleanups
* tests/silent-yacc-gcc.test: Add sanity checks verifying that the
generated Makefile.in files really contains the non-generic rules
we expect. Do not redundantly manually remove files we know to be
already removed "make maintainer-clean".
(Makefile.am): Ensure we cover also non-generic yacc rules, by
setting target-specific YFLAGS.
(sub/Makefile.am): Likewise.
* tests/silent-yacc-generic.test: Likewise.
* tests/silent-lex-gcc.test: Likewise, but with LFLAGS instead of
YFLAGS.
* tests/silent-lex-generic.test: Likewise.
* tests/silent-many-gcc.test: Likewise, but with both LFLAGS and
YFLAGS. Also ...
(do_and_check_verbose_build): Remove redundant blank line.
* tests/silent-many-generic.test: Likewise.
* tests/silent-yacc-headers.test: New test.
* tests/Makefile.am (TESTS): Update.
Ralf Wildenhues [Sat, 22 Jan 2011 17:21:45 +0000 (18:21 +0100)]
Merge branch 'vpath-autoexp-fix-maint' into maint
* vpath-autoexp-fix-maint:
tests: fix VPATH auto-expansion workarounds.
Ralf Wildenhues [Sat, 22 Jan 2011 17:20:41 +0000 (18:20 +0100)]
tests: fix VPATH auto-expansion workarounds.
* tests/parallel-tests8.test, tests/suffix13.test:
Ensure $< is not surrounded by white space, to prevent Solaris
make from applying automatic VPATH text expansion.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Sat, 22 Jan 2011 13:53:29 +0000 (14:53 +0100)]
Merge branch 'yflags-test-fixes' into yacc-work
Stefano Lattarini [Sat, 22 Jan 2011 13:50:20 +0000 (14:50 +0100)]
Merge branch 'yflags-test-fixes' into maint
Stefano Lattarini [Sat, 22 Jan 2011 12:32:14 +0000 (13:32 +0100)]
tests: fix spurious failures in yflags*.test
* tests/yflags.test: Remove 'YACC' from the environment, so
that it won't be erroneously picked up by `make -e'.
* tests/yflags2.test: Likewise.
Ralf Wildenhues [Sat, 22 Jan 2011 12:46:27 +0000 (13:46 +0100)]
tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R.
* tests/fn99.test, tests/fn99subdir.test: Skip if an initial
`cp -R' of the subdir tree already fails; AIX 5.3 cp messes
up its internal memory when copying this tree.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Sat, 22 Jan 2011 10:16:06 +0000 (11:16 +0100)]
Add comment to check-TESTS rule working around make 3.80 bug.
* lib/am/check.am (check-TESTS): Update comment.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Fri, 21 Jan 2011 10:47:20 +0000 (11:47 +0100)]
tests: cover yacc target-specific flags, and `-v' flag handling
* tests/yacc-basic.test: Also try to build a parser having `-v'
as target-specific flags. Add a couple of `ls -l' commands, for
debugging. Update and extend comments. Escape literal dots in
grep regular expressions.
Ralf Wildenhues [Thu, 20 Jan 2011 20:29:42 +0000 (21:29 +0100)]
tests: less strict double-colon spy.test again.
* tests/spy.test: We know BSD make doesn't invoke more than one
double-colon rule, so no need to expose that failure.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 19 Jan 2011 20:50:02 +0000 (21:50 +0100)]
install-sh: avoid Tru64 sh `test' operator precedence issues.
* lib/install-sh: Protect file names and directory components
that consist of `=', `(', `)', or `!'. Move protection as early
as possible, to avoid errors such as with Tru64 sh `test -z ='.
* tests/instsh2.test: Extend test to cover more possibilities.
Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Wed, 19 Jan 2011 19:20:37 +0000 (20:20 +0100)]
docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore
* doc/automake.texi (Simple Tests): Do not claim Automake uses
TESTS_ENVIRONMENT for the perl driver. Instead, point to the
parallel-tests driver.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Wed, 19 Jan 2011 18:46:27 +0000 (19:46 +0100)]
Allow _AM_DEPENDENCIES to be used later in configure.
* m4/depend.m4 (_AM_DEPENDENCIES): Remove a previously existing
conftest.dir before recreating it.
Fixes bug#7864.
Report by Eric Blake, from report by Scott McCreary against M4.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues [Tue, 18 Jan 2011 22:11:54 +0000 (23:11 +0100)]
tests: avoid failure on w32 file systems.
* tests/parallel-tests-unreadable-log.test: SKIP if file cannot
be turned unreadable.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>