t


Log

Author Commit Date CI Message
Frédéric Bérat 6c10512c 2023-08-28T06:11:39 tests: avoid implicit function declaration in t/depcomp.sh. This patch is from https://bugs.gnu.org/60962. * t/ax/depcomp.sh: save and restore sub/subfoo.h, so its declaration will be seen, as required by C99. * THANKS: add Frédéric.
Jan Engelhardt 56766ede 2023-08-09T18:07:00 automake: portability warning for dollar-escaped dollar signs. This bug and fix was posted at https://lists.gnu.org/archive/html/automake/2023-08/msg00003.html. * lib/Automake/Variable.pm (scan_variable_expansions): rewrite scan_variable_expansions regex to handle dollar-escaped dollar signs. * t/dollarvar2.sh: test it.
Bruno Haible dbdfa65c 2023-07-20T18:03:27 automake: disable GNU make's internal pattern rules, for speed. From https://bugs.gnu.org/64743. * lib/am/footer.am: Disable GNU make's internal pattern rules. * lib/Automake/Rule.pm (_conditionals_for_rule): Add special handling for these pattern rules from footer.am. (define): Likewise. * t/nodep.sh: Update test to avoid matching the new %:: rules. * t/fnoc.sh: Update test to avoid matching the new %:: SCCS rule. * NEWS: Mention this. * doc/automake.texi (Suffixes): Likewise. (Doc changes written by Karl.)
Bogdan 5c85a9d3 2023-07-13T15:32:34 texi: assume .texi.in generates .texi. This change refines the fix for https://bugs.gnu.org/54063. * bin/automake.in (scan_texinfo_file): if .texi doesn't exist, but .texi.in exists, read the latter for the Texinfo source. Use the @setfilename argument, if present, to generate rules. * t/txinfo-no-texi-but-texi-in.sh: new test. * t/list-of-tests.mk (handwritten_tests): add it. * doc/automake.texi (Texinfo): document this. * NEWS: mention this. (Doc changes written by Karl.)
Bogdan 65ad31d8 2023-07-09T09:57:15 tests: avoid some SunOS declaration conflicts. This change: finishes fixing https://bugs.gnu.org/34151 and https://bugs.gnu.org/30612 and https://bugs.gnu.org/42393; fixes https://bugs.gnu.org/44795 and https://bugs.gnu.org/49755; partially fixes https://bugs.gnu.org/45205 and https://bugs.gnu.org/55073. Still open: https://bugs.gnu.org/15256; * t/lex-clean-cxx.sh: test __cplusplus, __sun, and __EXTERN_C__ before using extern "C" for the yylex decl, as explained at https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45205#13. * t/lex-depend-cxx.sh: likewise. * t/yacc-cxx.sh: "using" std::exit, std::free, std::malloc. * t/yacc-d-cxx.sh: likewise. * t/yacc-mix-c-cxx.sh: likewise. * NEWS: mention this.
Bogdan c5f08e89 2023-07-06T18:27:36 python: generalize tests. This change finishes fixing https://bugs.gnu.org/30556. * t/python-prefix.sh: use $PYTHON if set, not hardwiring "python". * t/python-virtualenv.sh (get-pyexecdir): new make target; use it instead of hardwiring $py_site.
Bogdan ab347652 2023-07-05T08:59:29 python: support noinst_PYTHON preceding foo_PYTHON. This change fixes https://bugs.gnu.org/24507. * lib/am/python.am (am__pep3147_tweak): remove conditional on %?INSTALL%. * t/python-pr10995.sh: test with make uninstall.
Bogdan 4bd4640e 2023-07-01T08:34:55 automake: do not warn that POSIX variables are non-POSIX. This change fixes https://bugs.gnu.org/9587. * lib/Automake/Variable.pm (_VARIABLE_PATTERN_EXTRA_POSIX): new variable for $(*D) and the like. (_VARIABLE_PATTERN): use it. * t/vars3.sh: update test. * NEWS: mention this. POSIX spec (currently): https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
Karl Berry d4da6e96 2023-06-23T17:51:43 test: avoid sometime-race condition for dist-no-built-sources test. * t/dist-no-built-sources.sh: rm the dist .tar.gz and .tar generated after inspecting, to avoid it being considered up to date on the second time through the loop.
Paul Eggert 844c71e5 2023-03-29T18:05:25 do not assume GNU tar in test * t/dist-no-built-sources.sh: Don’t assume GNU Tar’s ability of decompressing tarballs. Solaris 10 ‘tar’ doesn’t do that.
Jacob Bachmeyer 794464f0 2023-02-08T23:30:00 Remove parentheses around test argument lists This works around a parser bug in Perl 5.6.2. * t/pm/General.pl: Remove parentheses on argument lists. Copyright-paperwork-exempt: yes
Jacob Bachmeyer 62b3ff7b 2023-02-08T23:07:26 Improve test for blocked signals This fixes ERRORs reported by: * t/parallel-tests-interrupt.tap * t/self-check-exit.tap * t/self-check-is-blocked-signal.tap * t/tap-signal.tap * t/ax/am-test-lib.sh (is_blocked_signal): Revise Perl code to more closely follow documented interfaces where available. This also works around bugs and limitations of the POSIX module in Perl 5.6. Copyright-paperwork-exempt: yes
Paul Eggert 16fa11bf 2023-03-29T11:48:02 Port 'make check' to platforms lacking libtool * t/get-sysconf.sh: Don’t fail if libtoolize is missing.
Frédéric Bérat 6d6fc91c 2022-12-12T07:32:13 tests: depcomp: ensure make_ok() fails when run_make fails While running automake tests with -std-gnu=c99, the compiler report errors which lead to make to fail. Yet, these failures are ignored during the tests, which considers them to be successful as stderror is check for one specific pattern. If make fails, investigation should be made to discover why, whatever the reason for the failure is. * t/ax/depcomp.sh: Make make_ok fail when make fails.
Mike Frysinger c9479c29 2023-01-12T20:31:31 tests: rework gettext to only check 'external' behavior The gettext project deprecated non-external use back in 2010 with the 0.18 release, and made it fatal with the 0.20 release in 2019. With that version, calling AM_GNU_GETTEXT() fails, which means all Automake tests are now skipped. The t/gettext-macros.sh helper probes gettext as such: >+ autopoint --force > autopoint: *** AM_GNU_GETTEXT without 'external' argument is no longer supported in version 0.21.1 > autopoint: *** Stop. > ... >+ aclocal-1.16 -Werror -Wno-syntax -I m4 --install > aclocal-1.16: warnings are treated as errors > configure.ac:4: warning: macro 'AM_GNU_GETTEXT' not found in library > configure.ac:5: warning: macro 'AM_GNU_GETTEXT_VERSION' not found in library >+ echo skip_all_ "couldn't find or get gettext macros" Since t/gettext-macros.sh generates a helper that all other gettext tests use to see if gettext is available, all they get skipped. Rework our existing tests to only check the 'external' gettext mode. This should work with older versions, and we don't really need to keep track of old non-external mode since it's been deprecated for so long. * t/gettext-basics.sh: Use external gettext mode, and adjust tests. * t/gettext-config-rpath.sh: Likewise. * t/gettext-macros.sh: Likewise. * t/gettext-pr381.sh: Likewise. * t/subdir-cond-gettext.sh: Likewise.
Mike Frysinger 9067b181 2023-01-13T00:09:06 tests: disable git log pager usage When running this code locally, the git log call can trigger a pager depending on the local settings, which in turn forces the test to be interactive. Run git with --no-pager to force disable it. * t/get-sysconf.sh: Run git with --no-pager.
Mike Frysinger 34c5008d 2023-01-03T22:38:22 tests: change `sort|uniq` to `sort -u` These are equivalent, but more performant. We already use `sort -u` elsewhere in the codebase, so nothing new here really. * t/add-missing.tap: Change `sort|uniq` to `sort -u`. * t/CheckListOfTests.am: Likewise.
Frédéric Bérat 2a9908da 2022-12-12T08:05:53 tests: Fix 'type defaults' error in link_cond due to main not being properly declared This is related to an effort to prepare Automake for future GCC/Clang versions which set c99 as default standard to be used. Not properly declaring main as "int main(...)" is rejected since c99. * t/link_cond.sh: Add (void) to main definition.
Mike Frysinger 34bdde96 2023-01-04T02:00:14 maint: make update-copyright
Karl Berry ed1368e8 2022-12-12T14:50:33 test: avoid apostrophe in test document. From automake patch https://bugs.gnu.org/59989 (though a different solution), suggestion by Frederic Berat. * t/txinfo-include.sh: avoid apostrophes in test document, since Texinfo 7.0 turns them into UTF-8 by default.
Karl Berry 7ae28351 2022-10-01T18:23:39 distcheck: more .NOTPARALLEL. * t/backcompat.sh: add .NOTPARALLEL. * t/subdir-add2-pr46.sh: likewise. (Maybe the problem is more general?)
Karl Berry 92fcf10f 2022-10-01T14:59:51 maintcheck: placate maintainer-check and grep 3.8. * maintainer/syntax-checks.mk (sc_rm_minus_f): no \ before - (diagnosed by grep 3.8). * t/comment12.sh: use $(...) instead of `...`. * t/comments-escaped-in-var.sh: use AUTOMAKE_fails and grep for expected warning message. * t/list-of-tests.mk (handwritten_TESTS): add t/py-compile-files.sh. * t/subdir-add2-pr46.sh (.NOTPARALLEL): add; showed up with parallelized internal make. Seems unreproducible.
Mike Frysinger ff230b29 2022-02-24T22:25:45 automake: fall back gracefully when texinfo inputs don't exist Fixes automake bug https://bugs.gnu.org/54063. The function scanning for @setfilename will fall back to a default value if the input doesn't have one defined. But we need to handle the case where the file doesn't even exist before falling back. * bin/automake.in: Scan /dev/null for @setfilename if input doesn't exist. * t/list-of-tests.mk: Add txinfo-no-setfilename-no-inputs.sh. * t/txinfo-no-setfilename-no-inputs.sh: New test.
Mike Frysinger d747a66a 2022-02-20T19:06:55 m4: rework silent-rules macros to avoid double expansion Fixes automake bug https://bugs.gnu.org/32868. The AM_SILENT_RULES macro defines all the silent-rules related setup. It's also called by users to change the default verbosity level. This leads to a quirk where automake calls it, expands the full context, and then users call it, and it's fully expanded again. Instead, let's rename AM_SILENT_RULES to _AM_SILENT_RULES and move the initialization logic to late in the configure stage. This allows the user-centric AM_SILENT_RULES call to expand into a single line to set the default verbosity. * m4/init.m4: Switch to _AM_SILENT_RULES. * m4/silent.m4: Rename AM_SILENT_RULES to _AM_SILENT_RULES. Delay evaluation of AM_SILENT_RULES to the end. Define new AM_SILENT_RULES to set default rules verbosity. * t/silent-defaults.sh: New tests. * t/list-of-tests.mk: Add t/silent-defaults.sh.
Mike Frysinger a61eaf68 2022-02-24T00:52:08 tests: make silent-custom regex a little more robust Fixes automake bug https://bugs.gnu.org/32800. Have the regex match the entire path with word boundaries on both sides. This should reduce false positives when the full cwd happens to match parent directories. * t/silent-custom.sh: Update the header output regex.
Mike Frysinger c62e7230 2022-02-20T23:30:39 automake: allow required files to be in subdirs Fixes automake bug https://bugs.gnu.org/20300. The internal method for caching path lookups expects the $filename to only be a filename. If it's actually a subdir/file itself, then the cache logic gets confused, and it never matches. This manifests as AC_REQUIRE_AUX_FILE([subdir/file]) claiming that the subdir/file path doesn't exist even when it does. Before we process any required files, since we already construct the full path locally, reset the dir & file inputs to the final values. * bin/automake.in: Split dir & file name back out from the constructed required file path. * t/auxdir-subsubdir.sh: New test. * t/list-of-tests.mk: Add t/auxdir-subsubdir.sh.
Mike Frysinger 13ae585a 2022-02-20T14:28:11 tests: fix yacc C++ tests with some C++ compilers Fixes automake bug https://bugs.gnu.org/20031. The C++ standard does not require symbols be placed into the global namespace, just in the std namespace. The GNU implementation will place symbols in both. For our specific code, we don't care either. Unfortunately, it looks like generated flex code assumes that some stdlib.h symbols (free, malloc, exit) are in the global namespace, even when compiling for C++. So when we include <cstdlib> but not <stdlib.h>, we might not get the symbols in the global namespace. We can workaround this by including stdlib.h in these tests without invalidating the point of the tests in general. * t/yacc-cxx.sh: Include stdlib.h. * t/yacc-d-cxx.sh: Likewise. * t/yacc-mix-c-cxx.sh: Likewise.
Mike Frysinger 2cd42b7c 2022-02-20T13:56:24 tests: log autoconf & libtool version Having these in the sysconf log can be helpful when triaging test failures from users. * t/get-sysconf.sh: Log autoconf & libtoolize version.
Mike Frysinger 8abf0894 2022-02-20T13:28:48 automake: support embedded \# in variable appends Fixes automake bug https://bugs.gnu.org/7610. Use of \# is not portable. POSIX does not provide any way of retaining the # marker in variables. There is wide spread support for \# though in GNU & BSD Make implementations. Today, with plain variable assignments, Automake leaves the line alone: foo = blah\#blah This will leave it to the implementation to decide what to do. But if you try to append to it, Automake follows POSIX and strips it: foo = blah\#blah foo += what -> foo = blah\ what Instead, let's issue a portability warning whenever \# is used, even if it isn't being appended, and do not strip the \# when appending. Now: foo = blah\#blah foo += what -> warning: escaping \# comment markers is not portable -> foo = blah\#blah what * NEWS: Mention change in \# handling. * lib/Automake/VarDef.pm: Do not strip # if escaped. * lib/Automake/Variable.pm: Warn if \# is used. * t/comment12.sh: New test. * t/comments-escaped-in-var.sh: New test. * t/list-of-tests.mk: Add comment12.sh & comments-escaped-in-var.sh.
Mike Frysinger 3099097d 2022-02-17T03:50:55 rm: handle -f w/no arguments gracefully Fixes automake bug https://bugs.gnu.org/10828. Delete the configure check that would abort if `rm -f` does not work, and delete the plans to make this a hard requirement in the future. Instead, test to see if `rm -f` fails w/out arguments. If it does, define am__rm_f such that it always passes at least the "" argument when deleting files. If it doesn't fail, then we can omit the "". Then go through lib/am/ and update places where we use the pattern `test -z ... || rm -f ...` and replace with $(am__rm_f). * NEWS: Mention support for `rm -f` w/out arguments. * PLANS/rm-f-without-args.txt: Remove. * lib/am/check.am: Use new $(am__rm_f) helper. * lib/am/clean.am: Likewise. * lib/am/header-vars.am: Likewise. * lib/am/inst-vars.am: Likewise. * lib/am/libs.am: Likewise. * lib/am/ltlib.am: Likewise. * lib/am/progs.am: Likewise. * lib/am/texinfos.am: Likewise. * m4/init.m4: Delete `rm -f` checks and call _AM_PROG_RM_F. * m4/rmf.m4: Define new _AM_PROG_RM_F macro. * t/rm-f-probe.sh: Update test.
Mathieu Lirzin 79d03908 2018-01-19T16:30:32 tests: do not assume AM_MAKEINFOHTMLFLAGS is used in non-html targets Fixes automake bug https://bugs.gnu.org/30172. Since AM_MAKEINFOHTMLFLAGS overrides AM_MAKEINFOFLAGS only for html targets, make sure we restore the hacked up makefile before testing the non-html formats. This normally doesn't cause a problem for most people, but if their tex install doesn't work correctly, texi2dvi will fallback to running $MAKEINFO and using invalid flags in the process. * THANKS: Add Mathieu Lirzin. * t/txinfo-many-output-formats.sh: Restore Makefile.am after testing html targets. * t/txinfo-many-output-formats-vpath.sh: Likewise.
Mike Frysinger 8b2d281d 2022-02-06T00:22:50 py-compile: drop support for Python 0.x & 1.x Python 2.0 was released in 2000. There's really no way for us to check those old versions, so let's just drop them. No one will miss them. * NEWS: Note Python version support removal. * lib/py-compile: Abort if major version 0 or 1 is found. * t/py-compile-env.sh: Rework slightly to handle new version probing.
Mike Frysinger 8a913c26 2022-02-05T23:43:38 py-compile: handle filenames with whitespace The list of files is put into a string and then split on whitespace. Fix the way the list of files are passed to the compile script. * lib/py-compile: Pass files as arguments, not as a string. * t/py-compile-files.sh: New test.
Mike Frysinger faa1d2c5 2022-02-05T23:01:31 py-compile: clean up usage info Include the full summary of options in the output. * lib/py-compile: Update usage output. * t/py-compile-usage.sh: Update test to match new output.
Mike Frysinger 9daa34db 2022-01-24T03:08:13 texi: define new AM_TEXI2FLAGS variable To provide a bit more flexibility when invoking TEXI2DVI & TEXI2PDF, and provide a bit of symmetry with .info & .html generation, provide a AM_TEXI2FLAGS setting that is passed to all TEXI2xxx invocations. * doc/automake.texi: Mention new AM_TEXI2FLAGS setting. * lib/am/texibuild.am: Pass $(AM_TEXI2FLAGS) to TEXI2DVI & TEXI2PDF. * NEWS: Mention AM_TEXI2FLAGS. * t/txinfo-many-output-formats.sh: Check for AM_TEXI2FLAGS.
Mike Frysinger c1b799a0 2022-01-24T02:53:13 texi: pass automatic -I to dvi & pdf generation Fixes automake bug https://bugs.gnu.org/23599. When generating info/html pages, automake adds -I flags to source dirs that contain the texi files, but it doesn't do this for dvi or pdf formats. Instead, automake has been relying on texi2dvi to use makeinfo for expanding macros, and it hasn't done that by default in a long time. Since adding --expand to the texi2dvi call is undesirable (due to bad and unpredictable BEHAVIOR), pass those automatic -I flags directly to TEXI2DVI & TEXI2PDF so they work regardless of --expand behavior. We have to keep the MAKEINFO= setting around as texi2dvi might itself fall back to it if the version of tex is old or broken. * bin/automake.in: Add comment about $makeinfoflags usage. * doc/automake.texi: Mention automatic -I subdir flags. * lib/am/texibuild.am: Pass %MAKEINFOFLAGS% to TEXI2DVI & TEXI2PDF. * t/txinfo-subdir-pr343.sh: Check for -I subdir usage.
Mike Frysinger 560216a4 2022-01-27T04:54:17 tests: remove spurious +x bits None of these files are (or can be) executed directly, so drop the spurious +x permission bit. None of the other tests do this either. * t/built-sources-install-exec.sh: Remove +x bit. * t/ccnoco-deps.sh: Likewise. * t/ccnoco-lib.sh: Likewise. * t/ccnoco-lt.sh: Likewise. * t/perf/cond.sh: Likewise. * t/perf/testsuite-recheck.sh: Likewise. * t/perf/testsuite-summary.sh: Likewise. * t/python-prefix.sh: Likewise. * t/tags-lisp-space.sh: Likewise. * t/test-extensions-empty.sh: Likewise.
Mike Frysinger 58d06e07 2022-01-19T03:31:07 tests: add coverage for nobase_ and dist_ prefixes From automake bug https://bugs.gnu.org/14245. We have tests that check nobase_ and nodist_ interaction, but not nobase_ and dist_. We had a report against automake 1.12 that this combo did not work. It seems to work now, but lets include a test to make sure we don't regress. Based on Daiki Ueno's example, but fixed up to pass against master. * t/list-of-tests.mk: Add t/nobase-dist.sh. * t/nobase-dist.sh: New test.
Mike Frysinger 975ea4d9 2022-01-19T05:14:47 progs, libs: support _RANLIB overrides Much like we have per-target support for _AR and _LINK, add an _RANLIB override too. This allows selection of specific ranlib tools in case a non-standard archiver tool was forced. * bin/automake.in: Check for _RANLIB per-target settings. * doc/automake.texi: Document _RANLIB override. * lib/am/library.am: Change $(RANLIB) to $(%XLIBRARY%_RANLIB). * t/list-of-tests.mk: Add ranlib_override.sh. * t/ranlib_override.sh: New test. * NEWS: Mention new feature.
Mike Frysinger 6d0dde1f 2022-01-19T05:11:17 tests: add _AR override coverage There were no tests for per-target _AR settings, so add some. * t/ar_override.sh: New test. * t/list-of-tests.mk: Add ar_override.sh.
Mike Frysinger cd995fe6 2022-01-24T01:02:41 tests: clear autotools env vars Fixes automake bug https://bugs.gnu.org/16714. The testsuite will try and retain these env vars when recursively running itself, but doesn't distinguish between vars coming from the env where the tests were launched. This breaks if the user happens to `export ACLOCAL=alocal` before `make check`. This gets a little more confusing in that the Makefile appears to export these already: ACLOCAL = ".../automake/pre-inst-env" aclocal-1.16 In reality, while those are set in the make execution environment, they aren't exported into the process environment, so children (i.e. shell processes in make rules) don't have them set. That's why tests work for most people today. However, if the user has first exported "ACLOCAL" in the parent make environment (regardless of value), then make's value will reset the process environment, and then that will leak into the children. That's why we see errors that look like the makefile env vars are leaking for these people. At any rate, the fix is to update the test harness to clear these vars that the test suite relies upon, especially the ones that are also set in the Makefiles. That includes AUTOUPDATE even though it currently isn't used inside any of the tests. * t/local.mk: Add ACLOCAL, AUTOCONF, AUTOHEADER, AUTOMAKE, and AUTOUPDATE to the env unset list. * t/ax/runtest.in: Likewise.
Mike Frysinger ec1a20a3 2022-01-24T00:57:30 tests: fix quoting in eval We need to escape the quotes so eval sees them when expanding the variable value, not when quoting the variable name itself. * t/local.mk: Escape quotes to eval.
Karl Berry b64df48b 2022-01-23T14:27:11 doc: singular/plural agreement, since it's easy. * HACKING: singular/plural agreement. * t/README: likewise.
Matthew Leeds 928288cb 2018-04-08T16:07:32 doc: use gender-neutral pronouns in t/README * t/README: s/him/them/
Jim Meyering ae8fb001 2022-01-18T02:00:22 tests: fix py-compile-basedir.sh: missing "test" Prompted by a patch from Thomas Deutschmann <whissi@gentoo.org>, via https://lists.gnu.org/r/automake-patches/2022-01/msg00001.html: commit v1.16.1-26-gb279a0d46 ("tests: in python tests, do not require .pyo files (for python3)") was missing a `test` call. Reported to Gentoo at https://bugs.gentoo.org/715040. * t/py-compile-basedir.sh: Rather than just adding the missing "test", rewrite using a case statement, to avoid some duplication.
Jim Meyering 6c8ff6a8 2022-01-12T14:15:12 maint: make update-copyright
Jim Meyering 524d9961 2021-10-03T19:48:31 maint: remove trailing white space from a few files * NEWS: Remove trailing white space. * NEWS-2.0: Likewise. * contrib/checklinkx: Likewise. * doc/local.mk (chlx_args): Likewise. * m4/python.m4: Likewise. * t/test-extensions-empty.sh: Likewise.
Karl Berry 56387843 2021-09-19T15:12:27 python: only use Python's sys.* values if the new option --with-python-sys-prefix is specified; otherwise, return to previous behavior of using the GNU ${prefix} and ${exec_prefix}. * doc/automake.texi (Python): document the new behavior. * m4/python.m4 (AM_PATH_PYTHON): conditionalize use of Python's sys.* values on the new option --with-python-sys-prefix. * t/python-prefix.sh: doc update. * t/python-vars.sh: test both GNU and Python prefix values. * NEWS: mention this.
Akim Demaille 2bb6340f 2021-09-11T10:06:13 tests: let yacc's yyerror take its argument as a const string Some of yacc error messages are const strings; it makes no sense for yyerror to take a 'char *', it should be a 'const char *' as POSIX now requires. Fixes all the failures reported by Kiyoshi Kanazawa. <https://lists.gnu.org/r/bug-bison/2021-09/msg00005.html> See bug#50469 <https://debbugs.gnu.org/50469>. * t/cond35.sh, t/silent-many-languages.sh, t/silent-yacc-headers.sh, * t/silent-yacc.sh, t/subpkg-yacc.sh, t/suffix10.tap, t/yacc-basic.sh, * t/yacc-clean.sh, t/yacc-d-basic.sh, t/yacc-d-vpath.sh, * t/yacc-deleted-headers.sh, t/yacc-depend.sh, t/yacc-depend2.sh, * t/yacc-dist-nobuild-subdir.sh, t/yacc-dist-nobuild.sh, t/yacc-dry.sh, * t/yacc-line.sh, t/yacc-misc.sh, t/yacc-mix-c-cxx.sh, t/yacc-nodist.sh, * t/yacc-pr204.sh, t/yacc-subdir.sh, t/yacc-vpath.sh, * t/yflags-cmdline-override.sh, t/yflags-force-override.sh (yyerror): From 'char *' to 'const char *'. Enforce consistency: prefer '{}' to '{ return; }'.
Dimitri Papadopoulos 522e0d40 2021-08-07T17:54:17 doc: typos from codespell. * HACKING: typo from codespell. * doc/local.mk: likewise. * lib/am/header-vars.am: likewise. * lib/am/lisp.am: likewise. * t/cond24.sh: likewise. * t/cond36.sh: likewise. * t/dist-auxdir-many-subdirs.sh: likewise. * t/link_override.sh: likewise. * t/parallel-tests-console-output.sh: likewise. * t/subobj11a.sh: likewise. * t/subobj11b.sh: likewise.
Jacob Bachmeyer 7e50be6b 2021-07-14T20:21:49 tests: use testsuite/ directory in DejaGnu tests Patch posted: https://lists.gnu.org/archive/html/automake-patches/2021-07/msg00009.html * t/check12.sh: Consistently use the directory name, testsuite/, for all DejaGnu tests, and always use recursive make to run DejaGnu, for backward and forward compatibility. * t/dejagnu3.sh: Likewise. * t/dejagnu4.sh: Likewise. * t/dejagnu5.sh: Likewise. * t/dejagnu6.sh: Likewise. * t/dejagnu7.sh: Likewise. * t/dejagnu-absolute-builddir.sh: Likewise. * t/dejagnu-relative-srcdir.sh: Likewise. * t/dejagnu-siteexp-extend.sh: Likewise. * t/dejagnu-siteexp-useredit.sh: Likewise. * NEWS: mention this. * THANKS: new contributor.
Nick Gasson 57688bd5 2021-07-15T18:37:09 automake: silent make output for custom link commands. Patch posted: https://lists.gnu.org/archive/html/automake-patches/2021-07/msg00010.html * bin/automake.in (define_per_target_linker_variable): Use AM_V_${target}_LINK if defined as the verbose variable name for custom link commands. * doc/automake.texi (Program and Library Variables): Document the new variable. * t/link_override.sh: Add extra checks for silent make rules. * NEWS: Mention this. * THANKS: new contributor.
meyering 15641c2f 2021-07-11T19:40:06 maint: avoid syntax-check failures * maintainer/syntax-checks.mk (toupper): Tighten the regexp to avoid a new false-match in t/python-prefix.sh. * t/instmany-python.sh: Use run_make in place of some $MAKE uses. * t/python-prefix.sh: Likewise. * t/python-vars.sh: Likewise.
Jim Meyering a470a47f 2021-07-11T19:19:42 maint: make update-copyright
Allison Karlitskaya 3d9460bc 2021-07-09T09:03:30 maint: tweak comment wording * doc/automake.texi (List of Automake options): Nit. * t/dist-no-built-sources.sh: Likewise.
Jim Meyering bf22cfbe 2021-07-11T13:42:16 test: disable use of ksh in a test that would otherwise hang * t/tests-environment-fd-redirect.sh: This test would hang when using ksh93 from Fedora 34 and CentOS 8. Comments demonstrate the issue reported as https://github.com/ksh93/ksh/issues/316
Allison Karlitskaya 13659a73 2021-07-09T09:03:30 dist: add new "dist-no-built-sources" automake option. Fixes automake bug https://debbugs.gnu.org/49317. * bin/automake.in: implement new option "no-dist-built-sources" to omit the dependency of distdir on $(BUILT_SOURCES). (Allison's original patch used the option name dist-pure; trivially renamed.) * lib/am/distdir.am (distdir) [DIST_BUILT_SOURCES]: conditionalize the dependency. * lib/Automake/Options.pm (_is_valid_easy_option): list it. * doc/automake.texi (List of Automake options): document it. * NEWS: mention it. * t/dist-no-built-sources.sh: test it. * t/list-of-tests.mk (handwritten_TESTS): add it.
Karl Berry 81b29007 2021-07-05T18:12:41 tests: forgot to remove dev exit 33 from new test. * t/toplevelmd.sh: normal ending.
Karl Berry 16569085 2021-07-01T18:21:51 dist: accept .md versions for README et al. This change was suggested by madmurphy; some ideas were taken from the patch he provided. https://lists.gnu.org/archive/html/automake-patches/2021-06/msg00005.html * bin/automake.in (@toplevelmd_ok): new global, listing the files for which we will accept .md versions. (@common_files): remove those files from there. (handle_dist): check for .md if non-.md is absent. (handle_minor_options): check for README-alpha.md. (check_gnu_standards): accept .md version if present. (check_gnits_standards): likewise. (usage): output list of .md-accepted files. * doc/automake.texi (Basics of Distribution): document. * t/toplevelmd.sh: new test. * t/list-of-tests.mk (handwritten_tests): add it. * NEWS: mention new feature.
Karl Berry 337c4bae 2021-05-18T18:34:56 doc: wording. * README: * t/python-virtualenv.sh: * doc/automake.texi: wording, typos, etc.
Karl Berry b83830c8 2021-05-18T15:12:56 python: new python-prefix test. * t/python-prefix.sh: new test. * t/list-of-tests.mk (handwritten_tests): add it. * NEWS: describe new Python prefix behavior.
Joshua Root ed8daa06 2021-05-18T15:11:59 python: use Python's sys.prefix and sys.exec_prefix for PYTHON_PREFIX and PYTHON_EXEC_PREFIX; new configure options --with-python_prefix and --with-python_exec_prefix to set explicitly. This change fixes https://bugs.gnu.org/35322. * m4/python.m4 (AM_PATH_PYTHON): use Python's sys.prefix and sys.exec_prefix for PYTHON_PREFIX and PYTHON_EXEC_PREFIX, instead of $prefix and $exec_prefix. But use a variable reference to ${prefix} if it is contained within sys.prefix; similarly for exec_prefix. Also support new configure options to set explicitly. (PYTHON_PREFIX, PYTHON_EXEC_PREFIX): AC_SUBST these. (am_cv_python_pythondir): use our new $am_cv_python_prefix, substituting ${PYTHON_PREFIX}. (am_cv_python_pyexecdir): likewise. * doc/automake.texi (Python): PYTHON_PREFIX, PYTHON_EXEC_PREFIX, document new approach. * t/instmany-python.sh: set PYTHON_PREFIX as needed. * t/python-vars.sh (PYTHON_EXEC_PREFIX, PYTHON_PREFIX): also set from Python's sys.{exec_,}prefix; use ${PYTHON_{EXEC,}PREFIX} instead of ${exec_,}prefix.
Zack Weinberg ccb57553 2020-12-14T14:50:47 Fix some build and test failures with Autoconf 2.70. Autoconf 2.70 (released last week) makes a few changes that broke Automake’s expectations, mostly in the test suite. This patch addresses two of the problems: - autoconf now issues a warning if fed a configure script that doesn’t invoke both AC_INIT and AC_OUTPUT; this, plus a problem with system-provided tools (still under investigation) broke the *build* on macOS; it also causes a couple of spurious testsuite failures. - AC_PACKAGE_NAME and AC_PACKAGE_VERSION are now defined unconditionally. AM_INIT_AUTOMAKE needs to use m4_ifset instead of m4_ifdef to diagnose the obsolete use of AC_INIT with fewer than two arguments. (This change is compatible with autoconf 2.69; m4_ifset is much older, and it means ‘defined with a non-empty value’.) * configure.ac: Use both AC_INIT and AC_OUTPUT in test configure scripts. * t/deprecated-acinit.sh, t/init.sh: Likewise. * m4/init.m4 (AM_INIT_AUTOMAKE): Use m4_ifset, not m4_ifdef, to detect AC_PACKAGE_NAME and/or AC_PACKAGE_VERSION not having a value.
Karl Berry 9f044de1 2020-12-09T15:02:19 tests: more .NOTPARALLEL tests. * t/java-compile-run-nested.sh: .NOTPARALLEL in subdirs too.
Karl Berry 87b29629 2020-12-08T15:01:00 tests: more .NOTPARALLEL tests. * contrib/t/multilib.sh: yet more .NOTPARALLEL for AM_TESTSUITE_MAKE, found by Jim on heavier machines. * t/autodist-stamp-vti.sh: likewise. * t/java-compile-run-nested.sh: likewise. * t/transform2.sh: likewise.
Karl Berry 95da1185 2020-12-07T15:53:01 tests: more .NOTPARALLEL tests. * contrib/t/multilib.sh: use .NOTPARALLEL to avoid unreproducible (and undebuggable, by me) test failures when running make -j$njobs AM_TESTSUITE_MAKE="make -j$njobs" for some arbitrary but rather large value of $njobs. The failures don't occur with just make -j; have to run the makes inside the tests in parallel also. * t/java-compile-install.sh: likewise. * t/java-compile-run-flat.sh: likewise. * t/java-uninstall.sh: likewise. * t/vala-headers.sh: likewise.
Karl Berry e83520ff 2020-12-03T11:00:53 warnings: be less forceful about a missing subdir-objects option. This change somewhat ameliorates https://bugs.gnu.org/20699. * bin/automake.in (handle_single_transform): change forward-incompatibility message for subdir-objects to be less draconian and less certain that the change will ever be made. * t/subobj.sh: message text has changed. * doc/automake.texi (Program and Library Variables): mention the unfortunate fact that one directory can clean in a sibling, subdir-objects notwithstanding.
Karl Berry b35822b5 2020-11-27T18:07:10 tests: .NOTPARALLEL test-driver-create-log-dir. * t/test-driver-create-log-dir.sh (.NOTPARALLEL): add target, since the two tests under sub/ seem to have a race condition. No evident way to debug or reliably reproduce. Reported by Jim.
Jim Meyering b28fead2 2020-11-16T09:50:04 tests: correct preceding change. * t/auxdir-pr19311.sh: Fix error in case stmt and match more upcoming versions.
Jim Meyering 7cdef9f7 2020-11-16T09:34:23 tests: auxdir-pr19311.sh no longer fails with latest autoconf * t/list-of-tests.mk (XFAIL_TESTS): Remove from this list. * t/auxdir-pr19311.sh: Instead, run this test only when autoconf is 2.69d or newer. Otherwise, skip it.
Jim Meyering a919babf 2020-11-16T07:47:30 maint: placate maintainer-check's rm -f check * t/vala-recursive-setup.sh: Add an unnecessary -f option to an rm invocation to avoid "make maintainer-check" failure.
Jim Meyering 17e6f26a 2020-11-15T21:14:24 tests: avoid missing .dvi failure with parallel tests * t/txinfo-no-clutter.sh: Tests of texinfo-related rules had overlap that made them fail often when some rules were run in parallel, so inhibit parallelism in that one directory. See discussion starting at https://lists.gnu.org/r/automake-patches/2020-11/msg00011.html
Jim Meyering 26ef6e7f 2020-11-15T09:00:37 tests: protect against parallel false failure * t/parallel-tests-console-output.sh: Do not depend on the order of items in test summary. With a parallel test run, they may appear in a different order, e.g., when running tests like this: make check AM_TESTSUITE_MAKE='make -j14' Sort the expected output and the actual output before comparing.
Jim Meyering ba522c63 2020-11-15T08:12:40 doc: fix quoting in suggested parallel test invocation * t/README: Fix reversed single/double quotes.
Jim Meyering 103cf704 2020-11-14T20:19:28 tests: accommodate an $ac_aux_dir of "." or "./" * t/auxdir-pr15981.sh: This test would fail when run with autoconf-2.69d because $ac_aux_dir would be "./" rather than the expected ".". Accept both.
Jim Meyering b495c128 2020-11-14T19:51:46 tests: avoid failures due to missing ar-lib * t/ar4.sh: Create dummy ar-lib, as done in other tests, to avoid failure like this: configure: error: cannot find required auxiliary files: ar-lib * t/ar5.sh: Likewise.
Karl Berry db65189f 2020-11-12T17:49:31 install-sh: new option -S SUFFIX for simple file backups. * lib/install-sh: implement and document -S. Patch sent by Julien Elie: https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00004.html (scriptversion): 2020-11-13.01 * t/install-sh-option-S.sh: new test. * t/list-of-tests.mk (handwritten_tests): add it. * NEWS: mention it.
Karl Berry 9b7f0f9e 2020-11-10T17:58:41 vala: forgot to update lists-of-tests.mk. * t/list-of-tests.mk (handwritten_tests): include t/vala-libs-distcheck.sh and t/vala-libs-vpath.sh. Should have been committed with 2020-10-29 vala change, but somehow missed. 2020-11-10 Karl Berry <karl@freefriends.org>
Reuben Thomas 782ac400 2020-11-07T18:44:56 vala: improve support, especially builddir vs. srcdir. This change fixes https://bugs.gnu.org/13002. * NEWS: mention these changes. * bin/automake.in: generated C files go in builddir, not srcdir. Distribute the header files generated from VAPI files. * t/vala-libs-distcheck.sh: new test for `make distcheck' of a Vala library. * t/vala-libs-vpath.sh: new test for a VPATH build of a Vala library. * t/vala-libs.sh: add local VAPIs used as external --package to test. * t/vala-recursive-setup.sh: we need to make maintainer-clean at one point to remove stamp files to avoid confusing a VPATH build performed after a non-VPATH build. * t/vala-non-recursive-setup.sh: likewise. * t/vala-parallel.sh: some test paths need changing to take into account that generated C files now go in builddir. * t/vala-per-target-flags.sh: likewise. * t/vala-recursive-setup.sh: likewise. * t/vala-vpath.sh: likewise.
Karl Berry 285c285c 2020-11-07T18:11:03 tests: recompute dependencies when lists-of-tests.mk changes. This change fixes https://bugs.gnu.org/44458 and updates https://bugs.gnu.org/11347. * t/local.mk ($(srcdir)/%D/testsuite-part.am): restore dependency on '%D/list-of-tests.mk' (i.e., t/list-of-tests.mk), partially reverting the change of 26 Apr 2012 for bug#11347. Otherwise, new tests that have dependencies will not cause an update of testsuite-part.am, leading to strange failures (bug#44458). The original problem being fixed in #11347 was unnecessary rebuilding when modifying tests; that should not be affected here, but when new tests are added, it seems reasonable, as well as necessary, to ensure dependencies are updated.
Miro Hron\v{c}ok e21d46fd 2020-10-27T14:33:46 python: determine Python (3.10) version number correctly. This change fixes https://bugs.gnu.org/44239 (and https://bugzilla.redhat.com/show_bug.cgi?id=1889732). * m4/python.m4: use print('%u.%u' % sys.version_info[:2]) for the version number instead of merely sys.version[:3], so the numbers are treated as numbers. * t/python-vars.sh (PYTHON_VERSION): Likewise. * doc/automake.texi: Document it. * NEWS: mention it. (Minor tweaks from Karl Berry.)
Reuben Thomas f832992d 2020-10-21T23:31:46 Improve Vala compiler detection: use API version, not compiler version * m4/vala.m4: check `valac --api-version', not `valac --version'. * doc/automake.texi: update documentation.
Zack Weinberg 9f83372b 2020-10-07T09:19:06 Use complete configure.ac’s in testsuite. Autoconf 2.70 will issue warnings if it encounters a configure.ac that doesn’t call both AC_INIT and AC_OUTPUT. Automake already issues warnings if it encounters a configure.ac that uses an AM_ macro but doesn’t call AM_INIT_AUTOMAKE or AC_CONFIG_FILES([Makefile]). In two places, the testsuite was tripping these warnings, leading to spurious failures with Autoconf 2.70 betas. * t/aminit-moreargs-deprecation.sh: Add AC_OUTPUT to test configure.ac. * t/mkdirp-deprecation.sh: Use a complete test configure.ac, not a stub containing only a use of AM_PROG_MKDIR_P.
Karl Berry dbc1c9e7 2020-10-06T18:16:14 automake: install-exec did not depend on $(BUILT_SOURCES). This change fixes https://bugs.gnu.org/43683. * lib/am/install.am (install-exec): %maybe_BUILT_SOURCES% dependency, twice. Basic patch from madmurphy (tiny change), message#8. (.MAKE) [maybe_BUILT_SOURCES]: depend on install-exec. * NEWS: mention it. * doc/automake.texi (Sources): mention this (also that make dist depends on $(BUILT_SOURCES)). * t/built-sources-install-exec.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it. * t/built-sources-install.sh: typo. * t/built-sources-check.sh: typo.
Zack Weinberg 626727a8 2020-09-12T09:51:07 t/python-virtualenv.sh: Skip when versions don’t match On some operating systems ‘python’ is Python 2.x but ‘virtualenv -ppython’ will create a virtualenv that uses Python 3.x. This is a bug, but it’s not *automake’s* bug, and should not cause t/python-virtualenv.sh to fail. Skip the test, instead of failing it, when the inner=outer version check fails. (This also has nothing to do with the main goal of this patchset, it just annoyed me while I was testing.) * t/python-virtualenv.sh: Skip test, rather than failing it, when $py_version_pre != $py_version_post.
Zack Weinberg 74a413ff 2020-09-05T18:12:48 automake: be robust against directories containing (). This change fixes https://bugs.gnu.org/14196. * m4/missing.m4 (AM_MISSING_HAS_RUN): always quote the invocation (not just if $am_aux_dir contains space or tab), in case $am_aux_dir contains () or other metachars not rejected by AM_SANITY_CHECK; quoting with '...' suggested by Jim Meyering. * t/man6.sh (HELP2MAN): adjust grep since missing value is quoted now. * t/am-missing-prog.sh: likewise.
Karl Berry 3bbcf683 2020-08-28T16:26:54 automake: if TEST_EXTENSIONS is set to empty, don't look inside it. This change fixes https://bugs.gnu.org/42635. * bin/automake.in (handle_tests): do not use $test_suffixes[0] if it does not exist. * t/test-extensions-empty.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it.
Karl Berry 74b9f0bb 2020-06-06T15:47:33 tests: support -fno-common in vala-mix2 test. This change fixes https://bugs.gnu.org/41726. * t/vala-mix2.sh: extern in .h, initialization in .c. GCC 10 defaults to -fno-common.
Karl Berry 216d1834 2020-06-06T15:42:54 automake: support AM_TESTSUITE_SUMMARY_HEADER override. This change handles https://bugs.gnu.org/11745. * lib/am/check.am (AM_TESTSUITE_SUMMARY_HEADER): new variable. Default value is " for $(PACKAGE_STRING)", including quotes, to keep the default output the same. ($(TEST_SUITE_LOG)): use it, unquoted. * doc/automake.texi (Scripts-based Testsuites): document it. * NEWS: mention it. * t/testsuite-summary-header.sh: new test. * t/list-of-tests.mk (handwritten_tests): add it. * t/ax/testsuite-summary-checks.sh: fix typo.
Karl Berry 04567be6 2020-05-17T09:36:15 automake: new variable AM_DISTCHECK_DVI_TARGET to override "dvi". This change fixes https://bugs.gnu.org/8289. * lib/am/distdir.am (AM_DISTCHECK_DVI_TARGET): define as dvi. (distcheck): use it, isntead of hardcoding dvi. * lib/Automake/Variable.pm (%_silent_variable_override): add AM_DISTCHECK_DVI_TARGET. * t/distcheck-override-dvi.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it. * doc/automake.texi (Checking the Distribution): document this. (Third-Party Makefiles): explicitly mention that EMPTY_AUTOMAKE_TARGETS is not a built-in or special name. Various other index entries and wording tweaks. * NEWS (Distribution): mention this.
Karl Berry 1fae318a 2020-05-07T18:11:49 tests: TeX system required for two more tests. * t/instdir-no-empty.sh (required): makeinfo tex texi2dvi dvips. * t/txinfo-bsd-make-recurs.sh (required): likewise.
Karl Berry 77d39959 2020-03-24T18:30:18 tests: require etags for tags-lisp-space test. * t/tags-lisp-space.sh (required): set to etags.
Karl Berry 6f8cf01b 2020-03-11T07:34:31 maint: typo in comment. * t/CheckListOfTests.am (maintainer-check-list-of-tests): an -> and.
Mathieu Lirzin f19ecc08 2020-02-04T15:28:00 build: fix 'installcheck' target * t/local.mk (installcheck-testsuite): Do not use 'pre-inst-env' script. (AM_TESTS_ENVIRONMENT): Ensure that installed perl modules are found.
Lukas Fleischer 6207236f 2020-01-29T18:12:29 python: properly uninstall __pycache__ in subdirectories This change finishes fixing automake bug#32088: https://debbugs.gnu.org/32088 * lib/am/python.am (uninstall-%DIR%PYTHON): Uninstall byte-compiled files in a '__pycache__' subdirectory from sub/__pycache__/, not __pycache__/sub/. (am__pep3147_tweak): prefix __pycache__ here, for both .pyc and .pyo. https://lists.gnu.org/archive/html/automake-patches/2018-05/msg00000.html * t/instmany-python.sh (limit): increase to 4500, following Andreas Huettel, https://debbugs.gnu.org/32088#11.
Lukas Fleischer b279a0d4 2020-01-28T18:32:20 tests: in python tests, do not require .pyo files (for python3) This change partially fixes automake bug#32088: https://debbugs.gnu.org/32088 * t/py-compile-basedir.sh: Remove all .pyo checks. Also, in this test only, allow for either 4 or 6 files resulting from compilation, as new-enough Python3 results in 6 (per Andreas Huettel, https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32088#17) * t/py-compile-basic.sh: Remove all .pyo checks. * t/py-compile-destdir.sh: Likewise. * t/py-compile-option-terminate.sh: Likewise. * t/python-virtualenv.sh: Likewise. * t/python10.sh: Likewise. * t/python12.sh: Likewise. * t/python3.sh: Likewise.
Karl Berry 40415b21 2020-01-18T18:06:23 tests: use find+rm, not perl, to remove temporary directories. This change fixes automake bug#39078: https://debbugs.gnu.org/39078 * t/ax/test-lib.sh (rm_rf_): run chmod -R u+rwx and rm -rf, instead of calling our t/ax/deltree.pl script. This reverses the change of 2013-05-16. It made sense to write and use deltree at that point, but unfortunately as of perl-5.28.0 (File::Path.pm version 2.15), rmtree no longer removes a tree with unreadable subdirectories, such as we (intentionally) have. So we might as well go back to rm -rf. The unconditional recursive chmod instead of the previously-used more complex find command will hopefully prove portable. See the bug report for more details. Our deltree.pl is not used for anything else, but nevertheless leaving it in our source tree for now, for ease of reversion and comparison.
Karl Berry 01db7b0d 2020-01-08T18:21:26 tests: use skip_ consistently. * t/lisp-loadpath.sh: use skip_ instead of exit 77; also, notice and reset if the EMACS envvar is simply "t". * t/uninstall-fail.sh: use skip_ instead of the undefined skip.
Karl Berry dd69d0ce 2020-01-05T18:21:01 tests: Correctly simulate no emacs in t/nobase-nodist.sh * t/nobase-nodist.sh: export EMACS, not EMCAS, as "no".
Karl Berry b87f2974 2020-01-04T17:06:40 automake: Support byte compilation in older Emacsen * lib/am/lisp.am (am__emacs_byte_compile_setup) [FIRST]: define new make variable, to use byte-compile-dest-file-function if available, else byte-compile-dest-file. (.el.elc): use it. * t/lisp-loadpath.sh: skip test if emacs version is <= 23, since their -L ordering is backwards. * NEWS: update.