bug-automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: testsuite failures when test scripts are run with zsh


From: Stefano Lattarini
Subject: Re: testsuite failures when test scripts are run with zsh
Date: Mon, 31 Aug 2009 13:30:05 +0200
User-agent: KMail/1.12.0 (Linux/2.6.26-1-686; KDE/4.3.0; i686; ; )

Stefano Lattarini <address@hidden> wrote:
> Hi everybody.
>
> I forced the automake testsuite to run tests in parallel using the
> *Zsh* shell, with the following command:
>  $ make -j5 TEST_LOG_COMPILER='zsh  --nofunctionargzero' check
>
> The following failures turned up:
>
> FAIL: aclocal8.test (exit: 1)
> FAIL: acsilent.test (exit: 1)
> FAIL: depcomp2.test (exit: 1)
> FAIL: getopt.test (exit: 1)
> FAIL: location.test (exit: 1)
> FAIL: missing3.test (exit: 1)
> FAIL: output-order.test (exit: 1)
> FAIL: parallel-tests4.test (exit: 2)
> FAIL: unused.test (exit: 1)
> FAIL: warnopts.test (exit: 1)
> FAIL: check9-p.test (exit: 2)
>
> [CUT]
>
> Regards,
>    Stefano
If anybody is still interested in this report: I did some further
investigations, and it soon turned out that the failures are due to
the fact that zsh (version 4 or later) handle the `-x' option in a
totally brain-damaged way. In details: if a command which is run
when `set -x' is active has its standard error redirected to a file,
then zsh writes *also the trace* for the command into that file,
instead that into the original standard error.

The following examples should help making things clearer (warning:
I tried these only on my system, thus YMMV):
 
 $ bash -x -c 'echo bash >out 2>&1'
 + echo bash
 $ cat out
 bash
 
 $ dash -x -c 'echo dash >out 2>&1'
 + echo dash
 $ cat out
 dash
 
 $ ksh -x -c 'echo ksh >out 2>&1'
 + echo ksh
 + 1> out 2>& 1
 $ cat out
 ksh
 
 $ zsh3 -x -c 'echo zsh3 >out 2>&1'
 + echo zsh3
 $ cat out
 zsh3
 
 $ zsh4 -x -c 'echo zsh4 >out 2>&1'
 $ cat out
 +zsh:1> echo zsh
 zsh4

I found no workaround.  The only way I can think of to fix these
spurious failures involves modifying all the failing scripts in a 
hackish way, to work around this stupid behaviour of zsh.

IMHO, the best thing to do at this point is symply to edit the file 
`tests/README' and make it clearly state that Zsh (version 4 or 
later) is not supported by the testsuite.
By the way, the only systems I heard of that use zsh as /bin/sh
were MacOS X 10.0 or 10.1, and goolge tells me that they used
a 3.0.something version of zsh, which does not show the
aforementioned bug.

Regards,
   Stefano




reply via email to

[Prev in Thread] Current Thread [Next in Thread]