Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: make test hangs on the Y tests



On Fri, Feb 18, 2011 at 10:25:29PM -0600, Vincent Stemen wrote:
> Hi.  On the master branch from git as of yesterday, running "make test"
> hangs when it gets to the Y01completion test.  It seems to hang on any
> of the 'Y' tests.
> 
>     # ZTST_verbose=2 make TESTNUM=Y test
>     cd Test ; make check
>     if test -n "gcc"; then  cd .. && DESTDIR=  make MODDIR=`pwd`/Test/Modules install.modules > /dev/null;  fi
>     if ZTST_testlist="`for f in ./Y*.ztst;  do echo $f; done`"  ZTST_srcdir="."  ZTST_exe=../Src/zsh  ../Src/zsh +Z -f ./runtests.zsh; then  stat=0;  else  stat=1;  fi;  sleep 1;  rm -rf Modules .zcompdump;  exit $stat
>     ./Y01completion.ztst: starting.
>     ZTST_getsect: read section name: prep
>     ZTST_getchunk: read code chunk:
>       if ( zmodload -i zsh/zpty ) >/dev/null 2>&1; then
>         . $ZTST_srcdir/comptest
>         mkdir comp.tmp
>         cd comp.tmp
>         comptestinit -z $ZTST_testdir/../Src/zsh &&
>         {
>           mkdir dir1 &&
>           mkdir dir2 &&
>           touch file1 &&
>           touch file2
>         }
>       else
>         ZTST_unimplemented="the zsh/zpty module is not available"
>       fi
>     ^C
> 
> As you can see at the bottom, I eventually hit ^C to break out.

Just as a reminder, this is on FreeBSD, in case it might make any
difference.

I have tracked down where it is hanging, but I don't know enough zsh
internals to know why.

When processing the %prep section of the Y tests,
it calls
    comptestinit -z $ZTST_testdir/../Src/zsh
which calls comptesteval() in Test/comptest.

On line 83 in comptesteval() it calls
    zpty -r -m zsh log_eval "*<PROMPT>*"
and thats where it hangs.  zpty never returns.

I hope this helps.  Let me know if there is anything more I can do to help
troubleshoot it.

Vince



Messages sorted by: Reverse Date, Date, Thread, Author