Hello, Mathieu Lirzin <m...@gnu.org> writes:
> Dennis Clarke <dcla...@blastwave.org> writes: > >> The five failed tests are : >> >> FAIL: t/aclocal.sh >> FAIL: t/automake-cmdline.tap 4 - list of options terminated by '--' (stderr) >> FAIL: t/automake-cmdline.tap 17 - unambiguous incomplete long option >> FAIL: t/maken3.sh >> FAIL: t/maken3-w.sh > > My impression is that those failing tests are checking the edge cases > of Getopt::Long which is system dependent and not the functional > behavior of Automake. As a consequence it seems reasonable to narrow > the tests to more conservative Getopt::Long behaviors. Here is a patch that should fix this issue.
>From 83d5d37bc8f0adb0e20a6fe7ab68029d2479dd32 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin <m...@gnu.org> Date: Thu, 18 Jan 2018 11:19:13 +0100 Subject: [PATCH] tests: Don't check 'Getopt::Long' corner cases Depending on the installed 'Getopt::Long' perl module, command-line handling may vary a bit. As a consequence we prefer not to check command-line corners cases. This change fixes automake bug#29638. * t/aclocal.sh (am_create_testdir): Don't expect "--versi" to be interpreted as "--version". * t/automake-cmdline.tap: Don't expect "--vers" to be interpreted as "--version" and things after "--" to be interpreted as file arguments. (do_check): Display the actual command output. * t/maken3.sh (check_targets): "--force" is not a documented option, so don't use it. --- t/aclocal.sh | 2 -- t/automake-cmdline.tap | 13 ++----------- t/maken3.sh | 2 +- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/t/aclocal.sh b/t/aclocal.sh index 8cc8d5cc3..008493d5d 100644 --- a/t/aclocal.sh +++ b/t/aclocal.sh @@ -58,6 +58,4 @@ cat stderr >&2 grep 'unrecognized option.*--ver' stderr grep '[Tt]ry.*--help.*for more information' stderr -$ACLOCAL --versi - : diff --git a/t/automake-cmdline.tap b/t/automake-cmdline.tap index c4441efe6..306231faa 100644 --- a/t/automake-cmdline.tap +++ b/t/automake-cmdline.tap @@ -18,7 +18,7 @@ . test-init.sh -plan_ 17 +plan_ 14 # Usage: bad_cmdline DESCRIPTION REGEX-FOR-STDERR [ARGS-FOR-AUTOMAKE...] do_check () @@ -28,18 +28,11 @@ do_check () regex=$1; shift AUTOMAKE_fails -d "$desc (run)" -- "$@" command_ok_ "$desc (stderr)" grep "$regex" stderr + cat stderr } do_check 'invalid long option' 'unrecognized option.*--voo' --voo -# Older perl has a buggy Getopt::Long which makes this fail. -if $PERL -e 'require 5.8.2;'; then - do_check "list of options terminated by '--'" \ - 'input file.*--voo' -- --voo -else - skip_row_ 2 -r "older perl with buggy Getopt::Long" -fi - do_check "empty argument" \ 'empty argument' '' @@ -58,6 +51,4 @@ do_check "'--help' as option argument" \ do_check "ambiguous incomplete option" \ 'unrecognized option.*--ver' --ver -command_ok_ "unambiguous incomplete long option" $AUTOMAKE --vers - : diff --git a/t/maken3.sh b/t/maken3.sh index c37743cb7..8fe1d3269 100644 --- a/t/maken3.sh +++ b/t/maken3.sh @@ -181,7 +181,7 @@ check_targets || exit 1 # TODO: add BUILT_SOURCES to sub2, fix fallout. sed 's/##//' < Makefile.am > t mv -f t Makefile.am -$AUTOMAKE -Wno-override --force Makefile +$AUTOMAKE -Wno-override Makefile ./configure check_targets || exit 1 -- 2.15.1
Can you confirm this works on your system? -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37