From: Stefano Lattarini Date: Thu, 16 Jun 2011 15:04:25 +0000 (+0200) Subject: Merge branch 'master' into testsuite-work X-Git-Tag: v1.11b~257^2~183 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0e3576c2896b5611ca612b51ee182692622058e1;p=platform%2Fupstream%2Fautomake.git Merge branch 'master' into testsuite-work * master: tests: check portable fd redirection in TESTS_ENVIRONMENT news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS tests: optimize tests on primary/prefix mismatch for speed Warnings about primary/prefix mismatch fixed and extended. maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS docs: better documentation for silent make rules --- 0e3576c2896b5611ca612b51ee182692622058e1 diff --cc ChangeLog index 399e855,e468ef3..1b87a76 --- a/ChangeLog +++ b/ChangeLog @@@ -1,150 -1,98 +1,245 @@@ + 2011-06-13 Stefano Lattarini + + tests: optimize tests on primary/prefix mismatch for speed + * tests/primary-prefix-invalid-couples.test: Partial rewrite, in + order to use just a single automake invocation rather than one + invocation for each invalid primary/prefix couple. This improves + the test script execution time by an order of magnitude. + Since we are at it, throw in some other improvements to avoid + unrelated automake warnings and failures that could potentially + cause false positives w.r.t. the automake exit status. + + 2011-06-13 Stefano Lattarini + + news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS + * NEWS (Miscellaneous changes): Update. + + 2011-06-10 Stefano Lattarini + + maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline + * Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now + acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS + on the make command line. Update comments accordingly. Since we + are at it, make the relevant grepping rules slightly tighter. + + 2011-06-10 Stefano Lattarini + + distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS + * doc/automake.texi (Checking the Distribution): Suggest to use + AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to + define (in the top-level Makefile.am) extra flags to be passed + to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS + should be reserved for the user. Add proper `@vindex' directive. + Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a + subpackage Makefile.am, but the flags in it are passed down to + the configure script of the subpackage. + * lib/am/distdir.am (distcheck): Also pass the flags in + $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation. + Update comments. + * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS, + DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in + the environment, they might improperly influence our testsuite. + * tests/distcheck-configure-flags.test: New test. + * tests/distcheck-configure-flags-am.test: Likewise. + * tests/distcheck-configure-flags-subpkg.test: Likewise. + * distcheck-hook.test: Likewise. + * distcheck-hook2.test: Likewise. + * tests/Makefile.am (TESTS): Update. + Closes automake bug#8784. + + 2010-06-09 Stefano Lattarini + + docs: better documentation for silent make rules + * doc/automake.texi (Options): Detailed description of the + automake option `silent-rules' moved from here ... + (Silent Make): ... into this new chapter, expanded, improved, + and subdivided into ... + (Make verbosity, Tricks For Silencing Make, + Automake silent-rules Option): ... these new sections. + (@menu, @detailmenu): Update. + * tests/silent-configsite.test: New test, checking that the + user can control default mode of silent-rules from config.site, + as is documented in the manual. + * tests/Makefile.am (TESTS): Updated. + + 2011-06-11 Stefano Lattarini + + Warnings about primary/prefix mismatch fixed and extended. + * automake.in (%standard_prefix): Add `doc' and `locale'. + Rename `pkgdatadir' to `pkgdata'. Similarly for`pkglibdir', + `pkgincludedir' and `pkglibexecdir'. + (handle_programs): List `pkglibexec', not `pkglib', among the + prefixes valid for the `PROGRAMS' primary. + (handle_data): List also `doc' among the prefixes valid for + the `DATA' primary. This is required by automake's own build + system. + * tests/dirforbid.test: Test removed, superseded by ... + * tests/primary-prefix-invalid-couples.test: ... this new test. + * tests/primary-prefix-valid-couples.test: New test. + * tests/primary-prefix-couples-documented-valid.test: Likewise. + * tests/primary-prefix-couples-force-valid.test: Likewise. + * tests/java3.test: Adjusted, and extended a bit. + * tests/Makefile.am (TESTS): Updated. + * NEWS: Updated. + From a report by Eric Blake. + + 2011-06-14 Stefano Lattarini + + tests: check portable fd redirection in TESTS_ENVIRONMENT + * tests/tests-environment-fd-redirect.test: New test. + * tests/Makefile.am (TESTS): Update. + Motivated by coreutils bug#8846: + + See also following CC:ed thread on bug-autoconf list: + + +2011-06-16 Stefano Lattarini + + tests: make test 'self-check-reexec.test' more portable + * tests/self-check-reexec.test: Rewrite not to require a Korn + Shell able to grok variable expansions such as `${.sh.version}'; + Solaris 10 /bin/ksh fails on this for example. Instead, just + require bash and a shell that is not bash. + +2011-06-14 Stefano Lattarini + Jim Meyering + + test defs: fix ksh-related portability bug in warning messages + Running "make check" normally prints a diagnostic to the outermost + stderr (usually a tty) to explain why a test is skipped, thus + giving better and faster feedback to the user. It used to do + so by redirecting file descriptor 9 to stderr (via "exec 9>&2") + before invoking the test scripts, which then would write any skip + explanation to file descriptor 9 via the `skip_' function defined + in `tests/defs'. + However, various Korn Shells (at least Solaris 10's /bin/ksh and + Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open + file descriptors > 2 upon an `exec' system call; thus the effects + of "exec 9>&2" are cancelled upon fork-and-exec, so we would get + a "Bad file number" diagnostic and no skip explanation with those + shells. + The present change remedies this situation. + * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably, + via a trailing "9>&2", rather than the prior "exec 9>&2; ...". Add + explanatory comments. + * tests/defs (stderr_fileno_): Update the advice in comments. + Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and + ksh-derived shells" in GNU coreutils. + Further references, with lots of discussion: + + + + +2011-06-13 Stefano Lattarini + + tests: remove 'test_prefer_config_shell' from the environment + Since commit `v1.11-910-g7df1a9b', the once user-overridable + variable `$test_prefer_config_shell' has become an internal + detail, and the test scripts now complain and bail out if it is + set in the environment. + * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable + `test_prefer_config_shell' if it is set in the environment. + +2011-06-13 Stefano Lattarini + + tests: autogenerate list of wrapped tests for `lib/' shell scripts + * tests/gen-config-shell-tests: New script, generates distributed + makefile snippet `tests/config-shell-tests.am' to list all tests + that use the `get_shell_script' function, with names mangled to + use suffix `-w.shtst', in ... + * tests/Makefile.am (config_shell_tests): ... this macro, whose + definition has been consequently removed from Makefile.am. + (EXTRA_DIST): Distribute the new script. + ($(srcdir)/config-shell-tests.am): Generate using the new script. + (include): Include the `config-shell-tests.am' fragment. + * bootstrap: Invoke `tests/gen-config-shell-tests' to generate + `tests/config-shell-tests.am'. + * tests/.gitignore: Ignore `config-shell-tests.am'. + * tests/gen-parallel-tests: Fixlet in heading comments. + +2011-06-13 Stefano Lattarini + + tests: test mdate-sh with /bin/sh too + * tests/mdate5.test: Fetch the `mdate-sh' script using the + `get_shell_script' function, and run it directly instead of + using `$SHELL'. + * tests/mdate6.test: Likewise. Since we are at it, make checks + on the `mdate-sh' output stricter, remove now unneeded calls to + aclocal and automake and creation/extension of `configure.in', + `Makefile.am' and `textutils.tex' files, and add a trailing `:' + command. + * tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst' + and `mdate6-w.shtst'. + +2011-06-13 Stefano Lattarini + + tests: extend tests on `--add-missing' and `--copy' a bit + * tests/add-missing.test: Fix typo in heading comments. Try with + another testcase that install many (but not all) the auxiliary + scripts at once, and uses non-standard (but valid and documented) + setups (e.g., defining YACC in Makefile.am instead of calling + AC_PROG_YACC from configure.in). + * tests/copy.test: Reference `add-missing.test' in heading + comments. Try few more test scenarios. + +2011-06-16 Stefano Lattarini + + tests: few fixlets and improvements + * tests/cond31.test ($required): Remove `cc', it's not really + needed. + * tests/confh.test: Call autoheader too. The lack of this call + wasn't causing spurious failures because the automatic remake + rules were somehow invoking it on our behalf (at make time). + * tests/fn99subdir.test: Use $subdirname throughout, instead of + ${subdirname}, for consistency with the rest of the testsuite. + Avoid an unnecessary subshell, which could also cause spurious + passes, being guarded by a trailing `|| Exit 1', which neutralize + the `errexit' flag. Remove an unnecessary `|| Exit 1' guard. + * tests/insh2.test: Rewrite to avoid hackish Makefile.in munging, + and to also run configure and make. + +2011-06-13 Stefano Lattarini + + tests: don't hard-code test name in txinfo21.test + * tests/txinfo21.test: Use `$me' instead of hard-coding the + current testcase name "txinfo21". Add a trailing `:' command + since we are at it. + +2011-06-10 Stefano Lattarini + + tests: new test dedicated to `--add-missing' and `--copy' + * tests/add-missing.test: New test. + * tests/Makefile.am (TESTS): Update. + Suggested by Peter Rosin. + +2011-06-08 Stefano Lattarini + + testsuite: use 'fatal_' and 'framework_failure_' for hard errors + * tests/defs (require_xsi): Use `fatal_', not `framework_failure', + to report an invalid usage. + * tests/remake-gnulib-remove-header.test: Prefer using `fatal_' + with a proper error message over a direct call to `Exit 99'. + * tests/pr8365-remake-timing.test: Likewise. + * tests/cygnus-imply-foreign.test: Likewise. + * tests/missing6.test: Likewise. + * tests/cond8.test: Likewise. + * tests/cond33.test: Likewise. + * tests/python-virtualenv.test: Prefer using `framework_failure_' + with a proper error message over a direct call to `Exit 99'. + * tests/instspc-tests.sh: Prefer using `framework_failure_' and + `fatal_' over direct calls to `Exit 99'. + (fatal_): Define this (which is a simplified version of the one + in `tests/defs') for early uses (i.e., before `tests/defs' + gets sourced). + * tests/depmode-tests.sh: Likewise. Also, simplify the + 'get_depmodes' function and calls to it accordingly. + +2011-06-08 Stefano Lattarini + + self tests: check new 'fatal_' function + * tests/self-check-exit.test: Also check the new 'fatal_' + function. + 2011-06-08 Stefano Lattarini test defs: new function 'fatal_', for hard errors diff --cc tests/Makefile.am index eacee84,9e93fab..2091923 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@@ -811,8 -772,11 +815,12 @@@ prefix.test primary.test \ primary2.test \ primary3.test \ + primary-prefix-invalid-couples.test \ + primary-prefix-valid-couples.test \ + primary-prefix-couples-force-valid.test \ + primary-prefix-couples-documented-valid.test \ proginst.test \ +programs-primary-rewritten.test \ python.test \ python2.test \ python3.test \ diff --cc tests/Makefile.in index 54c917f,e97fa38..cb69125 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@@ -1093,8 -1039,11 +1097,12 @@@ prefix.test primary.test \ primary2.test \ primary3.test \ + primary-prefix-invalid-couples.test \ + primary-prefix-valid-couples.test \ + primary-prefix-couples-force-valid.test \ + primary-prefix-couples-documented-valid.test \ proginst.test \ +programs-primary-rewritten.test \ python.test \ python2.test \ python3.test \