GNU bug report logs -
#10898
test-suite output of automake-1.11.3 - it requested I send it to you!
Previous Next
Reported by: Lou Picciano <Lou <at> Picciano.org>
Date: Mon, 27 Feb 2012 17:02:01 UTC
Severity: normal
Tags: moreinfo, patch
Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 10898 in the body.
You can then email your comments to 10898 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-automake <at> gnu.org
:
bug#10898
; Package
automake
.
(Mon, 27 Feb 2012 17:02:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Lou Picciano <Lou <at> Picciano.org>
:
New bug report received and forwarded. Copy sent to
bug-automake <at> gnu.org
.
(Mon, 27 Feb 2012 17:02:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Building - and testing - significantly more completely now...
Build is on OpenIndiana 151a2 (illumos/née OpenSolaris) - and, yes; will
certainly keep an eye out for the upcoming ßeta.
Regards, Lou Picciano
=====================================
5 of 787 tests failed
(151 tests were not run)
See tests/test-suite.log
Please report to bug-automake <at> gnu.org
=====================================
Prego And thanks to you for your testing ...
Oh, and FYI, I'm planning a beta release for next major automake version (1.12)
some point this week or the next one; keep an eye on the autotools-announce
list in case you are interested in testing this as well.
Regards,
Stefano
[Message part 2 (text/html, inline)]
[automake-1.11.3-test-suite.log (text/plain, attachment)]
Information forwarded
to
bug-automake <at> gnu.org
:
bug#10898
; Package
automake
.
(Mon, 27 Feb 2012 19:46:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 10898 <at> debbugs.gnu.org (full text, mbox):
Hi Lou, thanks for the report.
On 02/27/2012 05:53 PM, Lou Picciano wrote:
> Building - and testing - significantly more completely now...
>
> Build is on OpenIndiana 151a2 (illumos/née OpenSolaris) - and, yes; will certainly keep an eye out for the upcoming ßeta.
>
> Regards, Lou Picciano
>
> =====================================
> 5 of 787 tests failed
> (151 tests were not run)
> See tests/test-suite.log
> Please report to bug-automake <at> gnu.org
> =====================================
>
> FAIL: ansi2knr-deprecation.test (exit: 1)
> =========================================
>
> [SNIP]
>
OK, this is almost surely a spurious failure due to a testsuite weakness
(we were forgetting to clobber a possibly out-of-date autom4te cache);
absolutely nothing to worry about ... And moreover, the 'ansi2knr' support
is strongly deprecated in automake 1.11.2 already, and will be removed
altogether in automake 1.12. You can safely ignore this error.
> FAIL: automake.test (exit: 1)
> =============================
>
> [SNIP]
>
> + test 1 = 1
> + grep 'input file.*--voo' stderr
> automake: no Automake input file found for `--voo'
> + AUTOMAKE_fails ''
> + AUTOMAKE_run 1
> + expected_exitcode=1
> + shift
> + exitcode=0
> + automake-1.11 --foreign -Werror -Wall
> + 1> stdout 2> stderr
> + exitcode=1
> + cat stderr
> + 1>& 2
> configure.in: no proper invocation of AM_INIT_AUTOMAKE was found.
> configure.in: You should verify that configure.in invokes AM_INIT_AUTOMAKE,
> configure.in: that aclocal.m4 is present in the top-level directory,
> configure.in: and that aclocal.m4 was recently regenerated (using aclocal).
> automake: no `Makefile.am' found for any configure output
> + cat stdout
> + test 1 = 1
> + grep 'empty argument' stderr
> + exit_status=1
>
Ah, likely the famous ksh bug with "$@" and empty arguments:
<http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00037.html>
Can you verify that your shell suffers of the problem described there? If
yes, a patch to fix this issue should be trivial.
> FAIL: instfail.test (exit: 1)
> =============================
>
> [SNIP]
>
> WARNING: Warnings can be ignored. :-)
> if test "emacs" != no; then \
> set x; \
> list='lisp1.el lisp2.el lisp3.el lispn1.el lispn2.el lispn3.el'; for p in $list; do \
> if test -f "$p"; then d=; else d="./"; fi; \
> set x "$@" "$d$p"; shift; \
> done; \
> shift; \
> EMACS="emacs" /bin/sh ./elisp-comp "$@" || exit 1; \
> else : ; fi
> /usr/bin/emacs: no emacs binaries available. Install software package
> SUNWgnu-emacs-gtk, SUNWgnu-emacs-x, or SUNWgnu-emacs-nox
> *** Error code 1
> make: Fatal error: Command failed for target `elc-stamp'
> + exit_status=1
> instfail: exit 1
>
Spurious error due to a broken emacs installation, not automake's fault.
> FAIL: instspc.test (exit: 1)
> ============================
>
> [SNIP]
>
> + mkdir sub1 ./a:
> + cd a:
> .../instspc.test[137]: cd: a:: [No such file or directory]
> + exit_status=1
>
I remember seeing a similar problem when testing with ksh on Solaris; this is a
spurious failure due to a ksh bug, nothing to worry about. Moreover, the
instspc.test has been extensively rewritten in master, and made more resilient
to this kind of shell bugs (if you think this failure is weird, you should see
the one on MSYS ;-). In case you re-encounter this failure with automake from
master, feel free to open a new report.
> FAIL: subpkg4.test (exit: 1)
> ============================
>
> + make distdir
> ...
> find "../subpkg4-1.0/subpkg" -type d ! -perm -755 \
> -exec chmod u+rwx,go+rx {} \; -o \
> ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
> ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
> ...
>
> find: bad option -links
> find: [-E] [-H | -L] path-list predicate-list
>
Oops, your find (1) doesn't support the '-links' option, which is mandated by
POSIX: <http://pubs.opengroup.org/onlinepubs/009604599/utilities/find.html>.
Also, both Solaris 10 /usr/xpg4/bin/find and /usr/bin/find support it (I've
just checked).
Can you try to re-run this test with a more capable 'find' program early
in path, like GNU find? Does the test fails in this case as well?
Thanks,
Stefano
Information forwarded
to
bug-automake <at> gnu.org
:
bug#10898
; Package
automake
.
(Tue, 28 Feb 2012 22:26:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 10898 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
[adding autoconf]
On 02/28/2012 09:42 AM, Stefano Lattarini wrote:
>> Ah, likely the famous ksh bug with "$@" and empty arguments:
>>
>> <http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00037.html>
> See automake bug#10898.
>
> At least the AT&T and OpenSolaris versions of the Korn shell have a
> strange bug regarding the expression ${1+"$@"}: when exactly *one*
> empty argument is passed to a shell function, inside that function
> the expression ${1+"$@"} will expand to *nothing*, rather than to
> to the single empty string, as one would expect. This was causing
> a spurious failure in our testsuite when a shell suffering of this
> bug was used to run the test cases.
Yuck - this sounds like it should be documented in the autoconf manual.
Is it only shell functions that are affected, but global use of
${1+"$@"} is still safe?
--
Eric Blake eblake <at> redhat.com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-automake <at> gnu.org
:
bug#10898
; Package
automake
.
(Tue, 28 Feb 2012 22:31:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 10898 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Lou.
Please keep the mailing list in loop when you answer. Thanks.
I'm re-sending your answer to the list, so that it gets seen by the other
subscribers and registered in the bug tracker.
On 02/28/2012 03:05 PM, Lou Picciano wrote:
> Stefano,
>
> Tks for your notes -
> I'm encouraged to think that, with a bit of work, I may just wind up with a
> perfect version of automake!
> On specific points:
>
> Ah, likely the famous ksh bug with "$@" and empty arguments:
>
> <http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00037.html>
>
> Can you verify that your shell suffers of the problem described there? If
> yes, a patch to fix this issue should be trivial.
>
> Looks like we reproduce that bug example exactly - what patch would you propose?:
>
Just a simple workaround for the affected shell function(s); see the attached
patch. Could you confirm it fixes your problem?
> drlou <at> build:~$ foo.sh
> ---
> $#: 0
>
> ---
> $#: 1
>
> ---
> $#: 2
> xy
> ---
> $#: 2
> xy xay
> ---
> $#: 3
> xay xy xby
> ---
> drlou <at> build:~$ sh foo.sh
> ---
> $#: 0
>
> ---
> $#: 1
>
> ---
> $#: 2
> xy
> ---
> $#: 2
> xy xay
> ---
> $#: 3
> xay xy xby
> ---
> drlou <at> build:~$ ksh foo.sh
> ---
> $#: 0
>
> ---
> $#: 1
>
> ---
> $#: 2
> xy
> ---
> $#: 2
> xy xay
> ---
> $#: 3
> xay xy xby
> ---
>
> On the 'find' question:
>
> find: bad option -links
> find: [-E] [-H | -L] path-list predicate-list
>
>
> Oops, your find (1) doesn't support the '-links' option, which is mandated by
> POSIX:<http://pubs.opengroup.org/onlinepubs/009604599/utilities/find.html>.
>
> Yes, exactly right - build system defaults to 'solaris' find. working on this
> one next...:
>
So you are planning to fix your system's version of find? That would be great,
since it would allow us to avoid putting another ugly workaround in automake's
rules.
> drlou <at> build:~$ find -links
> find: illegal option -- l
> find: [-E] [-H | -L] path-list predicate-list
>
> drlou <at> build:~$ /usr/gnu/bin/find -links
> /usr/gnu/bin/find: missing argument to `-links'
>
> Regards, Lou Picciano
>
Thanks,
Stefano
[0001-tests-fix-a-spurious-failure-with-the-Korn-Shell.patch (text/x-diff, attachment)]
Information forwarded
to
bug-automake <at> gnu.org
:
bug#10898
; Package
automake
.
(Tue, 28 Feb 2012 22:59:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 10898 <at> debbugs.gnu.org (full text, mbox):
On 02/28/2012 05:51 PM, Eric Blake wrote:
> [adding autoconf]
>
> On 02/28/2012 09:42 AM, Stefano Lattarini wrote:
>
>>> Ah, likely the famous ksh bug with "$@" and empty arguments:
>>>
>>> <http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00037.html>
>
>> See automake bug#10898.
>>
>> At least the AT&T and OpenSolaris versions of the Korn shell have a
>> strange bug regarding the expression ${1+"$@"}: when exactly *one*
>> empty argument is passed to a shell function, inside that function
>> the expression ${1+"$@"} will expand to *nothing*, rather than to
>> to the single empty string, as one would expect. This was causing
>> a spurious failure in our testsuite when a shell suffering of this
>> bug was used to run the test cases.
>
> Yuck - this sounds like it should be documented in the autoconf manual.
> Is it only shell functions that are affected, but global use of
> ${1+"$@"} is still safe?
>
I can't be sure anymore -- the only affected shell I've ever encountered was
Debian's /bin/ksh (from the Debian package 'ksh' - "The real, AT&T version of
the Korn shell"), and the bugs has been fixed in it meanwhile:
$ /bin/ksh -c 'foo () { for i in ${1+"$@"}; do echo ":$i:"; done; }; foo ""'
::
Sorry,
Stefano
Information forwarded
to
bug-automake <at> gnu.org
:
bug#10898
; Package
automake
.
(Sat, 10 Mar 2012 12:08:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 10898 <at> debbugs.gnu.org (full text, mbox):
Hi Lou?
On 02/28/2012 05:42 PM, Stefano Lattarini wrote:
>
> On 02/28/2012 03:05 PM, Lou Picciano wrote:
>> Stefano,
>>
>> Tks for your notes -
>> I'm encouraged to think that, with a bit of work, I may just wind up with a
>> perfect version of automake!
>> On specific points:
>>
>> Ah, likely the famous ksh bug with "$@" and empty arguments:
>>
>> <http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00037.html>
>>
>> Can you verify that your shell suffers of the problem described there? If
>> yes, a patch to fix this issue should be trivial.
>>
>> Looks like we reproduce that bug example exactly - what patch would you propose?:
>>
> Just a simple workaround for the affected shell function(s); see the attached
> patch. Could you confirm it fixes your problem?
>
Ping on this? I'd like to confirm the workaround works before installing it
(and closing this bug).
Regards,
Stefano
Added tag(s) moreinfo.
Request was from
Stefano Lattarini <stefano.lattarini <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Wed, 18 Apr 2012 11:31:01 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-automake <at> gnu.org
:
bug#10898
; Package
automake
.
(Sat, 04 Aug 2012 15:52:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 10898 <at> debbugs.gnu.org (full text, mbox):
Fixes automake bug#10898. See also the older (much older) thread:
<http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00036.html>
At least the AT&T and OpenSolaris versions of the Korn shell, as well
as the /bin/sh from OpenIndiana 11, have a strange bug regarding the
expansion of ${1+"$@"}: when exactly *one empty* argument is passed to
a script run by one of this shells, inside that script ${1+"$@"} will
expand to *nothing*, rather than to to the single empty string, as
one would expect (OTOH, $# will correctly expand to 1). This buggy
behaviour was causing a spurious failure in our testsuite (test 6 in
't/automake-cmdline.tap'). Work around it.
* t/wrap/automake.in: Here.
Signed-off-by: Stefano Lattarini <stefano.lattarini <at> gmail.com>
---
t/wrap/automake.in | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/t/wrap/automake.in b/t/wrap/automake.in
index 14f437f..b77177c 100644
--- a/t/wrap/automake.in
+++ b/t/wrap/automake.in
@@ -27,4 +27,10 @@ fi
perllibdir="@abs_top_builddir@/lib <at> PATH_SEPARATOR@@abs_top_srcdir@/lib"
export perllibdir
-exec "@abs_top_builddir@/automake" "--libdir=@abs_top_srcdir@/lib" ${1+"$@"}
+# Don't trust ${1+"$@"}: it has subtle bugs in some Korn shells (for very
+# corner case only admittedly, but those have already bitten us -- see
+# automake bug#10898).
+case $# in
+ 0) exec "@abs_top_builddir@/automake" "--libdir=@abs_top_srcdir@/lib";;
+ *) exec "@abs_top_builddir@/automake" "--libdir=@abs_top_srcdir@/lib" "$@";;
+esac
--
1.7.12.rc0
Added tag(s) patch.
Request was from
Stefano Lattarini <stefano.lattarini <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Sat, 04 Aug 2012 22:14:02 GMT)
Full text and
rfc822 format available.
bug closed, send any further explanations to
10898 <at> debbugs.gnu.org and Lou Picciano <Lou <at> Picciano.org>
Request was from
Stefano Lattarini <stefano.lattarini <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Sat, 04 Aug 2012 22:14:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 02 Sep 2012 11:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 13 years and 19 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.