t

Branch


Log

Author Commit Date CI Message
Karl Berry 9b92240a 2025-06-25T14:16:03 mdate-sh: ignore $SOURCE_DATE_EPOCH (again). * lib/mdate-sh: pay no attention to SOURCE_DATE_EPOCH. The previous change (2025-05-15) was a misunderstanding; looking at SOURCE_DATE_EPOCH causes spurious makeinfo rebuilds: https://lists.gnu.org/archive/html/automake/2025-06/msg00021.html * t/mdate5.sh: remove check for this. * t/txinfo-vtexi4.sh: likewise. * doc/automake.texi (Texinfo): remove mention of this. * NEWS: update.
Karl Berry 423b04de 2025-06-20T09:04:52 test: adapt tests for SOURCE_DATE_EPOCH. From https://lists.gnu.org/archive/html/automake/2025-06/msg00016.html. * t/mdate5.sh: allow years 19xx for old SOURCE_DATE_EPOCH. * t/txinfo-vtexi3.sh: likewise. * t/txinfo-vtexi4.sh: if SDE is set, use mdate-sh to parse it into the expected UPDATED and UPDATED-MONTH values. Report from Frederic Berat. * NEWS: mention this.
Jose Marchesi 110f6376 2025-05-21T09:49:46 automake: algol68: rename A68C and A68CFLAGS back to A68 and A68FLAGS. From https://bugs.gnu.org/78518, discussion at 78481 (both automake-patches). * bin/automake.in: Rename A68C and A68CFLAGS to A68 and A68FLAGS. * doc/automake.texi: Likewise. * configure.ac: Rename GNU_A68C and GNU_A68FLAGS to GNU_A68 and GNU_A68FLAGS. * lib/Automake/Variable.pm: Likewise. * t/a68-demo.sh: Likewise.
Collin Funk 6b508df1 2025-05-21T09:37:00 test: skip test py-compile-usage instead of failing without python. From https://bugs.gnu.org/78525 (automake-patches). * t/py-compile-usage.sh: Add 'required=python' before sourcing test-init.sh.
Karl Berry b78b7061 2025-05-20T09:17:04 mdate-sh: support $SOURCE_DATE_EPOCH. From https://bugs.gnu.org/77805. * lib/mdate-sh: if $SOURCE_DATE_EPOCH is set, use it instead of the mtime of any file. Debian was removing @value{UPDATED}, etc., from manuals because of varying output. Try date --date, then date -r, then perl gmtime, then fall back to the file's mtime. Also, warn if more than one file argument is given. (mon_to_month): factor out conversion of Jan to January. * t/mdate5.sh: test it. * doc/automake.texi (Texinfo): mention it. * NEWS: mention it.
Jose Marchesi 282b016e 2025-04-24T15:07:41 automake: algol68: rename A68 to A68C and AM_PROG_A68 to AM_PROG_A68C. From https://bugs.gnu.org/78033 (automake-patches). While upstreaming the Algol 68 autoconf support it was pointed out that the shell variable A68 should be renamed to A68C and that the macro AC_PROG_A68 should be renamed to AC_PROG_A68C. This is to be more consistent to the support for other languages like Go. This patch updates the Automake side. The Algol 68 code snippets are also updated to use modern stropping, which is the stropping regime now used by default by ga68. * bin/automake.in (a68): change config_vars, libtool_tags et al. * lib/Automake/Variable.pm: likewise rename. * doc/automake.texi: likewise rename. * t/a68-demo.sh: likewise modify.
Richard Hansen 0e480388 2025-04-09T10:00:05 test: force Autoconf config.site to /dev/null. From https://bugs.gnu.org/76622 (automake-patches). * t/ax/test-defs.in: Set `CONFIG_SITE' to `/dev/null' to avoid the local system's Autoconf site defaults from breaking the test environment. Original report from Nelson Beebe, 26 Feb 2025. * NEWS: mention this.
Karl Berry 1349c729 2025-02-25T14:39:11 maint: doc and maintainer-check in preparation for 1.17.90. * HACKING: mention thanks to individuals. * NEWS: update for 1.17.90. * configure.ac (AC_INIT): now 1.17.90. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.17.90 (auto-update). * maintainer/syntax-checks.mk (sc_tests_command_subst): allow whitespace before # shell comment line. (sc_tests_plain_sleep): emphasize using $sleep without a number; only replace sleep 1 or sleep 2; longer than that would be fine. * t/tap-stderr-prefix.tap: use $sleep instead of sleep 1.
Karl Berry 2d2ff607 2025-02-24T14:41:48 dist: change tar format default to ustar. Suggested in https://bugs.gnu.org74847. * m4/init.m4 (tar-ustar): make ustar the default instead of tar-v7. * doc/automake.texi (tar-formats): document this. * NEWS: mention this. * t/tar-override.sh: force tar-v7 for purposes of this test.
Richard Hansen 3aa705c4 2025-02-23T19:21:23 tests: test TAP stdout/stderr order with --merge --stderr-prefix * t/tap-stderr-prefix.tap: Add a test checking the processing order of stdout lines relative to stderr lines when the TAP driver is passed `--merge' and `--stderr-prefix'.
Richard Hansen f988a1f7 2025-02-23T19:21:17 tests: add shell function support to `command_ok_' * t/ax/tap-functions.sh (command_ok_): Run the command without testing the exit status with `||' in case the command is a shell function. This avoids unintentionally disabling `set -e' inside the shell function.
Bogdan ba3a673d 2025-02-24T10:30:42 dist: correct sense of no-dist-built-sources option. Primarily from https://bugs.gnu.org/69908. * bin/automake.in (preprocess_file) <DIST_BUILT_SOURCES>: make the option name be "no-dist-built-sources", per Options.pm and automake.texi; then set it with a single !. * lib/am/distdir.am (distdir) [DIST_BUILT_SOURCES]: insert the dependency on $(BUILT_SOURCES) when DIST_BUILT_SOURCES is true, not false; i.e., sense was reversed. * t/dist-no-built-sources.sh: edit the test configure.ac in the no-dist-built-sources case. Rename the testopt value to match the Automake option. * NEWS: mention this.
Richard Hansen 6c5053a9 2025-02-03T18:26:59 tests: use `--stderr-prefix' for TAP tests * t/local.mk: Pass `--stderr-prefix' to `lib/tap-driver.sh' when running TAP tests to prevent stderr lines from being confused with test results and to improve the readability of the test log files.
Richard Hansen 2657b484 2025-02-03T18:26:57 tap: new `--stderr-prefix' option to prefix test script's stderr * lib/tap-driver.sh: Add a new `--stderr-prefix' option to instruct the TAP driver to prefix each line of the test script's standard error with the given string. This is useful when `--merge' is enabled and standard error lines might be confused with test results. * doc/automake.texi: Document the new `--stderr-prefix' option. * t/tap-stderr-prefix.tap: New test. * t/list-of-tests.mk (handwritten_TESTS): Add it.
Richard Hansen 997227ca 2025-02-03T18:26:54 tests: move space from `diag_()' to `$diag_string_' * t/ax/tap-functions.sh (diag_): Moved the space separating `$diag_string_' from the diagnostic message to `$diag_string_' so that callers can eliminate the space.
Richard Hansen 27a604f8 2025-02-03T18:26:54 tests: support getting `diag_' message from stdin * t/ax/tap-functions.sh (diag_): Read the diagnostic message from stdin if no arguments are given.
Richard Hansen 381c96b2 2025-02-03T18:26:53 tests: use `printf' instead of `echo' * t/ax/tap-functions (diag_): Use `printf' instead of `echo' in case `echo' processes backslash escapes or the argument looks like an option.
Richard Hansen d1bd394d 2025-02-03T18:26:52 tests: prefix every line of diag_ text, not just the first * t/ax/tap-function.sh (diag_): Prefix every line of the diagnostic text, not just the first.
Richard Hansen 1d99f245 2025-02-03T18:26:50 tests: turn off `set -x' in `diag_' * t/ax/tap-functions.sh (diag_): Turn off `set -x' to reduce log spam.
Kamila Szewczyk 735a386e 2025-02-21T09:38:52 dist: add bzip3 support. From https://bugs.gnu.org/73795 (automake-patches). * bin/automake.in (handle_dist): add bzip3 support. https://github.com/kspalaiologos/bzip3 * lib/Automake/Options.pm (_is_valid_easy_option): likewise. * lib/am/distdir.am (dist-bzip3): likewise. * t/dist-formats.tap: likewise. * t/dist-bzip3.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it. * NEWS: mention this. * THANKS: add Kamila.
Karl Berry eea0eb97 2025-02-09T09:44:59 test: unset PERL5OPT later, in parallel-tests-log-compiler-example.sh. * t/parallel-tests-log-compiler-example.sh: unset PERL5OPT just for the make check warning.
Karl Berry 0ea7ef97 2025-02-09T09:36:24 python: restore more compatible behavior for $PYTHON. For https://bugs.gnu.org/74434. * lib/py-compile: if $PYTHON -V does not include the string "python" (case-insensitive), consider the support intentionally disabled and exit successfully, unless PYTHON is set to false, in which case exit unsuccessfully. This is closer to the old behavior. Mention this in the help message. * t/py-compile-env.sh: add test for PYTHON=:. * NEWS: mention this. (And, en passant, add some past bug#s and clarify that only RCS/SCCS pattern rules were disabled, not all.)
Karl Berry 06760b3b 2025-02-06T15:37:58 test: unset PERL5OPT for parallel-tests-log-compiler-example.sh. * t/parallel-tests-log-compiler-example.sh: unset PERL5OPT since the test expects a warning.
Karl Berry 92f83bdb 2025-02-04T08:22:26 test: allow running with fatal warnings given in PERL5OPT. * HACKING: mention running the test suite with PERL5OPT=-Mwarnings=FATAL,all in the environment at new Perl (and Automake releases), to try to keep up with new Perl warnings. Suggestion from Jacob Bachmeyer, https://lists.gnu.org/archive/html/automake/2025-02/msg00001.html * t/parallel-tests-log-compiler-example.sh: explicitly use warnings so that this PERL5OPT setting won't be a fatal error. * NEWS: formatting.
Karl Berry db0c6028 2025-02-03T09:42:47 maint: text/test cleanups. * THANKS: add Jose. * NEWS: mention non-fatal Perl warnings and !! warning workaround. * t/list-of-tests.mk (handwritten_TESTS): add a68-demo.sh.
Jose Marchesi bbb06167 2025-02-02T10:11:24 Add support for the Algol 68 programming language. * bin/automake.in: Call register_language for Algol 68. (resolve_linker): handle A68LINK. (%_am_macro_for_cond): Add entry for am__fastdepGA68. * configure.ac: Look for ga68 and set GNU_GA68 and GNU_A68FLAGS if found. * lib/Automake/Variable.pm (%_ac_macro_for_var): Add entries for GA68 and GA68FLAGS. * t/a68-demo.sh: New test. * doc/automake.texi (Algol 68 Support): New section. * NEWS: Add entry for Algol 68.
Karl Berry fc1c3f65 2025-01-31T09:20:47 automake: just use warnings, with no => FATAL. Per Perl recommendation: https://perldoc.perl.org/warnings#Fatal-Warnings Suggested by Collin Funk: https://lists.gnu.org/archive/html/automake/2025-01/msg00003.html And in the Perl discussion: https://github.com/Perl/perl5/issues/22954#issuecomment-2622966302 * bin/aclocal.in: just use warnings, not making them fatal. * bin/automake.in: * contrib/tap-driver.pl: * gen-testsuite-part: * lib/Automake/ChannelDefs.pm: * lib/Automake/Channels.pm: * lib/Automake/Condition.pm: * lib/Automake/Config.in: * lib/Automake/Configure_ac.pm: * lib/Automake/DisjConditions.pm: * lib/Automake/FileUtils.pm: * lib/Automake/General.pm: * lib/Automake/Getopt.pm: * lib/Automake/Item.pm: * lib/Automake/ItemDef.pm: * lib/Automake/Language.pm: * lib/Automake/Location.pm: * lib/Automake/Options.pm: * lib/Automake/Rule.pm: * lib/Automake/RuleDef.pm: * lib/Automake/VarDef.pm: * lib/Automake/Variable.pm: * lib/Automake/Version.pm: * lib/Automake/Wrap.pm: * lib/Automake/XFile.pm: * t/ax/deltree.pl: * t/ax/extract-testsuite-summary.pl: * t/check-fd-redirect.sh: * t/tap-signal.tap: * t/tests-environment-fd-redirect.sh: * t/testsuite-summary-count-many.sh:
Paul Eggert 61075eab 2025-01-01T14:31:02 maint: make update-copyright
Karl Berry 3f9888e2 2024-09-10T15:44:57 automake: recognize all-numeric MAJ.MIN.MICROa.ALPHA versions better. * HACKING: more doc on version numbers. * configure.ac (AC_INIT): 1.17.0.91, since we want (I guess) to retain odd numbers for development and even numbers for pretests. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.17.0.91 (auto-update). (AM_SET_CURRENT_AUTOMAKE_VERSION): likewise. * lib/Automake/Options.pm (_process_option_list): recognize four-part numeric versions as Automake options. * lib/Automake/Version.pm (split): recognize four-part numeric versions. * t/pm/Version.pl (@tests, @bad_versions): update test to check (not reject) four-part numeric versions.
Karl Berry cef4dc71 2024-07-09T15:35:13 test: explanation of MTIME_RESOLUTION resetting. * t/ax/test-defs.in (MTIME_RESOLUTION): separate the case where am_cv_filesystem_timestamp_resolution is not set for more explanations, but still reset MTIME_RESOLUTION to 1 even if it is already set. Which it should be when running tests, because config.status is sourced. But it's too late in the release process to change this now; after the release, can try keeping a non-empty MTIME_RESOLUTION.
Bruno Haible 715ce1e6 2024-07-03T08:27:02 automake: display whether sleep supports fractional seconds as yes/no. https://lists.gnu.org/archive/html/automake/2024-07/msg00003.html * m4/sanity.m4 (_AM_SLEEP_FRACTIONAL_SECONDS): Set am_cv_sleep_fractional_seconds to yes/no, not true/false, for consistency with other results. Also "quote" this and other $am_cv values. (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Test for yes/no. * t/ax/test-defs.in: Set am_cv_sleep_fractional_seconds to 'no', not 'false'.
Karl Berry b020a9ca 2024-06-30T13:26:51 automake: avoid Perl-level warning on empty variable $(). https://lists.gnu.org/archive/html/automake/2024-06/msg00085.html * lib/Automake/Variable.pm (scan_variable_expansions): recognize and do nothing if the variable name is empty: $(). * t/varempty.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it.
Karl Berry c7ac3e43 2024-06-20T10:04:55 test: sync list-of-tests. * t/list-of-tests.mk (handwritten_TESTS): add back t/instdir-ltlib.sh; turns out all tests need to be listed there, XFAIL_TESTS is not included, and that seems ok. * t/CheckListOfTests.am (maintainer-check-list-of-tests): only delete temp files if result is successful.
Karl Berry c09ff1df 2024-06-19T09:01:51 doc: original purpose of $sleep is when AC_OUTPUT is not used. * t/ax/test-defs.in (sleep): mention original purpose of $sleep, namely when AC_OUTPUT is not used and hence the sleep done in AC_CONFIG_COMMANDS_* is not done: https://lists.gnu.org/archive/html/bug-automake/2010-10/msg00000.html Discovered by Bruno in his rearch on the "sleep" history: https://lists.gnu.org/archive/html/automake/2024-06/msg00054.html
Karl Berry 1696d6d7 2024-06-19T08:59:18 lib scripts: add "(GNU Automake)" to --version output, etc. * lib/ar-lib: add "(GNU Automake)" to --version output, and the "Report bugs" block to --help. * lib/compile: likewise. * lib/depcomp: likewise. * lib/install-sh: likewise. * lib/mdate-sh: likewise. * lib/missing: likewise. * lib/mkinstalldirs: likewise. * lib/py-compile: likewise. * lib/tap-driver.sh: likewise. * lib/test-driver: likewise. * lib/ylwrap: likewise. * t/py-compile-usage.sh: update --version pattern.
Mike Frysinger eb20585d 2024-06-18T10:32:09 aclocal: add --aclocal-path option to override ACLOCAL_PATH envvar. From https://lists.gnu.org/archive/html/automake-patches/2022-01/msg00029.html (plus wording tweaks from Karl; and thanks to Bogdan for research). * bin/aclocal.in (usage): relabel output of m4 search path components to be somewhat more correct (Karl), although it's still a mess. (parse_arguments): add new option --aclocal-path=s. (parse_ACLOCAL_PATH): use $aclocal_path instead of hardwiring envvar. * doc/automake.texi (aclocal Options): document it. (dirlist): new anchor so we can reference it. (Modifying the Macro Search Path: @file{ACLOCAL_PATH}): mention the option. (Possible future incompatibility): tone down; it might never happen. * t/aclocal-path-precedence.sh: test the option. * NEWS: mention the new option.
Bruno Haible a2d56238 2024-06-17T10:06:25 automake: allow omitting logs of skipped tests from test-suite.log. * doc/automake.texi (Parallel Test Harness): Describe the contents of test-suite.log. Mention IGNORE_SKIPPED_LOGS. (Command-line arguments for test drivers): Document the --collect-skipped-logs option. * lib/test-driver (print_usage): Document --collect-skipped-logs. (collect_skipped_logs): New variable. (gcopy): Use collect_skipped_logs. * lib/am/check.am (am__common_driver_flags): Add the contents of am__collect_skipped_logs. (am__check_pre): Set am__collect_skipped_logs. * t/parallel-tests-without-skipped-logs.sh: New file, based on t/parallel-tests-no-color-in-log.sh. * t/list-of-tests.mk (handwritten_TESTS): Add it. * NEWS: Mention the change.
Collin Funk 18912ccd 2024-06-16T09:40:49 test: Accommodate C23 compilers. From https://bugs.gnu.org/71425. * t/yacc-deleted-headers.sh: Declare yyparse before use. * t/yacc-depend.sh: Likewise. * t/yacc-mix-c-cxx.sh: Likewise. * t/yacc-d-basic.sh: Likewise. Use void instead of empty parameter list. * t/yacc-depend2.sh: Likewise. * NEWS: mention this. * THANKS: add Collin.
Karl Berry 42bac29f 2024-06-16T09:20:29 test: the instdir-ltlib test is expected to fail. Discussed in https://bugs.gnu.org/71596. * t/list-of-tests.mk (handwritten_TESTS): move t/instdir-ltlib.sh (XFAIL_TESTS): to here. It previously worked by accident because lib_LTLIBRARIES was misspelled as lib_LTIBRARIES; Paul Eggert fixed that on June 7, commit 1d35638b23e95fe6f41c828a3442f6d7f242f4c4, and the test started failing as a result. * t/instdir-ltlib.sh: add some doc. * t/all.sh: likewise. (Another xfail test, which is mysterious to me.)
Karl Berry 0728c589 2024-06-12T10:20:15 doc: typo in t/color-tests2.sh comment. * t/color-tests2.sh: "a working a working".
Paul Eggert 1d35638b 2024-06-07T08:41:45 maint: spelling and whitespace fixes Most of these spelling fixes are just to comments and documentation. However, some affect tests as follows: * t/cond36.sh (tparse.h): Fix misspelling of dependency. * t/disthook.sh: Fix misspelling of file. * t/help3.sh: Fix misspelling of long option. * t/instdir-ltlib.sh: Fix misspellings of macro names. This causes the test to fail, so someone with libtool expertise needs to look into this. * t/tap-no-spurious-numbers.sh (highno): Fix misspelling of shell var.
Jim Meyering d61068e1 2024-06-02T18:02:41 tests: work also with v2.72-9-g7a6347d1 and newer * t/dist-missing-m4.sh: Accommodate a slightly different diagnostic ("undefined or overquoted macro" rather than "possibly undefined macro") in autoconf as of v2.72-9-g7a6347d1.
Karl Berry 23e69f6e 2024-05-27T12:34:35 test: check that subsecond mtime works with make. Trying to fix https://bugs.gnu.org/68808. * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): check that make works with subsecond mtimes, as well as sleep and ls. (Known to fail with the make 3.81 that ships with macOS.) * configure.ac (MTIME_RESOLUTION): notice if it erroneously expands to the empty string, i.e., fall back to 1 if $am_cv_filesystem_timestamp_resolution ended up being unset. * t/ax/test-defs.in (MTIME_RESOLUTION): also fall back to 1 if the variable to not set, with a message. Fix other typos en passant. * HACKING: tweak.
Bogdan b5b6f240 2024-05-26T15:35:58 test: objc tests on openbsd. Fixes https://bugs.gnu.org/68179. * t/objcxx-deps.sh: test for objc_getProperty and other functions in the objc library. * t/objcxx-minidemo.sh: likewise. * t/strip2.sh (STRIP): use -x instead of --verbose to test strip with multiple words, to work with openbsd (and aix) strip.
Reuben Thomas 618408d7 2024-04-29T18:21:50 doc: typos in test file. From https://bugs.gnu.org/70557#23. * t/vala-vapi.sh: typos.
Bogdan efb9f7b2 2024-02-07T14:56:25 test: protect more yacc declarations against C vs. C++ linkage. Fix for more of https://bugs.gnu.org/68832. * t/yacc-clean-cxx.sh: more #ifdef of yylex, etc., following https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62886, now for OpenIndiana. Specifically: #if (defined __cplusplus) && ((!defined __sun) || (defined __EXTERN_C__)) * t/yacc-cxx.sh: likewise. * t/yacc-d-cxx.sh: likewise. * t/yacc-mix-c-cxx.sh: likewise.
Karl Berry 70127e61 2024-02-03T08:38:49 test: make bug-reporting message on test failure more explicit. From https://bugs.gnu.org/68855. * NEWS: mention this. * lib/am/check.am ($(TEST_SUITE_LOG)) <please_report>: new fn, new wording. * t/ax/test-defs.in (failure_footer_text): new wording. (failure_footer_text_colorized): add red. * t/ax/tap-summary-aux.sh (failure_footer): use failure_footer_text*. * t/tap-doc2.sh: change grep. * t/testsuite-summary-color.sh: likewise. * t/testsuite-summary-count-many.sh: likewise. * t/testsuite-summary-count.sh: likewise. * t/testsuite-summary-reference-log.sh: likewise.
Karl Berry c354194e 2024-01-29T14:16:01 test: elide leading spaces within case for macOS sh. Yet another fix in https://bugs.gnu.org/68119. * t/py-compile-basedir.sh: sed away the leading spaces from wc -l output within the case statement.
Bogdan f1112a88 2024-01-28T18:12:50 test: another check for PEP-3147 induced by Python 3.12.1. Fix for more of https://bugs.gnu.org/68119. * t/ax/am-test-lib.sh (python_has_pep3147) <am_pep3147_tag>: check sys.implementation.cache_tag as well as the (old) imp.get_tag. For Python 3.12.1.
Karl Berry 50466f62 2024-01-28T07:45:25 test: more rerunning autotools, C++ std:: portability. Trying to fix more of https://bugs.gnu.org/68119. * t/aclocal-deleted-header-aclocal-amflags.sh: $sleep before file modifications. * t/aclocal-deleted-header.sh: likewise. * t/aclocal-deps.sh: likewise. * t/subdir-add2-pr46.sh: likewise. * t/yacc-mix-c-cxx.sh: #include <cstdlib> before using std::..., following yacc-cxx and yacc-d-cxx tests.
Paul Eggert b80b5c47 2024-01-01T11:29:06 maint: make update-copyright
Bruno Haible 87119fa3 2023-12-31T15:27:15 test: don't hang waiting for Solaris lex/yacc to read from stdin. From https://bugs.gnu.org/68165. * t/get-sysconf.sh: Don't let $LEX or $YACC read from stdin when trying --version and --help. Only lex --version hangs, but may as well avoid it in general.
Karl Berry 01b62818 2023-12-25T15:42:34 test: silent-defaults.sh rerun autotools each time. Follow-up to https://bugs.gnu.org/32868. * t/silent-defaults.sh: rerun $ACLOCAL && $AUTOMAKE for each trial, else test failed. (Why it has always succeeded before now, and/or what has changed, I don't know.) Remake the cache for each trial, for reliability. Echo trial description. * doc/automake.texi (Silent Rules): tweak text. (Unsilencing Automake): new node. Mention make --debug=p to completely unsilence rules.
Karl Berry 354b7e47 2023-12-25T15:40:25 test: self-announce leading installcheck/protocol/PATH information. * t/ax/am-test-lib.sh (am_extra_info): self-announce where the initial reports on installcheck, test protocol, and PATH come from. Apparently this doesn't disturb the tests. If other people don't like the extra verbiage, no problem to remove.
Karl Berry 0249be1e 2023-12-25T15:38:15 test: force long sleep with explicit cache variable setting. From https://bugs.gnu.org/67670. * t/ax/test-defs.in: when MTIME_RESOLUTION is set to 1 because automake/autom4te do not support subsecond-mtime, also set am_cv_sleep_fractional_seconds=false. Otherwise the random parallel test failures from given bug and others return. * m4/sanity.m4 (_AM_SLEEP_FRACTIONAL_SECONDS): reformat. (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): elide "the" in AC_CACHE_CHECK. * t/amassign.sh: end with :. * HACKING: more on debugging tests. * NEWS: update.
Dimitri Papadopoulos 6a2d079b 2023-12-24T15:02:30 doc: typos from codespell. Report and patch: https://bugs.gnu.org/68003. * bin/automake.in: typo from codespell. * configure.ac: likewise. * t/dist-auxdir-many-subdirs.sh: likewise. * t/instmany-mans.sh: likewise. * t/instmany-python.sh: likewise. * t/instmany.sh: likewise. * t/nostdinc.sh: likewise. * t/parallel-tests-fork-bomb.sh: likewise. * t/rm-f-probe.sh: likewise. * t/tap-basic.sh: likewise. * t/test-driver-custom-multitest.sh: likewise. * t/txinfo-vtexi3.sh: likewise.
Karl Berry 448fd777 2023-12-24T08:55:04 test: do not leave files as mode zero. Follows up on https://bugs.gnu.org/67868. * t/dist-with-unreadable-makefile-fails.sh: chmod u+rw at end. Also follow usual pattern of ending tests with :, not explicit exit. * t/tap-bad-prog.tap: chmod u+r at end (since only r removed).
karl 31a4eb47 2023-12-17T08:42:35 dist: more forcefully deal with mode 0 directories created by tests. From https://bugs.gnu.org/67868. * lib/am/distdir.am (am__remove_distdir): make directories readable and searchable, not just writable. (Also typo.) * t/local.mk (clean-local-check): ensure directories are at least mode 700 * t/uninstall-fail.sh: restore reasonable permissions of the mode 0 $inst/share directory at the end.
Zack Weinberg cfdb83d4 2023-12-10T09:50:51 automake: again revise file mtime resolution support. This patch is from https://bugs.gnu.org/67670. In order for the Automake testsuite to be able to use sub-second delays to control whether certain files are considered newer than others, five(!) separate pieces of software all need to cooperate: automake itself, autoconf's internal `autom4te' utility, the Perl interpreter and its libraries, the sleep(1) shell utility, and finally the filesystem hosting the build directory. The existing tests for this are a combination of inadequate and incorrect. This patch, in conjunction with a patch just committed to Autoconf trunk, https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=39d96e6fff7ceae63b823872602caf4d255a38c8 should make everything much more robust, as follows: - _AM_FILESYSTEM_TIMESTAMP_RESOLUTION is completely rewritten. It no longer looks for autom4te at all, because this macro is invoked unconditionally from AM_INIT, so *every* project that uses Automake would get this test that's only relevant to Automake's own testsuite. Also, it tries sleeping for as little as one millisecond (smaller delays consistently get rounded up to 1ms on my computer and I expect that's universal), it should accurately detect FAT's two-second resolution now, and it should not be tripped up anymore by running at precisely the moment that will make a 0.1s sleep cross a 1s boundary (this may sound unlikely but it used to cause a couple of test failures *every time* I ran the automake testsuite on a network filesystem that only supported 1s resolution). - In support of the above, the test for working ls -t moved from AM_SANITY_CHECK to _AM_FILESYSTEM_TIMESTAMP_RESOLUTION. This allowed me to simplify the test for $srcdir/configure being older than a freshly created file. - If automake is capable of reading high-resolution file modification timestamps from the operating system, it prints `Features: subsecond-mtime' as the second line of --version output. (We can't just assume this works for sufficiently new automake, because it depends on whether the Perl interpreter provides this capability, and that's not a simple question of which version of Perl you have, either.) - The Autoconf patch mentioned above adds the same annotation to the output of autom4te --version. - Finally, t/ax/test-defs.in looks for the `Features: subsecond-mtime' string from both automake and autom4te and resets the sleep time to one second if it's not there. There might be a better place to put this, somewhere it'll execute every time the *overall testsuite* is invoked rather than once for each test, but I couldn't find one. Tested on x86-64-linux with development automake and development autoconf. Previous discussion: - https://lists.gnu.org/archive/html/automake/2023-03/msg00000.html - https://lists.gnu.org/archive/html/automake/2023-04/msg00002.html - https://lists.gnu.org/archive/html/automake/2023-12/msg00005.html - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64756 * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Rewrite for greater reliability. Don't probe autom4te at all here. Check for working ls -t here. (AM_SANITY_CHECK): Do not cache the result. Do not check for working `ls -t' here. Disentangle control flow in the loop probing the relative ages of build and source directory. * lib/Automake/FileUtils.pm: Sync from autoconf. * bin/automake.in (version): Include `Features: subsecond-mtime' in the output if $Automake::FileUtils::subsecond_mtime is true. * configure.ac: Rename the substitution variable MODIFICATION_DELAY to MTIME_RESOLUTION. * t/ax/test-defs.in: Require both $AUTOMAKE and $AUTOM4TE to report support for high-resolution timestamps before setting $sleep to delay for less than one second. * NEWS: Update info.
Karl Berry 458bc6ad 2023-11-15T10:37:22 tests: give input file to sed. * t/posixtarget.sh: sed ... Makefile | grep, not sed ... | grep Makefile, to avoid waiting forever on stdin.
Bogdan c889fedb 2023-11-01T09:22:46 tests: add new test for AM_PROG_LEX arguments. See https://bugs.gnu.org/65600 and https://bugs.gnu.org/65730 and https://lists.gnu.org/archive/html/automake/2023-07/msg00007.html. * t/lex-args.sh: New test. * t/list-of-tests.mk (handwritten_tests): Add it.
Karl Berry b2d0fee3 2023-10-06T08:28:19 tests: add test for new posix option. See https://bugs.gnu.org/55025. * t/posixtarget.sh: New test. * t/list-of-tests.mk (handwritten_tests): Add it. * t/README: mention using existing tests as a basis.
Frédéric Bérat 80714ea0 2023-08-29T11:00:41 tests: avoid implicit function declarations. This patch is from https://bugs.gnu.org/59993 (v2 part 2). * t/c-demo.sh: This patch is related to an effort to prepare Automake for future GCC/Clang versions which set c99 as default standard to be used. C99 requires that functions be properly declared before use. This is true for both user functions and standard functions, e.g., printf. * t/cond35.sh: Likewise. * t/dist-vs-built-sources.sh: Likewise. * t/lex-clean.sh: Likewise. * t/lex-multiple.sh: Likewise. * t/lex-nodist.sh: Likewise. * t/ltcond2.sh: Likewise. * t/ltconv.sh: Likewise. * t/subobj-clean-lt-pr10697.sh: Likewise. * t/subobj-clean-pr10697.sh: Likewise. * t/tags-pr12372.sh: Likewise. * t/yacc-basic.sh: Likewise. * t/yacc-clean.sh: Likewise. * t/yacc-nodist.sh: Likewise. This patch is from https://bugs.gnu.org/59993.
Frédéric Bérat c1f34ffe 2023-08-28T18:32:53 tests: don't try to prevent flex from including unistd.h. This patch is from https://bugs.gnu.org/59994. * t/cond35.sh: This patch is related to an effort to prepare Automake for future GCC/Clang versions which set c99 as default standard to be used. In the current version of flex, not having unistd.h leads to implicit function declarations that are not compatible with C99. A future version of flex will (hopefully) make the "NO_UNISTD" flag a no-op, and include unistd.h by default. Also, while flex-dedicated tests had this macro set, yacc tests did not, despite their use of flex. For consistency, all the yacc/flex related tests now have the "--never-interactive" option set in AM_LFLAGS, and do not try define an isatty function. * t/lex-clean-cxx.sh: Likewise. * t/lex-clean.sh: Likewise. * t/lex-depend-cxx.sh: Likewise. * t/lex-depend.sh: Likewise. * t/lex-header.sh: Likewise. * t/lex-lib-external.sh: Likewise. * t/lex-lib.sh: Likewise. * t/lex-libobj.sh: Likewise. * t/lex-line.sh: Likewise. * t/lex-multiple.sh: Likewise. * t/lex-nodist.sh: Likewise. * t/lex-noyywrap.sh: Likewise. * t/lex-pr204.sh: Likewise. * t/lex-subobj-nodep.sh: Likewise. * t/lex3.sh: Likewise. * t/lex5.sh: Likewise. * t/lexvpath.sh: Likewise. * t/silent-lex.sh: Likewise. * t/silent-many-languages.sh: Likewise. * t/silent-yacc-headers.sh: Likewise. * t/silent-yacc.sh: Likewise. * t/subpkg-yacc.sh: Likewise. * t/suffix10.tap: Likewise. * t/yacc-auxdir.sh: Likewise. * t/yacc-basic.sh: Likewise. * t/yacc-bison-skeleton-cxx.sh: Likewise. * t/yacc-bison-skeleton.sh: Likewise. * t/yacc-clean-cxx.sh: Likewise. * t/yacc-clean.sh: Likewise. * t/yacc-cxx-grepping.sh: Likewise. * t/yacc-cxx.sh: Likewise. * t/yacc-d-basic.sh: Likewise. * t/yacc-d-cxx.sh: Likewise. * t/yacc-d-vpath.sh: Likewise. * t/yacc-deleted-headers.sh: Likewise. * t/yacc-depend.sh: Likewise. * t/yacc-depend2.sh: Likewise. * t/yacc-dist-nobuild-subdir.sh: Likewise. * t/yacc-dist-nobuild.sh: Likewise. * t/yacc-dry.sh: Likewise. * t/yacc-grepping.sh: Likewise. * t/yacc-grepping2.sh: Likewise. * t/yacc-headers-and-dist-pr47.sh: Likewise. * t/yacc-line.sh: Likewise. * t/yacc-misc.sh: Likewise. * t/yacc-mix-c-cxx.sh: Likewise. * t/yacc-nodist.sh: Likewise. * t/yacc-pr204.sh: Likewise. * t/yacc-subdir.sh: Likewise. * t/yacc-vpath.sh: Likewise. * t/yacc-weirdnames.sh: Likewise. * t/yflags-cmdline-override.sh: Likewise. * t/yflags-cxx.sh: Likewise. * t/yflags-d-false-positives.sh: Likewise. * t/yflags-force-conditional.sh: Likewise. * t/yflags-force-override.sh: Likewise. * t/yflags-var-expand.sh: Likewise. * t/yflags.sh: Likewise.
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.