From: Stefano Lattarini Date: Tue, 6 Sep 2011 09:02:38 +0000 (+0200) Subject: Merge branch 'master' into test-protocols X-Git-Tag: ng-0.5a~89^2~80^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=371bdf6bf8b61c3b78c8915068b5b806ec2b62cf;p=thirdparty%2Fautomake.git Merge branch 'master' into test-protocols * master: * tests/amhello-binpkg.test: Add missing $EXEEXT usage. fix: list test 'vala-vpath.test' in XFAIL_TESTS tests: simplify wrapper for aclocal fix: minor typo in ChangeLog automake: fix regression due to de-ansification support removal coverage: vala support failing for VPATH from-scratch builds docs: report few more automake parsing limitations automake: cleanups after de-ansification support removal (2) automake: cleanups after de-ansification support removal (1) ansi: remove obsolete code/files for de-ANSI-fication support ansi: reject attempts to use automatic de-ANSI-fication support tests: remove tests about obsolete de-ANSI-fication support docs: remove description of de-ANSI-fication support from manual --- 371bdf6bf8b61c3b78c8915068b5b806ec2b62cf diff --cc ChangeLog index 9ff342733,5b9f6e969..480e64a54 --- a/ChangeLog +++ b/ChangeLog @@@ -1,38 -1,147 +1,182 @@@ + 2011-09-05 Peter Rosin + + * tests/amhello-binpkg.test: Add missing $EXEEXT usage. + + 2011-09-04 Stefano Lattarini + + fix: list test 'vala-vpath.test' in XFAIL_TESTS + * tests/Makefile.am (XFAIL_TESTS): Update. + + 2011-09-02 Stefano Lattarini + + tests: simplify wrapper for aclocal + * tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and + extra `-I' flags; they are not really required, since the file + `m4/amversion.m4' is generated in the srcdir anyway. + * tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS. + * tests/acloca18.test: Likewise. + * tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do + not export it. + + 2011-09-01 Stefano Lattarini + + automake: fix regression due to de-ansification support removal + The last change `v1.11-947-g136b489' removed code that automake + was using to decide whether binary objects were built by the + generated Makefile.in, so that it could avoid to emit unneeded + code when this was not the case. Re-introduce such code in a + less-obfuscated form, and add a test to ensure we don't regress + again. + * automake.in ($must_handle_compiled_objects): New global + variable, telling whether the generated Makefile has to build + compiled objects. + (initialize_per_input): Reset it. + (handle_programs, handle_libraries, handle_ltlibraries): Set + it to a true value when required. + (handle_compile): Don't generate any code if the variable + `$must_handle_compiled_objects' is not set to a true value. + * tests/no-extra-makefile-code.test: New test. + * tests/Makefile.am (TESTS): Add it. + + 2011-08-28 Stefano Lattarini + + automake: cleanups after de-ansification support removal (2) + * automake.in ($get_object_extension_was_run): Remove, it's not + really needed anymore. + (&get_object_extension): Remove, it's a no-op now. + All callers adjusted. + + 2011-08-28 Stefano Lattarini + + automake: cleanups after de-ansification support removal (1) + * automake.in (lang_c_rewrite, handle_single_transform): Rename + variable `$nonansi_obj' to `$obj'. + + 2011-08-28 Stefano Lattarini + + ansi: remove obsolete code/files for de-ANSI-fication support + * lib/ansi2knr.1, lib/ansi2knr.c: Deleted. + * lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore. + * lib/am/ansi2knr.am: Delete. + * lib/am/Makefile.am (dist_am_DATA): Do not list it anymore. + * lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for + `ANSI2KNR' and `U'. + * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore + about possible definition of the `$U' variable. + * automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'. + (struct): Remove scalar field `ansi'. + All callers adjusted. + (&lang_c_finish, %de_ansi_files): Remove, they're not required + anymore. + All callers adjusted. + ($get_object_extension_was_run): Fix typo in comment. + (&get_object_extension): Drop code dealing with de-ansification; + this function basically a no-op now, but is required to properly + initialize `$get_object_extension_was_run' variable. + (&handle_languages, &handle_compile, &lang_c_rewrite): Drop code + dealing with de-ansification. + + 2011-08-28 Stefano Lattarini + + ansi: reject attempts to use automatic de-ANSI-fication support + * tests/protos.m4 (AM_C_PROTOTYPES): Error out whenever called. + * lib/Automake/Options.pm (_process_option_list ): Error out + with a proper error message when the `ansi2knr' option is used. + Related updates to comments. + * tests/depacl2.test: Update. + * tests/ansi2knr-no-more.test: New test. + * tests/Makefile.am (TESTS): Add it. + * NEWS: Update. + + 2011-08-28 Stefano Lattarini + + tests: remove tests about obsolete de-ANSI-fication support + * tests/ansi.test: Delete. + * tests/ansi10.test: Likewise. + * tests/ansi2.test: Likewise. + * tests/ansi2knr-deprecation.test: Likewise. + * tests/ansi3.test: Likewise. + * tests/ansi3b.test: Likewise. + * tests/ansi4.test: Likewise. + * tests/ansi5.test: Likewise. + * tests/ansi6.test: Likewise. + * tests/ansi7.test: Likewise. + * tests/ansi8.test: Likewise. + * tests/ansi9.test: Likewise. + * tests/cxxansi.test: Likewise. + * tests/libobj8.test: Likewise. + * tests/subobj3.test: Likewise. + * tests/Makefile.am (TESTS): Update. + + 2011-08-28 Stefano Lattarini + + docs: remove description of de-ANSI-fication support from manual + * doc/automake.texi (Auxiliary Programs): Remove mention of + `ansi2knr.c' and `ansi2knr.1'. + (Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'. Do not + index it nor variables `ANSI2KNR' and `U' anymore. + (List of Automake options): Remove mention of `ansi2knr' option, + and obsolete entries for concept and option indexes. + (Optional): Remove entry about `AM_C_PROTOTYPES'. + (@c LocalWords): Remove `ansi' and `knr'. + (@menu, @detailmenu): Remove entries about de-ANSI-fication + support. + + 2011-09-02 Stefano Lattarini + + coverage: vala support failing for VPATH from-scratch builds + * tests/vala-vpath.test: New test, xfailing. + * tests/Makefile.am (TESTS): Update. + * THANKS: Update. + From a report by Zbigniew Jędrzejewski-Szmek. + Related to automake bug#8753. + + 2011-09-01 Stefano Lattarini + + docs: report few more automake parsing limitations + Partly motivated by automake bug#8360. + * doc/automake.texi (General Operation): Report few more automake + limitations w.r.t. parsing of unusual makefile constructs. Related + minor reorderings. + * tests/doc-parsing-buglets-colneq-subst.test: New test. + * tests/doc-parsing-buglets-tabs.test: Likewise. + * tests/Makefile.am (TESTS): Update. + +2011-08-29 Stefano Lattarini + + tests: prefer AM_... variables to user-reserved ones in Makefile + * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Renamed ... + (AM_TAP_LOG_DRIVER_FLAGS): ... to this. + +2011-08-29 Stefano Lattarini + + tests: some minor fixlets w.r.t. TAP-based tests + The variable that is used by our test scripts to decide whether + they are "plain" or TAP-based is `using_tap'; however, some + peripheral sanity checks and sanitization code in our testsuite + were erroneously using the `use_tap' variable instead. Fix that. + * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Nullify `using_tap', + not `use_tap'. + * tests/defs-static.in: Check that `using_tap', not `use_tap', + is not exported. + * tests/self-check-env-sanitize.test: Update. + +2011-08-29 Stefano Lattarini + + tests: avoid re-running a test with the 'parallel-tests' option + * tests/backcompat5.test (parallel_tests): Define to "no", to + prevent the generation of a sibling test script that uses the + 'parallel-tests' driver. That would be useless anyway, since + we manually override the contents of configure.in, thus clobbering + the `parallel-tests' option in AM_INIT_AUTOMAKE. + Fix a typo in comments since we are at it. + +2011-08-29 Stefano Lattarini + + tests: defaults to awk+shell driver in tests on TAP support + * tests/defs ($am_tap_implementation): Default to "shell", not + to "perl". + 2011-08-25 Stefano Lattarini tests: list "forgotten" test script in TESTS diff --cc NEWS index f316bb06d,9e391c970..b16a3235e --- a/NEWS +++ b/NEWS @@@ -11,83 -11,6 +11,78 @@@ New in 1.11a - New `cscope' target to build a cscope database for the source tree. +* Changes to Automake-generated testsuite harnesses: + + - Test scripts that exit with status 99 to signal an "hard error" (e.g., + and unexpected or internal error, or a failure to set up the test case + scenario) have their outcome reported as an 'ERROR' now. Previous + versions of automake reported such an outcome as a 'FAIL' (the only + difference with normal failures being that hard errors were counted + as failures even when the test originating them was listed in + XFAIL_TESTS). + + - The testsuite summary displayed by the parallel-test harness has a + completely new format, that always list the numbers of passed, failed, + xfailed, xpassed, skipped and errored tests, even when these numbers + are zero (but using smart coloring when the color-tests option is in + effect). + + - The default testsuite driver offered by the 'parallel-tests' option is + now implemented (partly at least) with the help of automake-provided + auxiliary scripts (e.g., `test-driver'), instead of relying entirely + on code in the generated Makefile.in. + This has two noteworthy implications. The first one is that projects + using the `parallel-tests' option should now either run automake with + the `--add-missing' option, or manually copy the `test-driver' script + into their tree. The second, and more important, implication is that + now, when the `parallel-tests' option is in use, TESTS_ENVIRONMENT can + not be used anymore to define a test runner, and the command specified + in LOG_COMPILER (and _LOG_COMPILER) must be a *real* executable + program or script. For example, this is still a valid usage (albeit + a little contorted): + + TESTS_ENVIRONMENT = \ + if test -n '$(STRICT_TESTS)'; then \ + maybe_errexit='-e'; \ + else \ + maybe_errexit=''; \ + fi; + LOG_COMPILER = $(SHELL) $$maybe_errexit + + while this is not anymore: + + TESTS_ENVIRONMENT = \ + $(SHELL) `test -n '$(STRICT_TESTS_CHECKING)' && echo ' -e'` + + neither is this: + + TESTS_ENVIRONMENT = \ + run_with_perl_or_shell () \ + { \ + if grep -q '^#!.*perl' $$1; then + $(PERL) $$1; \ + else \ + $(SHELL) $$1; \ + fi; \ + } + LOG_COMPILER = run_with_per_or_shell + + - The package authors can now use customary testsuite drivers within + the framework provided by the 'parallel-tests' testsuite harness. + Consistently with the existing syntax, this can be done by defining + special makefile variables `LOG_DRIVER' and `_LOG_DRIVER'. + + - A new developer-reserved variable `AM_TESTS_FD_REDIRECT' can be used + to redirect/define file descriptors used by the test scripts. + + - The parallel-tests harness generates now, in addition the `.log' files + holding the output produced by the test scripts, a new set of `.trs' + files, holding "metadata" derived by the execution of the test scripts; + among such metadata are the outcomes of the test cases run by a script. + + - Initial and still experimental support for the TAP test protocol is + now provided. + - * WARNING: Future backward-incompatibilities! - - - The Automake support for automatic de-ANSI-fication will be removed in - the next major Automake release (1.12). - * Miscellaneous changes: - The `dist' and `dist-all' targets now can run compressors in parallel. diff --cc lib/Makefile.in index 93b693ac8,54de12653..542c287f1 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@@ -236,28 -236,11 +236,26 @@@ top_build_prefix = @top_build_prefix top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = Automake am - dist_pkgvdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1 \ - config-ml.in - + dist_pkgvdata_DATA = COPYING INSTALL texinfo.tex config-ml.in scriptdir = $(pkgvdatadir) -dist_script_DATA = config.guess config.sub install-sh mdate-sh missing \ - mkinstalldirs elisp-comp ylwrap acinstall depcomp compile py-compile \ - symlink-tree ar-lib +dist_script_DATA = \ + config.guess \ + config.sub \ + install-sh \ + mdate-sh \ + missing \ + mkinstalldirs \ + elisp-comp \ + ylwrap \ + acinstall \ + depcomp \ + compile \ + py-compile \ + symlink-tree \ + ar-lib \ + test-driver \ + tap-driver.sh \ + tap-driver.pl EXTRA_DIST = gnupload all: all-recursive diff --cc tests/Makefile.in index faad2ae2a,d08323ea7..55355cc40 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@@ -278,26 -293,21 +278,26 @@@ target_alias = @target_alias top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ +TEST_EXTENSIONS = .test .tap +TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/lib/tap-driver.sh +AM_TAP_LOG_DRIVER_FLAGS = --merge MAINTAINERCLEANFILES = $(parallel_tests) $(instspc_tests) EXTRA_DIST = ChangeLog-old gen-parallel-tests instspc-tests.sh \ - $(TESTS) + $(TESTS) tap-functions.sh plain-functions.sh \ + trivial-test-driver testsuite-summary-checks.sh \ + extract-testsuite-summary tap-setup.sh tap-summary-aux.sh XFAIL_TESTS = all.test auxdir2.test cond17.test gcj6.test \ override-conditional-2.test pr8365-remake-timing.test \ - yacc-dist-nobuild-subdir.test txinfo5.test \ + yacc-dist-nobuild-subdir.test vala-vpath.test txinfo5.test \ $(instspc_xfail_tests) -parallel_tests = backcompat5-p.test check-concurrency-bug9245-p.test \ - check-exported-srcdir-p.test check-tests-in-builddir-p.test \ - check-tests_environment-p.test check-p.test check10-p.test \ - check11-p.test check12-p.test check2-p.test check3-p.test \ - check4-p.test check5-p.test check6-p.test check7-p.test \ - check8-p.test check9-p.test color-p.test color2-p.test \ - comment9-p.test dejagnu-p.test exeext4-p.test maken3-p.test \ - maken4-p.test posixsubst-tests-p.test +parallel_tests = check-concurrency-bug9245-p.test \ + check-exported-srcdir-p.test check-fd-redirect-p.test \ + check-tests-in-builddir-p.test check-p.test check11-p.test \ + check12-p.test check2-p.test check3-p.test check4-p.test \ + check5-p.test check6-p.test check7-p.test check8-p.test \ + check9-p.test color-p.test color2-p.test comment9-p.test \ + dejagnu-p.test exeext4-p.test maken3-p.test maken4-p.test \ + posixsubst-tests-p.test tests-environment-p.test instspc_tests = instspc-squote-build.test instspc-squote-install.test \ instspc-dquote-build.test instspc-dquote-install.test \ instspc-bquote-build.test instspc-bquote-install.test \