|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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'.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.)
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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:
|
|
61075eab
|
2025-01-01T14:31:02
|
|
maint: make update-copyright
|
|
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.
|
|
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.
|
|
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'.
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.)
|
|
0728c589
|
2024-06-12T10:20:15
|
|
doc: typo in t/color-tests2.sh comment.
* t/color-tests2.sh: "a working a working".
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
618408d7
|
2024-04-29T18:21:50
|
|
doc: typos in test file.
From https://bugs.gnu.org/70557#23.
* t/vala-vapi.sh: typos.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
b80b5c47
|
2024-01-01T11:29:06
|
|
maint: make update-copyright
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.)
|
|
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.)
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
16fa11bf
|
2023-03-29T11:48:02
|
|
Port 'make check' to platforms lacking libtool
* t/get-sysconf.sh: Don’t fail if libtoolize is missing.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
34bdde96
|
2023-01-04T02:00:14
|
|
maint: make update-copyright
|
|
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.
|
|
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?)
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|