|
167f018c
|
2025-06-19T14:39:42
|
|
maint: silence 'time-stamp' warnings with bleeding-edge Emacs.
* contrib/tap-driver.pl: Use "%Y" instead of "%:y" for the
'time-stamp-format' local variable.
* 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.
|
|
939d256c
|
2025-05-03T09:31:41
|
|
tap: fix typo in usage message.
* lib/tap-driver.sh: The usage message was missing a hyphen in
'--log-file'.
|
|
40396ebd
|
2025-02-03T18:26:58
|
|
tap: include malformed output in error message to aid with debugging
* lib/tap-driver.sh: If the line that should contain the test script's exit
status is not an integer (which would indicate a bug with the driver, not the
code under test), include the line in the error message to help with
debugging.
|
|
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.
|
|
e8df4cd3
|
2025-02-03T18:26:56
|
|
tap: minimize stderr redirection to just the test script
* lib/tap-driver.sh: Keep driver stderr separate from test script
stderr to aid with debugging (e.g., `set -x').
|
|
68091961
|
2025-02-03T18:26:55
|
|
tap: close fd 3 before invoking the test script
* lib/tap-driver.sh: Close file descriptor 3 before invoking the test
script to avoid potential conflicts with the test script.
|
|
61075eab
|
2025-01-01T14:31:02
|
|
maint: make update-copyright
|
|
cee9ca0a
|
2024-12-03T14:56:53
|
|
lib scripts: Make time-stamp after-save-hooks buffer-local.
From https://bugs.gnu.org/74661.
* contrib/tap-driver.pl: Add time-stamp-line-limit so Emacs updates the
timestamp. Pass optional arguments to 'add-hook'.
* lib/tap-driver.sh: Likewise.
* lib/compile: Pass optional arguments to 'add-hook'.
* lib/depcomp: Likewise.
* lib/install-sh: Likewise.
* lib/mdate-sh: Likewise.
* lib/missing: Likewise.
* lib/mkinstalldirs: Likewise.
* lib/py-compile: Likewise.
* lib/test-driver: Likewise.
* lib/ylwrap: Likewise.
|
|
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.
|
|
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.
|
|
0d49ecb2
|
2024-05-21T09:54:35
|
|
doc: test-driver option args are separate words.
For https://bugs.gnu.org/70638.
As now mentioned in the manual, the description of the
test-driver command-line interface has been wrong since 2011
when it was first added. The manual, and the driver usage
messages themselves, have consistently shown option arguments
joined to the option name with `=' characters, while the
implementation of Automake has always provided option arguments
in the following argument word, and the provided test drivers
only accepted option arguments in the following argument word.
Because Automake has never used the `=' syntax, there can't
possibly be a working driver which actually follows the
specification as written, so, despite the fierce language of the
manual, we agreed that changing the specification was the right
approach. The `test-driver' program's usage message has already
been fixed (#22445), but the full extent of the problem wasn't
noticed at that time.
* doc/automake.texi (Command-line arguments for test drivers): Fix the
table of options to show arguments passed as separate words; add
footnote explaining this rather sorry situation.
* doc/automake.texi (Use TAP with the Automake test harness):
Remove `=' from documentation of `--diagnostic-string', because
that was never acceptable either.
* lib/tap-driver.sh: Fix usage message.
* contrib/tap-driver.pl: Change usage message to match the defined
protocol. (This implementation parses options using Perl's
`Getopt::Long' module, so it accepts the `=' syntax as specified, but
this program isn't actually used.)
|
|
b80b5c47
|
2024-01-01T11:29:06
|
|
maint: make update-copyright
|
|
90ef1189
|
2023-12-20T14:12:34
|
|
doc: typo in tap-driver.sh.
* lib/tap-driver.sh: to not too.
|
|
4adfd131
|
2023-11-19T06:55:04
|
|
doc: typos in tap-driver.sh.
* lib/tap-driver.sh: fix typos.
|
|
34bdde96
|
2023-01-04T02:00:14
|
|
maint: make update-copyright
|
|
6c8ff6a8
|
2022-01-12T14:15:12
|
|
maint: make update-copyright
|
|
a470a47f
|
2021-07-11T19:19:42
|
|
maint: make update-copyright
|
|
c8f8c3d5
|
2020-08-13T18:10:17
|
|
docs: typo in tap-driver.sh.
Per thread at:
https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00000.html
* lib/tap-driver.sh (setup_result_obj): "assing" typo, etc.
|
|
cf27a3df
|
2020-01-01T11:44:41
|
|
maint: make update-copyright
|
|
5ae02cc8
|
2019-10-14T13:46:55
|
|
maint: make update-copyright
|
|
6bab5b26
|
2018-03-06T20:13:32
|
|
maint: write-file-hooks -> before-save-hook
write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
it's time to use the recommended replacement.
Problem reported by Glenn Morris in:
https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
* contrib/tap-driver.pl, lib/compile, lib/depcomp, lib/install-sh:
* lib/mdate-sh, lib/missing, lib/mkinstalldirs, lib/py-compile:
* lib/tap-driver.sh, lib/test-driver, lib/ylwrap:
Update hook usage for files where Automake is the canonical source.
|
|
bbaa4cdc
|
2018-01-04T16:19:30
|
|
maint: Update copyright years to 2018
This update has been made with 'make update-copyright'.
|
|
c2757b97
|
2017-09-19T13:43:07
|
|
maint: Reset master
|
|
3562e384
|
2017-09-16T13:03:36
|
|
Prefer https: URLs
In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use
https:, to discourage man-in-the-middle attacks when downloading
software. The attached patch propagates these changes upstream to
Automake. This patch does not affect files that Automake is
downstream of, which I'll patch separately.
Althouth the resources are not secret, plain HTTP is vulnerable to
malicious routers that tamper with responses from GNU servers,
and this sort of thing is all too common when people in some other
countries browse US-based websites. See, for example:
Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar
S. Analyzing internet censorship in Pakistan. RTSI
2016. https://dx.doi.org/10.1109/RTSI.2016.7740626
HTTPS is not a complete solution here, but it can be a significant
help. The GNU project regularly serves up code to users, so we should
take some care here.
|
|
199e7a44
|
2017-09-16T13:03:36
|
|
Prefer https: URLs
In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use
https:, to discourage man-in-the-middle attacks when downloading
software. The attached patch propagates these changes upstream to
Automake. This patch does not affect files that Automake is
downstream of, which I'll patch separately.
Althouth the resources are not secret, plain HTTP is vulnerable to
malicious routers that tamper with responses from GNU servers,
and this sort of thing is all too common when people in some other
countries browse US-based websites. See, for example:
Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar
S. Analyzing internet censorship in Pakistan. RTSI
2016. https://dx.doi.org/10.1109/RTSI.2016.7740626
HTTPS is not a complete solution here, but it can be a significant
help. The GNU project regularly serves up code to users, so we should
take some care here.
|
|
d8add592
|
2017-03-02T18:55:53
|
|
maint: Update copyright years to 2017.
This update has been made with 'make update-copyright'.
|
|
1370ce5f
|
2017-01-01T08:34:49
|
|
maint: update copyright dates for 2017
* all files: Run this command, using update-copyright from gnulib:
UPDATE_COPYRIGHT_FORCE=1 \
UPDATE_COPYRIGHT_USE_INTERVALS=2 \
UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 \
update-copyright $(git ls-files)
|
|
9094d07d
|
2016-01-11T23:22:31
|
|
maint: port time-stamp-time-zone to strict POSIX
Set time-stamp-time-zone to "UTC0", not to "UTC", as POSIX defines
TZ="UTC0" not TZ="UTC".
|
|
5de75f07
|
2015-01-05T22:48:33
|
|
maint: update copyright years to 2015 (branch 'micro')
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
a78f63c5
|
2014-04-21T15:10:54
|
|
maint: update copyright years
We've been in 2014 already for few months now...
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
a5253365
|
2013-12-23T17:35:05
|
|
TAP driver: cosmetic fixes
* lib/tap-driver.sh: Quote 'like this', not `like this'. Remove an
obsolete FIXME. Correctly mark another comment as a TODO rather
than as a FIXME.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7df8b28c
|
2012-12-31T18:18:37
|
|
maint: update copyright year for 2013 (in branch maint)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
641a5a4b
|
2012-02-16T10:46:23
|
|
maint: run "make update-copyright"
|
|
8525b870
|
2012-01-10T10:01:29
|
|
tap/awk: avoid redirection issues with bash 3.2 and earlier
Fixes automake bug#10465.
* lib/tap-driver.sh: Add workaround for bash 3.2 and earlier, which
sometimes does not properly set '$?' when failing to write redirected
output of a compound command. See the Autoconf manual for more details.
The workaround was pointed out by Eric Blake.
|
|
2fa8a9e9
|
2011-12-27T11:45:59
|
|
tap/awk: "Bail out!" recognized also after leading whitespace
Newer versions of TAP::Harness (e.g., 3.23 on Perl 5.14.1)
recognize a "Bail out!" directive also when it is prepended by
leading whitespace; this was not the case for older TAP:Harness
versions, (e.g., for version 3.17 on Perl 5.12.4), and for our
TAP driver implemented in awk.
* lib/tap-driver.sh: Handle the "Bail out!" directive also when
it is preceded by leading whitespace.
* tests/tap-spurious.test: Remove the tests checking that a
"Bail out!" string coming right after leading whitespace does
not trigger a bailout action.
* tests/tap-bailout-leading-space.test: New test.
* tests/list-of-tests.mk: Add it.
Problem reported by Jim Meyering in automake bug#10374.
|
|
5014b1c2
|
2011-09-28T20:48:13
|
|
tap/awk: improve comments about Korn shell signal handling issues
* lib/tap-driver.sh: Link an Austin Group discussion about how
shells are allowed, and even encouraged, to set the special
variable `$?' to values greater than 256 to report termination
of a child by a signal. Improve and extend comments about our
workarounds for unusual korn shell signals' propagation.
Thanks to Eric Blake for the pointers.
|
|
93fcb730
|
2011-09-28T16:31:24
|
|
tap/awk: account for unusual korn shell signal handling behaviour
This change has been motivated by a testsuite failure on Debian
with the AT&T Korn Shell version 93u-1.
* lib/tap-driver.sh: Temporarily ignore some common signals when
waiting for the test command to complete, to avoid premature exit
in Korn shells that propagate to themselves signals that have
killed a child process.
See also related commit `v1.11-1342-g6321ad3'.
|
|
c6988f33
|
2011-09-28T16:05:06
|
|
tap/awk: handle exit statuses > 256 (seen on few korn shells)
Some Korn shells, when a child process die due to signal number
n, can leave in $? an exit status of 256+n instead of the more
standard 128+n. Apparently, both behaviours are allowed by
POSIX, so be prepared to handle them both.
This change has been motivated by a testsuite failure on Debian
with the AT&T Korn Shell version 93u-1.
* lib/tap-driver.sh (get_test_exit_message): Handle the described
Korn Shell behaviour too.
($scriptversion): Update.
|
|
e698ee3e
|
2011-08-25T13:22:58
|
|
tap/awk: allow escaping of TAP directives
* lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
directives in a way tat is (mostly) compatible by what is done
by the TAP::Parser module.
With this change, the tests `tap-escape-directive.test' and
`tap-escape-directive-2.test' now also pass with the shell/awk
implementation of the TAP driver.
|
|
33d456f2
|
2011-08-25T12:44:32
|
|
tap: improve syncing between awk+shell and perl implementations
* lib/tap-driver.pl (stringify_test_result): Renamed ...
(stringify_result_obj): ... to this. Break up a clause in the
long "if/elsif/.../else" construct to avoid unaesthetic line
breaks and to be more synced with the sibling function in
`tap-driver.sh'. Rename the `$result', `$PASS' and `$FAIL'
variables to respectively `$result_obj', `$COOKED_PASS' and
`$COOKED_FAIL', for clarity and better syncing.
(handle_tap_test): Renamed ...
(handle_tap_result): ... to this, and change the name of the
`$test' local variable to `$result_obj'.
(extract_comment): Reimplement using the simpler `index' and
`substr' builtins, rather than with more advanced uses of
regular expressions.
(%test_results, @test_results): Renamed respectively ...
(%test_results_seen, @test_results_list): ... to these, and
related adjustments throughout the `TEST_RESULTS' block.
(main, get_global_test_result): Refactor and do some cosmetic
changes to make these functions clearer and better synced with
sibling code in `tap-driver.sh'.
Other minor cosmetic and typo fixes.
* lib/tap-driver.sh (extract_tap_comment): Remove outdated
"FIXME" comments.
(get_global_test_result): Small reordering to make it better
synced with its sibling function in `tap-driver.pl'.
(stringify_result_obj): Consistently use `result_obj' as the
parameter name.
Other minor cosmetic and typo fixes.
|
|
4f394b74
|
2011-08-24T11:27:00
|
|
tap/awk: don't redirect awk stderr to log files
* lib/tap-driver.sh: Handle the file descriptors redirections
more smartly, to avoid sending error messages from awk (about
e.g. syntax or I/O errors) to the log files instead that to the
console.
* tests/tap-driver-stderr.test: New test, verifying the improved
driver behaviour. Notice that this test still fails when using
the perl implementation of the TAP driver.
* tests/Makefile.am (tap_other_tests): Update.
|
|
a822d925
|
2011-08-24T09:54:22
|
|
tap/awk: remove obsolete "FIXME" comment
* lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
driver losing the exit status of the tested program; this issue
has been solved in precedent commit `v1.11-1052-gd630a0d'. Fix
an unrelated typo in comments since we are at it.
|
|
d630a0d4
|
2011-08-22T15:00:09
|
|
tap/awk: handle non-zero exit status from the test command
* lib/tap-driver.sh (get_test_exit_message): New function in the
awk script, used to extract the exit status of the test program,
or at least a good guess of it.
(write_test_results): Use it, reporting an ERROR result if it
detects that the test program exited with a non-zero status.
* tests/tap-signal.test: Account for the differences in the
error messages generated by the awk and perl TAP drivers. Fix
an unrelated typo in comments since we are at it.
|
|
5116cc97
|
2011-08-22T12:14:32
|
|
tap/awk: prepare to fetch the exit status of the test command
* lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
to make it possible to read the exit status of the test command
from the last line of the input stream.
|
|
48b98a63
|
2011-08-22T12:00:05
|
|
tap/awk: refactor for future changes
* lib/tap-driver.sh: Rewrite the awk script so that the parsing
of the input stream is implemented as a hand-rolled loop in the
BEGIN block, using the `getline' builtin.
|
|
484ec4ec
|
2011-08-22T10:02:11
|
|
tap/awk: support Solaris /usr/xpg4/bin/awk
* lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
character in regexps, even when inside double-quoted strings; that
seems to be more portable to Solaris 10 XPG4 awk.
|
|
6c20cf07
|
2011-08-22T08:43:22
|
|
tap/awk: support Solaris /usr/bin/nawk
* lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
builtin in there was confusing /usr/bin/nawk from Solaris 10 into
a syntax error.
(write_test_results): Simply use `close' on the `*.trs' file, that
should be enough.
|
|
c9ca5f61
|
2011-08-21T23:15:45
|
|
tap/awk: correctly extract message from SKIP plans
* lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
the regex used to extract the skip message from a "1..0" TAP plan.
* tests/planskip.test: Check for the just-fixed bug.
* tests/tap-planskip-unplanned-corner.test: Don't be too strict
w.r.t. the formatting of the "skip whole test" message, to avoid
failing due to bugs irrelevant for this test (like the one just
fixed).
|
|
1bc8f828
|
2011-08-21T20:09:34
|
|
tap/awk: support colorized output
* lib/tap-driver.sh: Pass definition of colors to the BEGIN block
of the awk script, using ...
($init_colors): ... this new variable, which supersedes ...
($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
have been consequently removed.
($color_tests): We don't have to pass this anymore to the awk
script, so do not convert it to a numeric boolean.
(decorate_result): Implement for real.
With this change, the test 'tap-color.test' now passes.
|
|
fdfe9a11
|
2011-08-21T18:15:35
|
|
tap: real (but still incomplete) awk implementation of TAP driver
* lib/tap-driver.sh : Add an incomplete, but mostly working,
implementation of a TAP parser and driver in awk. It doesn't yet
support colorized output, fetching of exit status from test
programs, nor a way to escape TAP directives in TAP result lines,
but passes all the tests of TAP support in the automake testsuite,
apart from the following ones:
- tap-color.test
- tap-escape-directive.test
- tap-exit.test
- tap-missing-plan-and-bad-exit.test
- tap-passthrough-exit.test
- tap-planskip-badexit.test
- tap-planskip-unplanned-corner.test
- tap-signal.test
Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
`tap-realtime.test' fails, in addition to those listed above).
|
|
081e90a8
|
2011-08-17T16:32:48
|
|
parallel-tests: fix help screen for test driver scripts
* lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
too.
* lib/tap-driver.sh (print_usage): Likewise.
* lib/test-driver (print_usage): Likewise.
($scriptversion): Update.
|
|
51f413e9
|
2011-08-17T14:59:19
|
|
tap: add a dummy TAP driver script implemented in shell + awk
The user can also now decide which implementation of the TAP driver
to use in the testsuite by defining the `$am_tap_implementation'
variable to either "perl" or "shell". Future enhancements will
allow the testsuite to automatically run the test scripts on TAP
support with both the TAP driver implementations, to improve
coverage.
* tests/defs (fetch_tap_driver): Honor the `$am_tap_implementation'
variable to decide which implementation of the TAP driver to fetch.
($am_tap_implementation): Default to "perl".
* tests/tap-common-setup.test: Do not fetch the TAP driver, the
code in tap-setup.sh does that already (and respecting runtime
overriding of `$am_tap_implementation').
* lib/tap-driver: Renamed ...
* lib/tap-driver.pl: ... to this, and ...
($ME): ... adjusted this.
* doc/automake.texi: Adjust to the renaming.
* tests/Makefile.am (TAP_LOG_DRIVER): Likewise.
* tests/tap-doc2.test: Likewise.
* lib/tap-driver.sh: New script, still mostly dummy.
* lib/Makefile.am (dist_script_DATA): Update, and since we are at
it, rewrite it to make it easier to add new entries in the future.
|