t


Log

Author Commit Date CI Message
Stefano Lattarini 8a310a5f 2013-10-30T00:51:25 tests: fix spurious failure when zip is present but unzip is not Fixes automake bug#15181. * t/dist-formats.tap (have_compressor): When checking that zip(1), also check for unzip(1), otherwise "make distcheck" will be unable to extract the zip tarball it creates, which will cause spurious failures. While at it, reorganize the existing code a bit. * THANKS, NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 1e2f142f 2013-10-30T00:04:51 tests: fix spurious failure due to localization issues Fixes automake bug#15237. * t/autohdr-subdir-pr12495.sh: Ensure make is run in the C locale, so that we can expect error messages in English when grepping its output. * THANKS, NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 1a24c540 2013-07-23T20:39:14 Merge branch 'fix-pr14911' into micro * fix-pr14911: test: avoid false positives in 'cc-no-c-o' script
Stefano Lattarini 43831406 2013-07-23T20:39:06 Merge branch 'fix-half-pr14760' into micro * fix-half-pr14760: tests: fix a spurious failure on NetBSD-current
Stefano Lattarini db6cb184 2013-07-21T13:46:48 test: avoid false positives in 'cc-no-c-o' script Fixes automake bug#14911. * t/ax/cc-no-c-o.in: Be more careful in determining whether both the '-c' and '-o' options have been passed on the command line to the compiler. In particular, do not spuriously complain in the face of options like '-compatibility_version' or '-current_version' (seen on Mac OS X 10.7). * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ac0e0947 2013-07-07T11:37:37 tests: fix a spurious failure on NetBSD-current Reported in automake bug#14760. * tests/silent-custom.sh: Be prepared to handle creative quoting in the output of the shell run for the make recipes when the shell traces are active ("set -x"). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3759f243 2013-06-27T14:43:12 tests: avoid a spurious failure on MacOS X 10.6.8 Fixes automake bug#14706. * t/depcomp2.sh: Strip, from the redirected ./configure stderr, the possible error message "rm: conftest.dSYM: is a directory", generated by cleanup code that doesn't cater to the existence of *.dSYM directories sometimes created by the compiler on MacOS X. This "massaging" of ./configure stderr is legitimate, since the spurious error message is due not to automake-related code, but to a know buglet/limitation of either Autoconf or Mac OS X bundles gcc: <http://lists.gnu.org/archive/html/bug-autoconf/2007-11/msg00017.html> Actually, from that link it appears that the original Autoconf issue had been fixed, but it must have been re-introduced in the meantime :-( Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ec163633 2013-06-27T11:11:35 tests: don't risk hanging on the 'cl' requirement On the GNU/Linux boxes of some users that run our testsuite there is a '/usr/local/bin/cl' executable, from the IRAF package: <http://iraf.noao.edu/> The test 'compile4.sh' (and other tests) try to invoke the 'cl' command to check whether it's a Microsoft compiler; the IRAF cl is an interactive program, so it hangs on such invocation. In conclusion, the testsuite hangs for those users which have the IRAF cl early in PATH. Fix the issue by redirecting the input of cl from /dev/null when invoking it, which is enough to prevent the cl program from IRAF from hanging, and should have no effect on the behaviour of the Microsoft compiler. This change fixes automake bug#14707. * t/ax/am-test-lib.sh (require_tool): Adjust the handling of the 'cl' requirement. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5fed69b6 2013-06-19T16:32:24 tests: avoid spurious failures in Linux -> MinGW cross-compilation mode * t/ccnoc-deps.sh: Here. * t/preproc-demo.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f387e513 2013-06-19T16:09:47 tests: simplify checks for some expected variables values in Makefiles Do so by using our custom 'is' auxiliary script rather than grepping the output from make. This is more natural, more robust, and often shorter to write. Unfortunately, we can't do that in all cases: sometimes we really need to match the content of a variable against a regular expressions, and we can't know nor are interested in its exact value. This is basically a follow-up on commit v1.11-1830-g96401cb of 2012-02-08 (tests: better way to compare lists in Makefile rules). * t/subst-no-trailing-empty-line.sh: Adjust. * t/pluseq10.sh: Likewise. * t/check5.sh: Likewise, and enhance a little while at it. * t/check7.sh: Likewise. * t/exeext.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 68ea9a2a 2013-06-19T12:41:59 tests: fix/improve few heading comments * t/lflags.sh: Here. * t/lflags-cxx.sh: And here. * t/yflags.sh: And here. * t/yflags-cxx.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f1d4efdd 2013-06-19T12:20:57 coverage: new test on Texinfo @include support Backported from the Automake-NG testsuite. * t/txinfo-include.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9dd6d5f9 2013-06-19T12:07:38 tests: tighten a grepping check * t/yflags-force-override.sh: Here, by being sure to correctly match an expected literal dot. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3492f226 2013-06-19T11:46:42 tests: more significant names for some tests * t/extra2.sh: Rename... * t/extra-sources-no-spurious.sh: ... like this. * t/yflags2.sh: Rename... * t/yflags-cxx.sh: ... like this. * t/lflags2.sh: Rename... * t/lflags-cxx.sh: ... like this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a7c00e19 2013-06-19T11:40:48 tests: cosmetic changes in t/extra-sources.sh * t/extra-sources.sh: Do not create unneeded C sources. Add trailing ':' command. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5fd58b0a 2013-06-19T11:31:17 tests: rename t/exsource.sh -> t/extra-sources.sh * t/exsource.sh: Rename ... * t/extra-sources.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6f723f1e 2013-06-16T11:36:55 tests: some improvements to Gettext tests Mostly to bring them more in sync with the ones in Automake-NG. See also commit v1.12.2-824-g5468d52 of 2012-08-10([ng] tests: reorganize gettext tests a bit) in Automake-NG. * t/gettext.sh: Rename ... * t/gettext-basics.sh: ... like this, enhance a little, and move checks on requirement of 'config.rpath' out into ... * t/gettext-config-rpath.sh: ... into this new test, and move checks about PR/381... * t/gettext-pr381.sh: ... into this new test. * t/gettext2.sh: Rename ... * t/gettext-external-pr338.sh: ... like this, and enhance a little. * t/gettext3.sh: Rename ... * t/gettext-intl-subdir.sh: ... like this, and add trailing ':' command. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6febcd41 2013-06-12T21:22:58 Merge branch 'micro' into maint * micro: THANKS: update e-mall address for Ralf Corsepius lang, suffix rules: don't require C stuff needlessly tests: expose automake bug#14560 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 4f7cc4fe 2013-06-11T21:20:18 lang, suffix rules: don't require C stuff needlessly This change fixes automake bug#14560: when two or more user-defined suffix rules were present in a single Makefile.am, automake would needlessly include definition of some make variables related to C compilation in the generated Makefile.in. * automake.in (handle_languages): Fix logic to decide whether or not to include definitions of C compilation related variables in the generated Makefile.in: instead of doing so when two or more user-defined suffix rules are seen (which is a completely bogus criterion), do so when two or more compiled languages are used. * lib/Automake/Rule.pm (suffix_rules_count): Remove as no longer used. (@EXPORT): Adjust. * t/list-of-tests.mk (XFAIL_TESTS): No longer list the test script 'suffix-extra-c-stuff-pr14560.sh', which now passes. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0164f831 2013-06-08T17:36:07 tests: expose automake bug#14560 Automake needlessly generates definition of make variables related to C compilation when two or more user-defined suffix rules are present in a single Makefile.am. * t/suffix-extra-c-stuff-pr14560.sh: New test, exposing the bug. This test is still xfailing. * t/no-extra-c-stuff.sh: New test, check for a potential related regression. This regression is not actually present here (so this test passes), but it still took place in our first attempt at fixing bug#14560 -- so this test has proven to be actually useful. * t/no-extra-makefile-code.sh: Improve comments, and tighten the grepping checks a little. * t/list-of-tests.mk (handwritten_TESTS): Add the new tests. (XFAIL_TESTS): Add the new xfailing test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9892eb78 2013-06-09T11:37:01 Merge branch 'micro' into maint * micro: maint: add a missing copyright notice sync: update config.guess from upstream tests: expose automake bug#13928 comments: fix some out-of-sync refs to test scripts tests: expose automake bug#13940
Stefano Lattarini 2d6fec69 2013-06-09T11:31:58 maint: add a missing copyright notice * t/ax/deltree.pl: Here. Issue revealed by "make update-copyright". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 004eba9b 2013-06-08T22:00:32 tests: expose automake bug#13928 * t/subobj-indir-pr13928.sh: New test, still xfailing. * t/subobj-vpath-pr13928.sh: Likewise. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b2b3692d 2013-06-08T17:47:30 tests: expose automake bug#13940 * t/override-conditional-pr13940.sh: New test, still xfailing. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e9d79f11 2013-06-03T21:18:25 Merge branch 'micro' into maint * micro: configure: remove an obsolete TODO comment post-release: micro version bump (1.13.3a) release: stable micro release 1.13.3 typofix: fix grammaro in comments in t/tags-pr12372.sh Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Rosin 14b9ec0e 2013-06-03T16:19:52 typofix: fix grammaro in comments in t/tags-pr12372.sh Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6d03501b 2013-06-03T15:25:50 Merge branch 'micro' into maint * micro: NEWS: minor fixlets, re-wording, and better text wrapping tests: slightly stricter checks in t/cxx-demo.sh tests: fix spurious failure when 'etags' program is Exuberant Ctags tests: fix spurious failure due to missing sleeps
Stefano Lattarini d6013ec5 2013-06-03T12:01:02 tests: slightly stricter checks in t/cxx-demo.sh This is a follow-up to the commit fixing automake bug#14493. * t/cxx-demo.sh: Also check that the built program returns the correct (i.e., zero) exit status when run. And improve comments a little while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9137db89 2013-06-03T11:45:29 tests: fix spurious failure when 'etags' program is Exuberant Ctags Fixes automake bug#14517. * t/tags-pr12372.sh: If the 'etags' program in use supports the '--langmap' option, use it. That is required to avoid spurious failures with Exuberant Ctags (at least version 5.8), which by default do not generate any tags for file extensions it doesn't recognize. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b4eefc79 2013-06-03T11:27:49 tests: fix spurious failure due to missing sleeps Fixes automake bug#14528. * THANKS: Give credit to that bug's original reporter. * t/remake-configure-dependencies.sh: Add few missing '$sleep' invocations. I thought that the sleeps implicit in the configure invocation were enough, but they were not, actually. Here is what can happen: 1. The config.status script is generated by a configure run. 2. ./config.status and make are run. 3. The 'print-version' script is modified. 4. Since that script is listed in $(CONFIGURE_DEPENDENCIES), autoconf is re-run. 5. On a fast-enough machine, the three steps 2-4 above, even combined, might have taken less than a second to run; 6. If the filesystem doesn't have a sub-second timestamp resolution, that means the newly-generated configure has the same timestamp of the old config.status; 7. So, config.status is not re-run, and the Makefiles are not updated. 8. Spurious failure! So we really need more explicit sleeps. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0d9399f1 2013-05-30T11:55:48 Merge branch 'micro' into maint * micro: NEWS: document recent testsuite fixes (MinGW/MSYS related) depcomp: avoid trailing backslash in depfile for depmode=msvc7 tests: prune some weed in a non-POSIX test tests: avoid a spurious failure on MSYS
Peter Rosin eb33ae2b 2013-05-29T17:10:40 tests: prune some weed in a non-POSIX test Fixes automake bug#14494. * t/distcheck-pr10470.sh: Make sure the test-driver is installed. Adjust to run_make changes. Adjust grep pattern to match new output. Signed-off-by: Peter Rosin <peda@lysator.liu.se> Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Rosin 625678d5 2013-05-29T16:53:55 tests: avoid a spurious failure on MSYS Fixes automake bug#14493. * t/cxx-demo.sh: Strip CR characters from the program output. Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Stefano Lattarini 649c03b4 2013-05-29T14:54:47 Merge branch 'micro' into maint * micro: t/README: document "run_make", discourage "make -e" cosmetics: tiny whitespace fixlets tests: avoid a spurious failure with MSVC tests: avoid a spurious failure on non-POSIX systems
Stefano Lattarini eefd01b3 2013-05-29T14:16:19 t/README: document "run_make", discourage "make -e" Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 88b04360 2013-05-29T13:55:48 cosmetics: tiny whitespace fixlets Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Rosin d817a68e 2013-05-29T12:06:17 tests: avoid a spurious failure with MSVC Fixes automake bug#14498. * t/yacc-bison-skeleton.sh: inline was not standardized prior to C99. Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Peter Rosin a4598c57 2013-05-29T12:01:07 tests: avoid a spurious failure on non-POSIX systems Fixes automake bug#14495. * t/lex-header.sh: Make sure unistd.h isn't included. Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Stefano Lattarini c98d5235 2013-05-29T10:39:58 Merge branch 'micro' into maint * micro: NEWS: fix typos and grammaros NEWS: document fix for bug#14441 Automake::Rule: consistently prepend underscore to private variables Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() Automake::Rule: adjust comments and POD according to previous changes Automake::Rule: make private variables lexically scoped suffix rules: better distinction between builtin and user-derived Automake::Rule: expose suffix rules as a function, not a scalar tests: expose automake bug#14441
Stefano Lattarini 94d57f3d 2013-05-28T17:53:03 Merge branch 'micro' into maint * micro: docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake maint: sanity checks in 'check-minimal-autoconf' convenience target maint: test minimal supported autoconf through convenience target maint: install minimal supported autoconf through convenience targets test-lib: typofix in comments
Stefano Lattarini 6d4ffd83 2013-05-27T11:14:22 suffix rules: better distinction between builtin and user-derived Fixes automake bug#14441. * lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ... (%suffix_rules_builtin): ... this lexical variable. ($suffix_rules): Remove, superseded by ... (%suffix_rules): ... this lexical variable. (suffix_rules, suffix_rules_count): Adjust. (register_suffix_rule): Update '%suffix_rules_builtin' rather than '%suffix_rules' if the location (as passed by the '$where' argument) is an "internal" one (doesn't come from user-provided Makefile.am). (reset): Simplify resetting of '%suffix_rules' to the default ones accordingly. * t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 4ba95192 2013-05-27T01:02:05 tests: expose automake bug#14441 * t/suffix-custom-pr14441.sh: New test, still failing. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. Helped-by: Felix Salfelder <felix@salfelder.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3fd6f164 2013-05-26T20:51:57 test-lib: typofix in comments * t/ax/am-test-lib.sh: In here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 974d1780 2013-05-26T20:40:12 Merge branch 'micro' into maint * micro: tests: remove an "unworthy" FIXME comment tests: remove one obsolete workaround for long-lifted limitations tests: couple of minor tweaks in demo tests in C++ and Libtool
Stefano Lattarini 3f152503 2013-05-26T20:37:23 tests: remove an "unworthy" FIXME comment * t/location.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5ed59024 2013-05-26T20:34:14 tests: remove one obsolete workaround for long-lifted limitations * t/silent-many-languages.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b95a0444 2013-05-26T19:18:55 tests: couple of minor tweaks in demo tests in C++ and Libtool * t/cxx-lt-demo.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3f19ee5f 2013-05-26T14:09:20 Merge branch 'micro' into maint * micro: tests: adjust or remove some obsolete comments tests: remove some useless 'unset' of variables
Stefano Lattarini e5b40a3e 2013-05-26T13:30:52 Merge branch 'prog-cc-c-o-work' into maint * prog-cc-c-o-work: tests: some tests make no sense if "$CC -c -o" doesn't work AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
Stefano Lattarini 2ea48f45 2013-05-26T12:42:04 tests: adjust or remove some obsolete comments * t/ax/am-test-lib.sh: Here. * t/distcheck-configure-flags.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d33783f5 2013-05-26T12:13:33 tests: remove some useless 'unset' of variables They are redundant, now that we no longer call "make -e". * t/javaflags.sh: Don't unset JAVAC. * t/lflags.sh: Don't unset LEX. * t/lflags2.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d81424aa 2013-05-26T12:04:48 Merge branch 'micro' into maint * micro: tests: avoid a couple of extra sleep with GNU make NEWS: document testsuite work for 1.13.3 lint: remove a couple of obsolete syntax checks lint: cosmetics: use #-comments, not ##-comments lint: cosmetics: some reordering lint: recipes of syntax check require GNU grep; ensure it is used lint: better name for a syntax check tests: rename $am_make_rc_got -> $am_make_rc tests: ensure $required is not set too late Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 73a09981 2013-05-26T11:35:15 tests: avoid a couple of extra sleep with GNU make They are only required by BSD make in order to avoid spurious failures. * t/deleted-am.sh: Here. * t/parallel-tests-recheck-pr11791.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 74c1336d 2013-05-24T20:54:41 tests: rename $am_make_rc_got -> $am_make_rc The latter is more natural More importantly, I keep misspelling the former over and over. * t/ax/am-test-lib.sh (run_make): Update. * t/ax/tap-summary-aux.sh: Adjust. * t/ax/testsuite-summary-checks.sh: Likewise. * t/parallel-tests-exit-statuses.sh: Likewise. * t/parallel-tests-extra-programs.sh: Likewise. * t/parallel-tests-fd-redirect-exeext.sh: Likewise. * t/parallel-tests-fd-redirect.sh: Likewise. * t/parallel-tests-fork-bomb.sh: Likewise. * t/parallel-tests-no-spurious-summary.sh: Likewise. * t/parallel-tests-recheck-pr11791.sh: Likewise. * t/parallel-tests-reset-term.sh: Likewise. * t/tap-signal.tap: Likewise. * t/test-driver-acsubst.sh: Likewise. * t/test-driver-cond.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b2b6269f 2013-05-15T15:48:08 tests: some tests make no sense if "$CC -c -o" doesn't work So just skip them, to avoid spurious failures when running "make check-no-cc-c-o". * t/ax/am-test-lib.sh (require_tool): New requirement '-c-o'. * t/subobj10.sh ($required): Add it. * gen-testsuite-part (%depmodes): Adjust so that tests that use 'makedepend' will be skipped if the compiler is being forced not to grasp "-c -o". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e90126cf 2013-05-15T10:14:46 AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic ** Theoretical problems of AC_PROG_CC_C_O: Both cc and $CC are checked to see if they support the '-c' and '-o' options together. This behaviour is highly inconsistent with that of the other macros related to C compiler checks -- which test only $CC. It can also cause unwarranted uses of the 'compile' script on systems where the default 'cc' is inferior, but the user is compiling with a proper, different compiler (e.g., gcc). ** Practical problems with our previous implementation of C support m4 macros in Automake: - AM_PROG_AR must now be called *before* AC_PROG_CC; this wasn't the case before, and it turns out there are packages in the wild that relied on the old behaviour. - The cross-referenced requirements and macro rewrites juggled among AC_PROG_CC, AC_PROG_CC_C_O and AM_PROG_CC_C_O caused warnings in autoconf; for example, in our test 't/libobj3.sh', we could see warnings like these (here slightly tweaked for legibility): configure.ac:5: AC_REQUIRE: `AC_PROG_CC' expanded before required autoconf/c.m4:567: AC_PROG_CC_C_O is expanded from... autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from... autoconf/lang.m4:329: AC_LANG_COMPILER_REQUIRE is expanded from... autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from... m4sugar/m4sh.m4:639: AS_IF is expanded from... autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:70: AM_PROG_AR is expanded from... configure.ac:5: the top level ** Fix all of that: We fix all of the described issues with a new internal m4 macro _AM_PROG_CC_C_O (inspired to, but not based on, AC_PROG_CC_C_O) that gets tacked on to AC_PROG_CC automatically (this is done in the Automake-generated aclocal.m4) and that takes care of checking and adjusting '$CC' for "-c -o" support. The macro AM_PROG_CC_C_O is still present, but is now just a thin wrapper around such Automake-enhanced AC_PROG_CC. It is worth noting that the present patch causes three slight *backward-incompatibilities*: 1. The name cache variable used by AM_PROG_CC_C_O is no longer computed (at configure runtime!) from the content of '$CC', but is statically defined as 'am_cv_prog_cc_c_o'. 2. 'cc' is no longer checked by AM_PROG_CC_C_O, only '$CC' is. 3. AM_PROG_CC_C_O no longer AC_DEFINE the C preprocessor symbol 'NO_MINUS_C_MINUS_O'. Given however that the third change can easily be worked around, that the first two changes can be legitimately seen as bug fixes, and that the new semantics introduced by such changes will simplify the transition to Automake 2.0 (when the 'subdir-objects' will always be enabled unconditionally), we believe they are acceptable to be shipped with Automake 1.14. With this patch, we also revert some of the testsuite adjustments done in previous commit v1.13.2-178-g9877109 of 2013-05-24 (compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents). Such adjustments are no longer needed. * m4/minuso.m4 (_AM_PROG_CC_C_O): New internal macro, basically and adjusted version of a merge between Autoconf-provided AC_PROG_CC_C_O and our old implementation of AM_PROG_CC_C_O. (AM_PROG_CC_C_O): Redefine as a simple wrapper around AC_PROG_CC. * m4/init.m4 (AC_PROG_CC): Append _AM_PROG_CC_C_O, not AM_PROG_CC_C_O, to the pre-existing expansion of this macro. * m4/ar-lib.m4 (AM_PROG_AR): No longer require it to be expanded after AC_PROG_CC. * t/aclocal-deps.sh: Move AC_PROG_CC invocation after AC_PROG_RANLIB and AM_PROG_AR invocations. Things should work this way too (as they used to). * t/subobj-clean-lt-pr10697.sh: Likewise. * t/alloca.sh: Move AC_PROG_CC invocation after AM_PROG_AR invocation. * t/condlib.sh: Likewise. * t/aclocal-deps.sh: Move AC_PROG_CC invocation after LT_INIT and AM_PROG_AR invocations. Make autoconf and autoheader warnings fatal. * t/am-prog-cc-c-o.sh: Adjust to the new semantics, enhance a little, and reduce code duplication. * t/ccnoco.sh: Make autoconf warnings fatal. * t/subpkg.sh: Likewise. * t/ccnoco-lib.sh: Likewise, and fix a comment. * t/link_cond.sh: Enhance a couple of error messages. * configure.ac: Drop "nullification" of AM_PROG_CC_C_O. * NEWS: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9877109c 2013-05-14T16:08:32 compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents This is a much simpler rewrite than the one we attempted in the past, and that was later removed by commit 'v1.13.1d-137-g32eb770' of 2013-05-11 (compile: avoid AC_PROG_CC messy rewrite). Not only this change simplifies the code a little, but has the welcome collateral effect of making automatic dependency tracking work better with compilers that doesn't grasp the '-c' and '-o' options together. Issues in that setup have been caught by several failures in the target 'check-no-cc-c-o'. Unfortunately, this change has less welcome collateral effects: 1. AM_PROG_AR must now be called *after* AC_PROG_CC; 2. Autoconf emits extra warnings when used with Automake-generated aclocal.m4. These are unacceptable regressions for a release, but since we are going to fix them soon enough in a follow-up patch (surely to be applied before Automake 1.14 is released) we don't worry too much. * m4/init.m4: Redefine AC_PROG_CC early, to automatically invoke AM_PROG_CC_C_O as well. Accordingly, drop now-unneeded "automagical" AM_PROG_CC_C_O expansion at later time (which took place thanks to a AC_CONFIG_COMMANDS_PRE call). * m4/minuso.m4 (AM_PROG_CC_C_O): Ensure the expansion of the body of this macro takes place with C as "current Autoconf language" (use AC_LANG_PUSH/AC_LANG_POP). * m4/ar-lib.m4 (AM_PROG_AR): Likewise. Also, require this macro to be expanded *after* AC_PROG_CC (so that any rewrite of $CC, if required, has already taken place). * t/add-missing.tap: Adjust to avoid spurious failures. * t/aclocal-deps.sh: Likewise, by having AM_PROG_AR called *after* AC_PROG_CC. * t/subobj-clean-lt-pr10697.sh: Likewise. * t/alloca.sh: Likewise. * t/condlib.sh: Likewise. * t/discover.sh: Likewise. * t/objc-megademo.sh: Likewise. * t/ccnoco.sh: Extend a little. * t/ccnoco-deps.sh: New test. * t/ccnoco-lib.sh: Likewise. * t/ccnoco-lt.sh: Likewise. * t/list-of-tests.mk: Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f6b9a22e 2013-05-24T12:46:17 tests: ensure $required is not set too late And do so in a safer way, with a runtime check rather than a brittle static maintainer check. * t/ax/test-init.sh: Set the 'required' variable to readonly. * syntax-checks.mk (sc_tests_required_after_defs): Remove. (syntax_check_rules): No longer list it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ac13ca50 2013-05-24T12:17:59 Merge branch 'micro' into maint * micro: tests: use append mode to capture parallel make output tests: new convenience target 'check-parallel' Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d19eb85c 2013-05-24T01:13:40 tests: use append mode to capture parallel make output This will allow us to run the Automake testsuite forcing all the make invocations in the test cases to run in parallel mode [1], but without hitting the spurious failure reported in automake bug#11413. See also: <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00135.html> The make invocations in the test cases can be forced to run in parallel mode by, e.g., invoking "make check" like this: make check AM_TESTSUITE_MAKE="make -j16" The possible spurious failures hinted above are due to the fact that the redirected output of parallel make can racily lose lines. For example, if GNU make (3.82) is run with -j10 on a Makefile like this: all = 0 1 2 3 4 5 6 7 8 9 default: $(all) $(all): @sleep 0.$$(($RANDOM % 10)); echo $@ and has its standard output redirected in overwrite-mode to a regular file, it looses a line of that output every 15 runs or so on a Fedora 17 system with 64 ppc64 cores. Redirection in append mode does not suffer of this problem, as explained here: <http://lists.gnu.org/archive/html/automake-patches/2009-03/msg00073.html> See also previous commits v1.12-63-g45c1fcd of 2012-05-05 (tests: use append mode to capture parallel make output) and Release-1-10-280-g6426999 of 2009-03-10 (Use append mode to capture parallel test output). * t/ax/am-test-lib.sh (run_make): Adjust and enhance. * t/lisp8.sh: Take advantage of the enhancement, nd stop doing output redirection for $MAKE by hand. * t/tap-more.sh: Likewise. * t/parallel-tests-concurrency.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini aba3b0ab 2013-05-23T20:48:03 tests: avoid few lingering $MAKE redirections These were present in the 'maint' branch, but not in the 'micro' branch. Their occurrences has been found by the 'sc_tests_no_run_make_redirect' maintainer check. * t/fort2.sh: Adjust. * t/preproc-demo.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 86e45fe1 2013-05-23T20:12:17 Merge branch 'micro' into maint * micro: tests: avoid '$MAKE' redirections, use 'run_make' instead tests: avoid use of redirected 'run_make' invocations lint: warn against redirected 'run_make' invocations comments: next GNU make release 4.0, not 3.83 tests: fix a potential spurious failure due to global config.site HACKING: it's OK to do testsuite refactoring in a micro version Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3ce4015f 2013-05-23T12:10:18 tests: avoid '$MAKE' redirections, use 'run_make' instead The use 'run_make' with the -E, -O and -M option, it is more idiomatic now. Also, this way, centralized fixes and improvements done in 'run_make' will automatically propagate through most of the testsuite. * syntax-checks.mk (sc_tests_no_run_make_redirect): Also check against '$MAKE' invocations that uses output redirections (and not only against 'run_make' invocation that do so). * Several tests: Adjust (and few minor cosmetic changes as well, while at it). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e2a000cc 2013-05-22T23:29:47 tests: avoid use of redirected 'run_make' invocations Instead, properly use the -E, -O, or -M options of run_make. The occurrences of the 'run_make' invocations using output redirection has been found by the recently-introduced maintainer check 'sc_tests_no_run_make_redirect'. * t/ax/tap-summary-aux.sh: Adjust. * t/ax/testsuite-summary-checks.sh: Likewise. * Several other tests: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c8e1373f 2013-05-22T20:39:59 tests: fix a potential spurious failure due to global config.site * t/instdir-no-empty.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 8d710870 2013-05-22T15:59:06 Merge branch 'micro' into maint * micro: tests: remove some code duplication cosmetics: remove a couple of extra whitespaces in tests tests: two minor fixups
Stefano Lattarini 15996acc 2013-05-22T13:00:48 tests: remove some code duplication * t/ax/am-test-lib (null_install): New function. * t/instdir-java.sh: Use it instead of copied & pasted code. * t/instdir-lisp.sh: Likewise. * t/instdir-ltlib.sh: Likewise. * t/instdir-prog.sh: Likewise. * t/instdir-python.sh: Likewise. * t/instdir-texi.sh: Likewise. * t/instdir.sh: Likewise. * t/instdir2.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini edbe522d 2013-05-22T11:09:39 cosmetics: remove a couple of extra whitespaces in tests * t/instdir.sh: Here. * t/instdir2.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e958709f 2013-05-22T10:56:07 tests: two minor fixups * t/make-keepgoing.tap: Here. * t/parallel-tests-exit-statuses.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 4d56c0f3 2013-05-22T00:09:30 Merge branch 'micro' into maint * micro: tests: run_make: options to do command redirection tests: only activate 'unset' alias if required tests: better idiom to override make macro defs on the cmdline test-lib: minor style changes test-lib: fix botched function name in an error message Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c7cfa093 2013-05-21T20:22:17 tests: run_make: options to do command redirection Let's improve the API of the 'run_make()' helper shell function by adding three new options: -O Save the standard output from make on disk, in a regular file named 'stdout'. -E Save the standard error from make on disk, in a regular file named 'stderr'. -M Save both the standard output and standard error from make on disk, in a regular file named 'output'. This option supersedes both the '-O' and '-E' options. This new API has two main advantages. 1. Its use will allow us to get rid of more cumbersome idioms like, e.g., $MAKE check >stdout && { cat stdout; exit 1; } cat stdout That can now be substituted with a simpler one: run_make -e FAIL -O check 2. More importantly, using the new API we will prevent any extra output from the shell traces of the code in run_make to be redirected along with the make stderr (where that was redirected). This problem was present in usages like, e.g., run_make TESTS=foo.test check 2>stderr && exit 1 grep 'expected error message' stderr Such usages are now to be rewritten as follows: run_make -e FAIL -E TESTS=foo.test check grep 'expected error message' stderr ensuring that 'stderr' won't end up containing unrelated stuff. Note that we do not convert in bulk the old idioms and the use of redirected 'run_make' invocations with this patch. We only convert some occurrences, to ensure that the new implementation of 'run_make' is sound enough. More sweeping conversions will likely be done in follow-up patches. * t/ax/am-test-lib.sh (run_make): Enhance and implement the extended API. * t/tap-xfail-tests.sh: Use the new 'run_make' API. * t/test-driver-cond.sh: Likewise. * t/tests-environment-fd-redirect.sh: Likewise. * t/uninstall-fail.sh: Likewise. * t/yacc-dist-nobuild.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a422365b 2013-05-21T11:59:21 tests: only activate 'unset' alias if required This makes the test logs easier to read for most shells (which do not actually require that alias). This is especially important now that 'unset' is used in the new 'run_make()' function, and that function is likely going to be used more and more in the future. * t/ax/test-lib.sh (_am_unset, unset): Only define this function and alias if "unset VAR" returns a non-zero exit status when VAR is already unset. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ffd4ecc9 2013-05-20T11:23:01 tests: better idiom to override make macro defs on the cmdline We now do so with a new wrapper shell function 'run_make()', which relies on the use of AM_MAKEFLAGS, avoiding the use of the '-e' make option. The use of that option (that causes the environment variables to take precedence over the macro definitions in the Makefile) has proved to be quite brittle in the past, causing annoying and sometimes problematic spurious failures. This has worsened in some still unpublished work going on in development branches. It's time to solve the issue once and for all. Note that we do not convert all uses of $MAKE in the testsuite right away; we might do so in follow-up changes, with leisure, to avoid a "patch bomb" effect (this commit is already too much of a bomb itself). What we do in this commit is to get rid of all "$MAKE -e" invocations. We admit that the implementation and feature-set of 'run_make()' are far from perfect, but good enough for our current purposes. We'll improve 'run_make()' if and when the need arises. * syntax-checks.mk (sc_tests_no_make_e): New syntax check, guard against the use of "$MAKE -e". (syntax_check_rules): Add it. (sc_tests_overriding_macros_on_cmdline): Adjust. (lint): New, alias for 'maintainer-check', for lazy typists. Idea backported from the 'maint' branch (Automake 1.13a). * t/ax/am-test-lib.sh (run_make): New function. Run $MAKE with the given command-line arguments, handling command-line override of variable definitions in a smart way (using AM_MAKEFLAGS if a non-GNU make implementation is detected to be in use). (useless_vpath_rebuild): Adjust to use 'run_make', to avoid a spurious maintainer check failure. (yl_distcheck): Use 'run_make' rather than bare '$MAKE'. (single_quote, append_single_quoted, is_valid_varname): New auxiliary function, used, directly or indirectly, by it. * Many tests: Adjust to avoid the use of "$MAKE -e", and prefer the use of 'run_make' in few other contexts as well, where it makes sense. Other minor fixlets while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 12cfd38f 2013-05-20T15:17:11 test-lib: minor style changes * t/ax/am-test-lib.sh (require_tool): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 8a39c6de 2013-05-20T15:07:48 test-lib: fix botched function name in an error message * t/ax/am-test-lib.sh (useless_vpath_rebuild): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini db9b02e8 2013-05-19T22:10:23 tests: fix a spurious failure on NetBSD 5.1 * t/dist-shar.sh ($required): Also require the 'unshar' program. Apparently, NetBSD has a 'shar' program but not the corresponding 'unshar' one. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 8f252e4c 2013-05-19T16:48:19 texi: build version.texi and stamp-vti in srcdir Do so even when the 'info-in-builddir' option is present, or when the corresponding '*.info' files are listed in $(CLEANFILES) or in $(DISTCLEANFILES). This fixes failures in the following tests, when they are run with $MAKE pointing to FreeBSD make: - txinfo-nodist-info.sh - txinfo23.sh - txinfo24.sh - txinfo28.sh - txinfo25.sh BTW, notice that the test 'txinfo-builddir.sh' fails with FreeBSD make as well, but that is due to a known FreeBSD make VPATH issue (the same described in automake bug#7884). But that is not a regression, since the 'info-in-builddir' option will be new in Automake 1.14. Moreover, we already warn in the manual that the use of that option can indeed cause problems with VPATH builds done by non-GNU make. * bin/automake.in (handle_texinfo_helper): New local variable '$soutdir'. Use it instead of '$outdir' where appropriate (in particular, in the transform used on file 'texi-vers.am'. * t/txinfo-builddir.sh: Adjust to avoid spurious failures. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 533186d2 2013-05-19T12:24:48 tests: fix a botched heading comment * t/parallel-tests-recheck-pr11791.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b8e9d8d0 2013-05-19T12:22:22 tests: fix another spurious with FreeBSD make * t/parallel-tests-recheck-pr11791.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 478740de 2013-05-19T00:09:30 tests: fix a spurious failure with FreeBSD make Failures due to known VPATH support issues in that make implementation (the same issues that have been causing the long-standing bug#7884). * t/lex-multiple.sh: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0cca184f 2013-05-18T15:23:20 Merge branch 'micro' into maint * micro: lisp: fix a failure with Solaris /usr/xpg4/bin/sh tests: sanitize 'unset' usages tests: fix some botched/outdated comments tests: use perl, not find+rm, to remove temporary directories Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 84e12c32 2013-05-17T13:45:44 tests: sanitize 'unset' usages In some shells (e.g., Solaris 10 /bin/ksh, or NetBSD 5.1 /bin/sh), "unset VAR" returns a non-zero exit status in case the VAR variable is already unset. This doesn't interact well with our usage of "set -e" in the testsuite. So far, we've avoided spurious failures by either explicitly ignoring the exit status from unset: unset VAR || : or explicitly ensuring that a variable is set, before trying to unset it: VAR=; unset VAR But we can do better, by aliasing the 'unset' command to a custom function that will take care of these details for us. This will avoid us annoying spurious failures in the future, failures that have already bitten us too much times. For an example, refer to commit 'v1.12.2-88-g5b1dae5' of 2012-08-05 (tests: avoid tons of spurious failures on NetBSD). * t/ax/test-lib.sh (_am_unset): New function. (unset): New alias to it. (_am_exit): Adjust comments. * t/ax/am-test-lib.sh: No need to temporary disable the 'errexit' shell flag when unsetting variables that are potentially already unset. (am_process_requirements): Adjust to remove a now-useless workaround related to unset. * t/aclocal-macrodir.tap: Likewise. * t/aclocal-macrodirs.tap: Likewise. * t/auxdir-autodetect.sh: Likewise. * t/ax/am-test-lib.sh: Likewise. * t/ax/test-lib.sh: Likewise. * t/check-tests-in-builddir.sh: Likewise. * t/dist-formats.tap: Likewise. * t/distcheck-configure-flags-am.sh: Likewise. * t/distcheck-configure-flags.sh: Likewise. * t/java-empty-classpath.sh: Likewise. * t/javaflags.sh: Likewise. * t/lflags.sh: Likewise. * t/lflags2.sh: Likewise. * t/lisp-flags.sh: Likewise. * t/lisp6.sh: Likewise. * t/missing-auxfile-stops-makefiles-creation.sh: Likewise. * t/parallel-am.sh: Likewise. * t/parallel-am2.sh: Likewise. * t/parallel-am3.sh: Likewise. * t/parallel-tests-log-override-recheck.sh: Likewise. * t/pkg-config-macros.sh: Likewise. * t/python-missing.sh: Likewise. * t/python-too-old.sh: Likewise. * t/python11.sh: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-report.sh: Likewise. * t/self-check-seq.tap: Likewise. * t/silent-configsite.sh: Likewise. * t/suffix6c.sh: Likewise. * t/tar-override.sh: Likewise. * t/tests-environment-and-log-compiler.sh: Likewise. * t/vala-configure.sh: Likewise. * t/werror3.sh: Likewise. * t/yflags-cmdline-override.sh: Likewise. * t/yflags.sh: Likewise. * t/yflags2.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 176d229b 2013-05-16T14:49:44 tests: fix some botched/outdated comments * t/ax/test-defs.in: Here. Also, fix a couple of grammaros while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 361430c0 2013-05-16T14:18:55 tests: use perl, not find+rm, to remove temporary directories The File::Path::rmtree function from perl, if used right, is more reliable and more portable of our past idiom: find $dirs -type d ! -perm -700 -exec chmod u+rwx {} ';'; rm -rf $$dirs || exit 1 at least of the face of unreadable dirs/files and other similar permission issues (and we have those in our test directories). In fact, this change fixes some spurious failures seen in "make distcheck" on Solaris 10. * t/ax/deltree.pl: New. * Makefile.am (EXTRA_DIST): Add it. (clean-local-check): Use it. * t/ax/test-lib.sh (rm_rf_): Use it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9c468420 2013-05-16T13:36:49 tests: remove remaining exec bits ('maint' branch) The executable bit gives the impression that the tests are directly runnable, as with "./t/foo.sh", but it has been a while since that was the case. Today, tests are runnable only through "make check" or "./runtest". This change is for the 'maint' branch (automake 1.13a), and is a follow-up to commit 'v1.13.2-3-g74017b5', done on the 'micro' branch (automake 1.13.2a). It will soon be followed by a similar patch for the 'master' branch (automake 1.99a). * t/am-prog-cc-c-o.sh: Remove executable bit. * t/ccnoco4.sh: Likewise. * t/dist-shar.sh: Likewise. * t/dist-tarZ.sh: Likewise. * t/lex-multiple.sh: Likewise. * t/preproc-basics.sh: Likewise. * t/preproc-c-compile.sh: Likewise. * t/preproc-demo.sh: Likewise. * t/preproc-errmsg.sh: Likewise. * t/rm-f-probe.sh: Likewise. * t/self-check-cc-no-c-o.sh: Likewise. * t/txinfo-builddir.sh: Likewise. * t/txinfo-nodist-info.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6aaa128d 2013-05-16T13:35:45 Merge branch 'micro' into maint * micro: tests: remove exec bit from all of them ('micro' branch) maint: tests no longer need to have executable bit set
Stefano Lattarini 74017b56 2013-05-16T12:18:43 tests: remove exec bit from all of them ('micro' branch) It gives the impression that they are directly runnable, as with "./t/foo.sh", but it has been a while since that was the case. Today, tests are runnable only through "make check" or "./runtest". This change is for the 'micro' branch (automake 1.13.2a). It will soon be followed by similar patches for the 'maint' branch (automake 1.13a) and the 'master' branch (automake 1.99a). * t/*.sh, t/*.tap: Remove executable bit. * maint.mk (sc_tests_executable): Remove. (syntax_check_rules): Adjust. * gen-testsuite-part: Set permissions of generated tests to '444' (-r--r--r--), rather than 555 (-r-xr-xr-x). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 48fc2d83 2013-05-16T12:13:32 maint: tests no longer need to have executable bit set It has been a while since they are runnable only through "make check" or "./runtest", and not directly. * HACKING: Adjust. * t/README: Likewise, and updated the surrounding text to get rid of obsolete statements and advices. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 52a76013 2013-05-15T22:54:15 Merge branch 'micro' into maint * micro: post-release: micro version bump (1.13.2a) release: stable micro release 1.13.2 vala tests: skip in a cross compiler setup HACKING: miscellaneous fixes, updates and enhancements NEWS: minor improvements to wording (about new versioning scheme) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 4348577b 2013-05-15T22:05:21 vala tests: skip in a cross compiler setup The "vala + pkg-config" doesn't interact well with cross-compilation: <https://mail.gnome.org/archives/vala-list/2012-September/msg00094.html> That is causing annoying failures in our testsuite when it's run in cross-compilation mode. It's not worth trying too be overly smart and work around these problems; just skip the affected tests instead. * t/ax/am-test-lib.sh (require_tool): A new requirement 'valac', telling that the test needs to compile Vala-generated C files. In particular, this causes the test to be skipped when using a cross-compiler. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7810a65d 2013-05-14T15:50:12 tests: less uses of "make -e"; avoid spurious failures in 'check-cc-no-c-o' That is, when the testsuite is run using a fake C compiler that doesn't grasp the '-c' and '-o' options together. * t/instdir-prog.sh: Adjust. * t/instdir-ltlib.sh: Likewise. * t/python-virtualenv.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c6b827b2 2013-05-14T14:18:00 build: be more respectful of user-specified verbosity * t/Makefile.in (check-cc-no-c-o, check-no-trailing-backslash-in-recipes, installcheck-testsuite, perf): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cce6192b 2013-05-14T13:40:48 check-cc-no-c-o: unify initializations in a single place * t/ax/test-defs.in: That is, by setting CC and GNU_CC here, in accord with the value of the variable 'AM_TESTSUITE_SIMULATING_NO_CC_C_O'. * t/Makefile.in (check-cc-no-c-o) : No need to reset CC and GNU_CC any longer in the recursive "make check" invocation. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6653939c 2013-05-14T13:17:50 check-cc-no-c-o: avoid a spurious failure * t/am-prog-cc-c-o.sh: In this test, by relying on the knowledge that we are running under the aegis of the 'check-cc-no-c-o' maintainer-specific target, knowledge given us by ... * t/Makefile.in (check-cc-no-c-o) : ... the new environment variable 'AM_TESTSUITE_SIMULATING_NO_CC_C_O', set to a value of "yes" by this rule. * t/ax/test-defs.in: Initialize the new variable to "no" by default, and add an explanatory comment. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 32eb770b 2013-05-11T11:03:41 compile: avoid AC_PROG_CC messy rewrite Instead, add an hook to AC_OUTPUT to have AM_PROG_CC_C_O invoked automatically. See also the long-winded discussion about automake bug#13378. * m4/minuso.m4 (AM_PROG_CC_C_O): Bring back the old implementation, from commit v1.13.1-55-g1ab8fb6. * m4/init.m4 (AC_PROG_CC): Remove this horrible, hacky re-write. * (AM_INIT_AUTOMAKE): Arrange for AM_PROG_CC_C_O to be called if necessary. * t/am-prog-cc-c-o.sh: Adjust to avoid spurious failure. * t/subobj.sh: Likewise. Suggested-by: Nick Bowler <nbowler@elliptictech.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 780299d9 2013-05-10T19:22:06 dist: deprecated shar and tar+compress formats See also discussion about automake wishlist bug#13324. * lib/Automake/Options.pm: Give proper warnings in the 'obsolete' category if the 'dist-shar' or 'dist-tarZ' options are used. * lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are invoked, make them give a non-fatal warning. * doc/automake.texi: Report the new deprecations. * t/dist-shar.sh: New test. * t/dist-tarZ.sh: Likewise. * t/lzma.sh: While at it, rename ... * t/dist-lzma.sh: ... like this, and tweak it to keep more in sync with the new tests. * t/dist-formats.tap: Remove references to deprecated formats. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0736c67c 2013-05-10T13:31:59 Merge branch 'dog-feeding' into maint * dog-feeding: build: move automake and aclocal in 'bin' subdir build: break up monolithic Makefile.am in subdir-specific fragments
Stefano Lattarini 1021f5cf 2013-05-09T20:13:19 maint: re-run "make update-copyright" ... * t/lex-multiple.sh: ... which updates the copyright years of this test (they were somehow not bumped in the past). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 56070294 2013-05-09T19:50:38 tests: avoid spurious failure with older flex (2.5.4) That old version is unfortunately still relevant, being the one installed on NetBSD 5.1. * t/lex-multiple.sh: Use the '-o' option rather than the longer equivalent '--outfile'. The latter is not supported by older versions of flex (e.g., flex 2.5.4). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ce70cf4b 2013-05-09T11:57:20 build: move automake and aclocal in 'bin' subdir * automake.in: Rename ... * bin/automake.in: ... like this. * aclocal.in: Rename ... * bin/aclocal.in: ... like this. * Makefile.am: Move parts that dealt with the building/distribution of aclocal and Automake .. * bin/Makefile.inc): ... in this new included fragment. Adjust as needed, and make deliberate use of the '%D%' substitution. * lib/gen-perl-protos: Move ... * bin/gen-perl-protos: ... here. * bootstrap.sh, configure.ac, maintainer/rename-tests, t/wrap/aclocal.in, t/wrap/automake.in, doc/Makefile.inc, t/ax/tap-setup.sh, .gitignore: Adjust. * maintainer/syntax-checks.mk: Likewise, and enhance a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>