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

Re: 4.0.1-pre-5 (solaris issues)



> In Solaris 8.  This is from part of 'make test' with a strait './configure ; 
> make':
> 
> Test ./A04redirect.ztst failed: output differs from expected as shown above 
> for:
> 
> ./V01zmodload.ztst: starting.
> Segmentation Fault

I don't have these problems under Solaris 8 if I compile with gcc 2.95.3
or Forte C 6.1u1.  However, if I use Forte with -xtarget=ultra -xarch=v9
(i.e., 64-bit), failures occur.
cd Test ; make check
make[1]: Entering directory `/tmp/obj-sun/Test'
if test -n "/opt/SUNWspro/bin/cc -xtarget=ultra -xarch=v9"; then \
  cd .. && \
  make MODDIR=`pwd`/Test/Modules install.modules > /dev/null; \
fi
for f in ../../zsh-4.0.1-pre-5/Test/*.ztst; do \
  ../Src/zsh +Z -f ../../zsh-4.0.1-pre-5/Test/ztst.zsh $f; \
done
../../zsh-4.0.1-pre-5/Test/A01grammar.ztst: starting.
This test hangs the shell when it fails...
../../zsh-4.0.1-pre-5/Test/A01grammar.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/A02alias.ztst: starting.
../../zsh-4.0.1-pre-5/Test/A02alias.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/A03quoting.ztst: starting.
../../zsh-4.0.1-pre-5/Test/A03quoting.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/A04redirect.ztst: starting.
Test ../../zsh-4.0.1-pre-5/Test/A04redirect.ztst failed: bad status 1, expected 0 from:
  foo=bar
  cat <<'  HERE'
  $foo
  HERE
  eval "$(print 'cat <<HERE\n$foo\nHERE')"
Error output:
ZTST_execchunk:2: bad address
ZTST_execchunk:2: bad address
Was testing: Here-documents
../../zsh-4.0.1-pre-5/Test/A04redirect.ztst: test failed.
../../zsh-4.0.1-pre-5/Test/A05execution.ztst: starting.
../../zsh-4.0.1-pre-5/Test/A05execution.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/B01cd.ztst: starting.
../../zsh-4.0.1-pre-5/Test/B01cd.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/C01arith.ztst: starting.
../../zsh-4.0.1-pre-5/Test/C01arith.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/C02cond.ztst: starting.
../../zsh-4.0.1-pre-5/Test/C02cond.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/C03traps.ztst: starting.
This test takes at least three seconds...
This test, too, takes at least three seconds...
../../zsh-4.0.1-pre-5/Test/C03traps.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/C04funcdef.ztst: starting.
../../zsh-4.0.1-pre-5/Test/C04funcdef.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/D01prompt.ztst: starting.
../../zsh-4.0.1-pre-5/Test/D02glob.ztst: starting.
*** /tmp/zsh.ztst.out.6093	Tue May 22 11:53:42 2001
--- /tmp/zsh.ztst.tout.6093	Tue May 22 11:53:42 2001
***************
*** 1,154 ****
- 0:  [[ foo~ = foo~ ]]
- 0:  [[ foo~ = (foo~) ]]
- 0:  [[ foo~ = (foo~|) ]]
- 0:  [[ foo.c = *.c~boo* ]]
- 1:  [[ foo.c = *.c~boo*~foo* ]]
- 0:  [[ fofo = (fo#)# ]]
- 0:  [[ ffo = (fo#)# ]]
- 0:  [[ foooofo = (fo#)# ]]
- 0:  [[ foooofof = (fo#)# ]]
- 0:  [[ fooofoofofooo = (fo#)# ]]
- 1:  [[ foooofof = (fo##)# ]]
- 1:  [[ xfoooofof = (fo#)# ]]
- 1:  [[ foooofofx = (fo#)# ]]
- 0:  [[ ofxoofxo = ((ofo#x)#o)# ]]
- 1:  [[ ofooofoofofooo = (fo#)# ]]
- 0:  [[ foooxfooxfoxfooox = (fo#x)# ]]
- 1:  [[ foooxfooxofoxfooox = (fo#x)# ]]
- 0:  [[ foooxfooxfxfooox = (fo#x)# ]]
- 0:  [[ ofxoofxo = ((ofo#x)#o)# ]]
- 0:  [[ ofoooxoofxo = ((ofo#x)#o)# ]]
- 0:  [[ ofoooxoofxoofoooxoofxo = ((ofo#x)#o)# ]]
- 0:  [[ ofoooxoofxoofoooxoofxoo = ((ofo#x)#o)# ]]
- 1:  [[ ofoooxoofxoofoooxoofxofo = ((ofo#x)#o)# ]]
- 0:  [[ ofoooxoofxoofoooxoofxooofxofxo = ((ofo#x)#o)# ]]
- 0:  [[ aac = ((a))#a(c) ]]
- 0:  [[ ac = ((a))#a(c) ]]
- 1:  [[ c = ((a))#a(c) ]]
- 0:  [[ aaac = ((a))#a(c) ]]
- 1:  [[ baaac = ((a))#a(c) ]]
- 0:  [[ abcd = ?(a|b)c#d ]]
- 0:  [[ abcd = (ab|ab#)c#d ]]
- 0:  [[ acd = (ab|ab#)c#d ]]
- 0:  [[ abbcd = (ab|ab#)c#d ]]
- 0:  [[ effgz = (bc##d|ef#g?|(h|)i(j|k)) ]]
- 0:  [[ efgz = (bc##d|ef#g?|(h|)i(j|k)) ]]
- 0:  [[ egz = (bc##d|ef#g?|(h|)i(j|k)) ]]
- 0:  [[ egzefffgzbcdij = (bc##d|ef#g?|(h|)i(j|k))# ]]
- 1:  [[ egz = (bc##d|ef##g?|(h|)i(j|k)) ]]
- 0:  [[ ofoofo = (ofo##)# ]]
- 0:  [[ oxfoxoxfox = (oxf(ox)##)# ]]
- 1:  [[ oxfoxfox = (oxf(ox)##)# ]]
- 0:  [[ ofoofo = (ofo##|f)# ]]
- 0:  [[ foofoofo = (foo|f|fo)(f|ofo##)# ]]
- 0:  [[ oofooofo = (of|oofo##)# ]]
- 0:  [[ fffooofoooooffoofffooofff = (f#o#)# ]]
- 1:  [[ fffooofoooooffoofffooofffx = (f#o#)# ]]
- 0:  [[ fofoofoofofoo = (fo|foo)# ]]
- 0:  [[ foo = ((^x)) ]]
- 0:  [[ foo = ((^x)*) ]]
- 1:  [[ foo = ((^foo)) ]]
- 0:  [[ foo = ((^foo)*) ]]
- 0:  [[ foobar = ((^foo)) ]]
- 0:  [[ foobar = ((^foo)*) ]]
- 1:  [[ foot = z*~*x ]]
- 0:  [[ zoot = z*~*x ]]
- 1:  [[ foox = z*~*x ]]
- 1:  [[ zoox = z*~*x ]]
- 0:  [[ moo.cow = (*~*.*).(*~*.*) ]]
- 1:  [[ mad.moo.cow = (*~*.*).(*~*.*) ]]
- 0:  [[ moo.cow = (^*.*).(^*.*) ]]
- 1:  [[ sane.moo.cow = (^*.*).(^*.*) ]]
- 1:  [[ mucca.pazza = mu(^c#)?.pa(^z#)? ]]
- 1:  [[ _foo~ = _(|*[^~]) ]]
- 0:  [[ fff = ((^f)) ]]
- 0:  [[ fff = ((^f)#) ]]
- 0:  [[ fff = ((^f)##) ]]
- 0:  [[ ooo = ((^f)) ]]
- 0:  [[ ooo = ((^f)#) ]]
- 0:  [[ ooo = ((^f)##) ]]
- 0:  [[ foo = ((^f)) ]]
- 0:  [[ foo = ((^f)#) ]]
- 0:  [[ foo = ((^f)##) ]]
- 1:  [[ f = ((^f)) ]]
- 1:  [[ f = ((^f)#) ]]
- 1:  [[ f = ((^f)##) ]]
- 0:  [[ foot = (^z*|*x) ]]
- 1:  [[ zoot = (^z*|*x) ]]
- 0:  [[ foox = (^z*|*x) ]]
- 0:  [[ zoox = (^z*|*x) ]]
- 0:  [[ foo = (^foo)# ]]
- 1:  [[ foob = (^foo)b* ]]
- 0:  [[ foobb = (^foo)b* ]]
- 1:  [[ foob = (*~foo)b* ]]
- 0:  [[ foobb = (*~foo)b* ]]
- 1:  [[ zsh = ^z* ]]
- 0:  [[ a%1X = [[:alpha:][:punct:]]#[[:digit:]][^[:lower:]] ]]
- 1:  [[ a%1 = [[:alpha:][:punct:]]#[[:digit:]][^[:lower:]] ]]
- 0:  [[ [: = [[:]# ]]
- 0:  [[ :] = []:]# ]]
- 0:  [[ :] = [:]]# ]]
- 0:  [[ [ = [[] ]]
- 0:  [[ ] = []] ]]
- 0:  [[ [] = [^]]] ]]
- 0:  [[ fooxx = (#i)FOOXX ]]
- 1:  [[ fooxx = (#l)FOOXX ]]
- 0:  [[ FOOXX = (#l)fooxx ]]
- 1:  [[ fooxx = (#i)FOO(#I)X(#i)X ]]
- 0:  [[ fooXx = (#i)FOO(#I)X(#i)X ]]
- 0:  [[ fooxx = ((#i)FOOX)x ]]
- 1:  [[ fooxx = ((#i)FOOX)X ]]
- 1:  [[ BAR = (bar|(#i)foo) ]]
- 0:  [[ FOO = (bar|(#i)foo) ]]
- 0:  [[ Modules = (#i)*m* ]]
- 0:  [[ fooGRUD = (#i)(bar|(#I)foo|(#i)rod)grud ]]
- 1:  [[ FOOGRUD = (#i)(bar|(#I)foo|(#i)rod)grud ]]
- 0:  [[ readme = (#i)readme~README|readme ]]
- 0:  [[ readme = (#i)readme~README|readme~README ]]
- 0:  [[ 633 = <1-1000>33 ]]
- 0:  [[ 633 = <-1000>33 ]]
- 0:  [[ 633 = <1->33 ]]
- 0:  [[ 633 = <->33 ]]
- 0:  [[ READ.ME = (#ia1)readme ]]
- 1:  [[ READ..ME = (#ia1)readme ]]
- 0:  [[ README = (#ia1)readm ]]
- 0:  [[ READM = (#ia1)readme ]]
- 0:  [[ README = (#ia1)eadme ]]
- 0:  [[ EADME = (#ia1)readme ]]
- 0:  [[ READEM = (#ia1)readme ]]
- 1:  [[ ADME = (#ia1)readme ]]
- 1:  [[ README = (#ia1)read ]]
- 0:  [[ bob = (#a1)[b][b] ]]
- 1:  [[ bob = (#a1)[b][b]a ]]
- 0:  [[ bob = (#a1)[b]o[b]a ]]
- 1:  [[ bob = (#a1)[c]o[b] ]]
- 0:  [[ abcd = (#a2)XbcX ]]
- 0:  [[ abcd = (#a2)ad ]]
- 0:  [[ ad = (#a2)abcd ]]
- 0:  [[ abcd = (#a2)bd ]]
- 0:  [[ bd = (#a2)abcd ]]
- 0:  [[ badc = (#a2)abcd ]]
- 0:  [[ adbc = (#a2)abcd ]]
- 1:  [[ dcba = (#a2)abcd ]]
- 0:  [[ dcba = (#a3)abcd ]]
- 0:  [[ aabaXaaabY = (#a1)(a#b)#Y ]]
- 0:  [[ aabaXaaabY = (#a1)(a#b)(a#b)Y ]]
- 0:  [[ aaXaaaaabY = (#a1)(a#b)(a#b)Y ]]
- 0:  [[ aaaXaaabY = (#a1)(a##b)##Y ]]
- 0:  [[ aaaXbaabY = (#a1)(a##b)##Y ]]
- 1:  [[ read.me = (#ia1)README~READ.ME ]]
- 0:  [[ read.me = (#ia1)README~READ_ME ]]
- 1:  [[ read.me = (#ia1)README~(#a1)READ_ME ]]
- 0:  [[ test = *((#s)|/)test((#e)|/)* ]]
- 0:  [[ test/path = *((#s)|/)test((#e)|/)* ]]
- 0:  [[ path/test = *((#s)|/)test((#e)|/)* ]]
- 0:  [[ path/test/ohyes = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ atest = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ testy = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ testy/path = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ path/atest = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ atest/path = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ path/testy = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ path/testy/ohyes = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ path/atest/ohyes = *((#s)|/)test((#e)|/)* ]]
  0 tests failed.
--- 1 ----
Test ../../zsh-4.0.1-pre-5/Test/D02glob.ztst failed: output differs from expected as shown above for:
  globtest globtests
Error output:
/tmp/obj-sun/Test/../../zsh-4.0.1-pre-5/Test/../Misc/globtests:7: bad address
Was testing: zsh globbing
../../zsh-4.0.1-pre-5/Test/D02glob.ztst: test failed.
../../zsh-4.0.1-pre-5/Test/D03procsubst.ztst: starting.
../../zsh-4.0.1-pre-5/Test/D04parameter.ztst: starting.
../../zsh-4.0.1-pre-5/Test/D04parameter.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/D05array.ztst: starting.
../../zsh-4.0.1-pre-5/Test/D05array.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/D06subscript.ztst: starting.
../../zsh-4.0.1-pre-5/Test/D06subscript.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/E01options.ztst: starting.
../../zsh-4.0.1-pre-5/Test/E01options.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/E02xtrace.ztst: starting.
*** /tmp/zsh.ztst.out.6775	Tue May 22 11:53:54 2001
--- /tmp/zsh.ztst.tout.6775	Tue May 22 11:53:54 2001
***************
*** 1,26 ****
  Tracing: builtin
  Tracing: builtin 2>file
- Tracing: external
- Tracing: external 2>file
  Tracing: ( builtin )
  Tracing: ( builtin ) 2>file
- Tracing: ( external )
- Tracing: ( external ) 2>file
  Tracing: { builtin }
  Tracing: { builtin } 2>file
- Tracing: { external }
- Tracing: { external } 2>file
  Tracing: do builtin done
  Tracing: do builtin done 2>file
- Tracing: do external done
- Tracing: do external done 2>file
  Tracing: function
  Tracing: function 2>file
  Tracing: source
  Tracing: source 2>file
  +ZTST_execchunk:2> print Tracing: ( builtin ) 2>file
! +ZTST_execchunk:2> cat
  +ZTST_execchunk:2> print Tracing: { builtin } 2>file
! +ZTST_execchunk:2> cat
  +ZTST_execchunk:2> print Tracing: do builtin done 2>file
! +ZTST_execchunk:2> cat
--- 1,18 ----
  Tracing: builtin
  Tracing: builtin 2>file
  Tracing: ( builtin )
  Tracing: ( builtin ) 2>file
  Tracing: { builtin }
  Tracing: { builtin } 2>file
  Tracing: do builtin done
  Tracing: do builtin done 2>file
  Tracing: function
  Tracing: function 2>file
  Tracing: source
  Tracing: source 2>file
  +ZTST_execchunk:2> print Tracing: ( builtin ) 2>file
! ZTST_execchunk:2: bad address
  +ZTST_execchunk:2> print Tracing: { builtin } 2>file
! ZTST_execchunk:2: bad address
  +ZTST_execchunk:2> print Tracing: do builtin done 2>file
! ZTST_execchunk:2: bad address
Test ../../zsh-4.0.1-pre-5/Test/E02xtrace.ztst failed: output differs from expected as shown above for:
  set -x
  print 'Tracing: builtin'
  print 'Tracing: builtin 2>file' 2>xtrace.err
  cat <<<'Tracing: external'
  cat <<<'Tracing: external 2>file' 2>>xtrace.err
  ( print 'Tracing: ( builtin )' )
  ( print 'Tracing: ( builtin ) 2>file' ) 2>>xtrace.err
  ( cat <<<'Tracing: ( external )' )
  ( cat <<<'Tracing: ( external ) 2>file' ) 2>>xtrace.err
  { print 'Tracing: { builtin }' }
  { print 'Tracing: { builtin } 2>file' } 2>>xtrace.err
  { cat <<<'Tracing: { external }' }
  { cat <<<'Tracing: { external } 2>file' } 2>>xtrace.err
  repeat 1 do print 'Tracing: do builtin done'; done
  repeat 1 do print 'Tracing: do builtin done 2>file'; done 2>>xtrace.err
  repeat 1 do cat <<<'Tracing: do external done'; done
  repeat 1 do cat <<<'Tracing: do external done 2>file'; done 2>>xtrace.err
  xtf 'Tracing: function'
  xtf 'Tracing: function 2>file' 2>>xtrace.err
  . ./xt.in 'Tracing: source'
  . ./xt.in 'Tracing: source 2>file' 2>>xtrace.err
  set +x
  cat xtrace.err
Error output:
+ZTST_execchunk:2> print Tracing: builtin
+ZTST_execchunk:2> print Tracing: builtin 2>file
ZTST_execchunk:2: bad address
ZTST_execchunk:2: bad address
+ZTST_execchunk:2> print Tracing: ( builtin )
ZTST_execchunk:2: bad address
+ZTST_execchunk:2> print Tracing: { builtin }
ZTST_execchunk:2: bad address
+ZTST_execchunk:2> print Tracing: do builtin done
ZTST_execchunk:2: bad address
+ZTST_execchunk:2> xtf Tracing: function
+xtf:0> local regression_test_dummy_variable
+xtf:0> print Tracing: function
+ZTST_execchunk:2> xtf Tracing: function 2>file
+xtf:0> local regression_test_dummy_variable
+xtf:0> print Tracing: function 2>file
+ZTST_execchunk:2> . ./xt.in Tracing: source
+./xt.in:1> print Tracing: source
+ZTST_execchunk:2> . ./xt.in Tracing: source 2>file
+./xt.in:1> print Tracing: source 2>file
+ZTST_execchunk:2> set +x
Was testing: xtrace with and without redirection
../../zsh-4.0.1-pre-5/Test/E02xtrace.ztst: test failed.
../../zsh-4.0.1-pre-5/Test/V01zmodload.ztst: starting.
../../zsh-4.0.1-pre-5/Test/V01zmodload.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/V02zregexparse.ztst: starting.
../../zsh-4.0.1-pre-5/Test/V02zregexparse.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/Y01completion.ztst: starting.
../../zsh-4.0.1-pre-5/Test/Y01completion.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/Y02compmatch.ztst: starting.
../../zsh-4.0.1-pre-5/Test/Y02compmatch.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/Y03arguments.ztst: starting.
../../zsh-4.0.1-pre-5/Test/Y03arguments.ztst: all tests successful.
rm -rf Modules .zcompdump
make[1]: Leaving directory `/tmp/obj-sun/Test'
cd Test ; make check
make[1]: Entering directory `/tmp/obj-sun/Test'
if test -n "/opt/SUNWspro/bin/cc -xtarget=ultra -xarch=v9"; then \
  cd .. && \
  make MODDIR=`pwd`/Test/Modules install.modules > /dev/null; \
fi
for f in ../../zsh-4.0.1-pre-5/Test/*.ztst; do \
  ../Src/zsh +Z -f ../../zsh-4.0.1-pre-5/Test/ztst.zsh $f; \
done
../../zsh-4.0.1-pre-5/Test/A01grammar.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
  mkdir basic.tmp && cd basic.tmp
  touch foo bar
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:
  echo foo | cat | sed 's/foo/bar/'
ZTST_getchunk: read code chunk:
  echo foo | cat | sed 's/foo/bar/'
ZTST_test: examining line:
>bar
ZTST_getredir: read redir for '>':
bar
ZTST_test: examining line:

Running test: Basic pipeline handling
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
bar
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  false | true
ZTST_getchunk: read code chunk:
  false | true
ZTST_test: examining line:

Running test: Exit status of pipeline with builtins (true)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  true | false
ZTST_getchunk: read code chunk:
  true | false
ZTST_test: examining line:

Running test: Exit status of pipeline with builtins (false)
ZTST_test: expecting status: 1
ZTST_execchunk: status 1
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  fn() { local foo; read foo; print $foo; }
ZTST_getchunk: read code chunk:
  fn() { local foo; read foo; print $foo; }
  coproc fn
  print -p coproc test output
  read -p bar
  print $bar
ZTST_test: examining line:
>coproc test output
ZTST_getredir: read redir for '>':
coproc test output
ZTST_test: examining line:

Running test: Basic coprocess handling
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
coproc test output
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  true | false && print true || print false
ZTST_getchunk: read code chunk:
  true | false && print true || print false
ZTST_test: examining line:
>false
ZTST_getredir: read redir for '>':
false
ZTST_test: examining line:

Running test: Basic sublist (i)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
false
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  false | true && print true || print false
ZTST_getchunk: read code chunk:
  false | true && print true || print false
ZTST_test: examining line:
>true
ZTST_getredir: read redir for '>':
true
ZTST_test: examining line:

Running test: Basic sublist (ii)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
true
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  (cd /NonExistentDirectory >&/dev/null) || print false
ZTST_getchunk: read code chunk:
  (cd /NonExistentDirectory >&/dev/null) || print false
ZTST_test: examining line:
>false
ZTST_getredir: read redir for '>':
false
ZTST_test: examining line:

Running test: Basic subshell list with error
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
false
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  { cd /NonExistentDirectory >&/dev/null } || print false
ZTST_getchunk: read code chunk:
  { cd /NonExistentDirectory >&/dev/null } || print false
ZTST_test: examining line:
>false
ZTST_getredir: read redir for '>':
false
ZTST_test: examining line:

Running test: Basic current shell list with error
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
false
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  - $ZTST_testdir/../Src/zsh -fc "[[ \$0 = \"-$ZTST_testdir/../Src/zsh\" ]]"
ZTST_getchunk: read code chunk:
  - $ZTST_testdir/../Src/zsh -fc "[[ \$0 = \"-$ZTST_testdir/../Src/zsh\" ]]"
ZTST_test: examining line:

Running test: `-' precommand modifier
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  echo f*
ZTST_getchunk: read code chunk:
  echo f*
  noglob echo f*
ZTST_test: examining line:
>foo
ZTST_getredir: read redir for '>':
foo
f*
ZTST_test: examining line:

Running test: `noglob' precommand modifier
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
foo
f*
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  (exec /bin/sh; echo bar)
ZTST_getchunk: read code chunk:
  (exec /bin/sh; echo bar)
ZTST_test: examining line:

Running test: `exec' precommand modifier
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  cat() { echo Function cat executed; }
ZTST_getchunk: read code chunk:
  cat() { echo Function cat executed; }
  command cat && unfunction cat
ZTST_test: examining line:
<External command cat executed
ZTST_getredir: read redir for '<':
External command cat executed
ZTST_test: examining line:
>External command cat executed
ZTST_getredir: read redir for '>':
External command cat executed
ZTST_test: examining line:

Running test: `command' precommand modifier
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
External command cat executed
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  cd() { echo Not cd at all; }
ZTST_getchunk: read code chunk:
  cd() { echo Not cd at all; }
  builtin cd . && unfunction cd
ZTST_test: examining line:

Running test: `builtin' precommand modifier
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:

ZTST_test: examining line:
  if true; then
ZTST_getchunk: read code chunk:
  if true; then
    print true-1
  elif true; then
    print true-2
  else
    print false
  fi
ZTST_test: examining line:
>true-1
ZTST_getredir: read redir for '>':
true-1
ZTST_test: examining line:

Running test: `if ...' (i)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
true-1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  if false; then
ZTST_getchunk: read code chunk:
  if false; then
    print true-1
  elif true; then
    print true-2
  else
    print false
  fi
ZTST_test: examining line:
>true-2
ZTST_getredir: read redir for '>':
true-2
ZTST_test: examining line:

Running test: `if ...' (ii)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
true-2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  if false; then
ZTST_getchunk: read code chunk:
  if false; then
    print true-1
  elif false; then
    print true-2
  else
    print false
  fi
ZTST_test: examining line:
>false
ZTST_getredir: read redir for '>':
false
ZTST_test: examining line:

Running test: `if ...' (iii)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
false
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  if true;
ZTST_getchunk: read code chunk:
  if true;
    :
  fi
ZTST_test: examining line:
?ZTST_execchunk:-1: parse error near `fi'
ZTST_getredir: read redir for '?':
ZTST_execchunk:-1: parse error near `fi'
ZTST_test: examining line:

Running test: `if ...' (iv)
ZTST_test: expecting status: 1
ZTST_execchunk: status 1
ZTST_test: test produced standard output:

ZTST_test: and standard error:
ZTST_execchunk:-1: parse error near `fi'
Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  for name in word to term; do
ZTST_getchunk: read code chunk:
  for name in word to term; do
    print $name
  done
ZTST_test: examining line:
>word
ZTST_getredir: read redir for '>':
word
to
term
ZTST_test: examining line:

Running test: `for' loop
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
word
to
term
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  for (( name = 0; name < 3; name++ )); do
ZTST_getchunk: read code chunk:
  for (( name = 0; name < 3; name++ )); do
    print $name
  done
ZTST_test: examining line:
>0
ZTST_getredir: read redir for '>':
0
1
2
ZTST_test: examining line:

Running test: arithmetic `for' loop
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
0
1
2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  name=0
ZTST_getchunk: read code chunk:
  name=0
  while (( name < 3 )); do
    print $name
    (( name++ ))
  done
ZTST_test: examining line:
>0
ZTST_getredir: read redir for '>':
0
1
2
ZTST_test: examining line:

Running test: `while' loop
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
0
1
2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  name=0
ZTST_getchunk: read code chunk:
  name=0
  until (( name == 3 )); do
    print $name
    (( name++ ))
  done
ZTST_test: examining line:
>0
ZTST_getredir: read redir for '>':
0
1
2
ZTST_test: examining line:

Running test: `until' loop
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
0
1
2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  repeat 3 do
ZTST_getchunk: read code chunk:
  repeat 3 do
    echo over and over
  done
ZTST_test: examining line:
>over and over
ZTST_getredir: read redir for '>':
over and over
over and over
over and over
ZTST_test: examining line:

Running test: `repeat' loop
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
over and over
over and over
over and over
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  word=Trinity
ZTST_getchunk: read code chunk:
  word=Trinity
  case $word in
    Michaelmas) print 0
                ;;
    Hilary) print 1
            ;;
    Trinity) print 2
             ;;
    *) print 3
       ;;
  esac
ZTST_test: examining line:
>2
ZTST_getredir: read redir for '>':
2
ZTST_test: examining line:

Running test: `case' loop, old syntax
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  word=Trinity
ZTST_getchunk: read code chunk:
  word=Trinity
  case $word in
    (Michaelmas) print 0
                ;;
    (Hilary) print 1
            ;;
    (Trinity) print 2
             ;;
    (*) print 3
       ;;
  esac
ZTST_test: examining line:
>2
ZTST_getredir: read redir for '>':
2
ZTST_test: examining line:

Running test: `case' loop, new syntax
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  word=Hilary
ZTST_getchunk: read code chunk:
  word=Hilary
  case $word in
    (Michaelmas) print 0
                ;;
    (Hilary) print 1
            ;&
    (Trinity) print 2
             ;&
    (*) print 3
       ;;
  esac
ZTST_test: examining line:
>1
ZTST_getredir: read redir for '>':
1
2
3
ZTST_test: examining line:

Running test: `case' loop, new syntax, cascaded
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
1
2
3
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:

ZTST_test: examining line:
  function name1 name2 () { print This is $0; }
ZTST_getchunk: read code chunk:
  function name1 name2 () { print This is $0; }
  name2
  name1 name2() { print This is still $0; }
  name2
ZTST_test: examining line:
>This is name2
ZTST_getredir: read redir for '>':
This is name2
This is still name2
ZTST_test: examining line:

Running test: `function' keyword
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
This is name2
This is still name2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  (time cat) >&/dev/null
ZTST_getchunk: read code chunk:
  (time cat) >&/dev/null
ZTST_test: examining line:

Running test: `time' keyword (status only)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  if [[ -f foo && -d . && -n $ZTST_testdir ]]; then
ZTST_getchunk: read code chunk:
  if [[ -f foo && -d . && -n $ZTST_testdir ]]; then
    true
  else
    false
  fi
ZTST_test: examining line:

Running test: basic [[ ... ]] test
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:

ZTST_test: examining line:
  if (true) { print true-1 } elif (true) { print true-2 } else { print false }
ZTST_getchunk: read code chunk:
  if (true) { print true-1 } elif (true) { print true-2 } else { print false }
  if (false) { print true-1 } elif (true) { print true-2 } else { print false }
  if (false) { print true-1 } elif (false) { print true-2 } else { print false }
ZTST_test: examining line:
>true-1
ZTST_getredir: read redir for '>':
true-1
true-2
false
ZTST_test: examining line:

Running test: Alternate `if' with braces
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
true-1
true-2
false
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  if true; print true
ZTST_getchunk: read code chunk:
  if true; print true
ZTST_test: examining line:
>true
ZTST_getredir: read redir for '>':
true
ZTST_test: examining line:

Running test: Short form of `if'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
true
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  for name ( word1 word2 word3 ) print $name
ZTST_getchunk: read code chunk:
  for name ( word1 word2 word3 ) print $name
ZTST_test: examining line:
>word1
ZTST_getredir: read redir for '>':
word1
word2
word3
ZTST_test: examining line:

Running test: Form of `for' with parentheses.
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
word1
word2
word3
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  for name in alpha beta gamma; print $name
ZTST_getchunk: read code chunk:
  for name in alpha beta gamma; print $name
ZTST_test: examining line:
>alpha
ZTST_getredir: read redir for '>':
alpha
beta
gamma
ZTST_test: examining line:

Running test: Short form of `for'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
alpha
beta
gamma
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  for (( val = 2; val < 10; val *= val )) print $val
ZTST_getchunk: read code chunk:
  for (( val = 2; val < 10; val *= val )) print $val
ZTST_test: examining line:
>2
ZTST_getredir: read redir for '>':
2
4
ZTST_test: examining line:

Running test: Short arithmetic `for'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
2
4
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  foreach name ( verbiage words periphrasis )
ZTST_getchunk: read code chunk:
  foreach name ( verbiage words periphrasis )
    print $name
  end
ZTST_test: examining line:
>verbiage
ZTST_getredir: read redir for '>':
verbiage
words
periphrasis
ZTST_test: examining line:

Running test: Csh-like `for'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
verbiage
words
periphrasis
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  val=0;
ZTST_getchunk: read code chunk:
  val=0;
  while (( val < 2 )) { print $((val++)); }
ZTST_test: examining line:
>0
ZTST_getredir: read redir for '>':
0
1
ZTST_test: examining line:

Running test: Alternative `while'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
0
1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  val=2;
ZTST_getchunk: read code chunk:
  val=2;
  until (( val == 0 )) { print $((val--)); }
ZTST_test: examining line:
>2
ZTST_getredir: read redir for '>':
2
1
ZTST_test: examining line:

Running test: Alternative `until'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
2
1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  repeat 3 print Hip hip hooray
ZTST_getchunk: read code chunk:
  repeat 3 print Hip hip hooray
ZTST_test: examining line:
>Hip hip hooray
ZTST_getredir: read redir for '>':
Hip hip hooray
Hip hip hooray
Hip hip hooray
ZTST_test: examining line:

Running test: Short `repeat'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Hip hip hooray
Hip hip hooray
Hip hip hooray
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  case bravo {
ZTST_getchunk: read code chunk:
  case bravo {
    (alpha) print schmalpha
	    ;;
    (bravo) print schmavo
	    ;;
    (charlie) print schmarlie
	    ;;
  }
ZTST_test: examining line:
>schmavo
ZTST_getredir: read redir for '>':
schmavo
ZTST_test: examining line:

Running test: `case' with braces
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
schmavo
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print 'This test hangs the shell when it fails...' >&8
ZTST_getchunk: read code chunk:
  print 'This test hangs the shell when it fails...' >&8
  name=0
  while (( name < 4375 )); do
    print -n $name
    (( name++ ))
  done < /dev/null | { read name; print done }
ZTST_test: examining line:
>done
ZTST_getredir: read redir for '>':
done
ZTST_test: examining line:

Running test: Bug regression: `while' loop with redirection and pipeline
ZTST_test: expecting status: 0
This test hangs the shell when it fails...
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
done
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: all tests successful
../../zsh-4.0.1-pre-5/Test/A01grammar.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/A02alias.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
  alias foo=echo
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  alias -g bar=echo
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  alias '\bar=echo'
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:
  foo foo
ZTST_getchunk: read code chunk:
  foo foo
ZTST_test: examining line:
>foo
ZTST_getredir: read redir for '>':
foo
ZTST_test: examining line:

Running test: Basic aliasing
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
foo
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  bar bar
ZTST_getchunk: read code chunk:
  bar bar
ZTST_test: examining line:
>echo
ZTST_getredir: read redir for '>':
echo
ZTST_test: examining line:

Running test: Global aliasing
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
echo
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  \foo foo
ZTST_getchunk: read code chunk:
  \foo foo
ZTST_test: examining line:
?ZTST_execchunk:2: command not found: foo
ZTST_getredir: read redir for '?':
ZTST_execchunk:2: command not found: foo
ZTST_test: examining line:

Running test: Not aliasing
ZTST_test: expecting status: 1
ZTST_execchunk: status 1
ZTST_test: test produced standard output:

ZTST_test: and standard error:
ZTST_execchunk:2: command not found: foo
Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  \bar \bar
ZTST_getchunk: read code chunk:
  \bar \bar
ZTST_test: examining line:
>bar
ZTST_getredir: read redir for '>':
bar
ZTST_test: examining line:

Running test: Aliasing with a backslash
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
bar
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: all tests successful
../../zsh-4.0.1-pre-5/Test/A02alias.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/A03quoting.ztst: starting.
ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:
  print 'single  quotes'  "double  quotes"  `echo backquotes`
ZTST_getchunk: read code chunk:
  print 'single  quotes'  "double  quotes"  `echo backquotes`
ZTST_test: examining line:
>single  quotes double  quotes backquotes
ZTST_getredir: read redir for '>':
single  quotes double  quotes backquotes
ZTST_test: examining line:

Running test: Simple use of quotes
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
single  quotes double  quotes backquotes
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  foo=text
ZTST_getchunk: read code chunk:
  foo=text
  print -r '$foo\\\' "$foo\$foo\\\"\``echo bar`\`\"" `print -r $foo\\\``
ZTST_test: examining line:
>$foo\\\ text$foo\"`bar`" text`
ZTST_getredir: read redir for '>':
$foo\\\ text$foo\"`bar`" text`
ZTST_test: examining line:

Running test: Quoting inside quotes
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
$foo\\\ text$foo\"`bar`" text`
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print -r $'\'ut queant laxis\'\n"resonare fibris"'
ZTST_getchunk: read code chunk:
  print -r $'\'ut queant laxis\'\n"resonare fibris"'
ZTST_test: examining line:
>'ut queant laxis'
ZTST_getredir: read redir for '>':
'ut queant laxis'
"resonare fibris"
ZTST_test: examining line:

Running test: $'-style quotes
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
'ut queant laxis'
"resonare fibris"
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print -r ''''
ZTST_getchunk: read code chunk:
  print -r ''''
  setopt rcquotes
ZTST_test: examining line:
>
ZTST_getredir: read redir for '>':

ZTST_test: examining line:

Running test: No RC_QUOTES with single quotes
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print -r ''''
ZTST_getchunk: read code chunk:
  print -r ''''
  unsetopt rcquotes
ZTST_test: examining line:
>'
ZTST_getredir: read redir for '>':
'
ZTST_test: examining line:

Running test: Yes RC_QUOTES with single quotes
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
'
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: all tests successful
../../zsh-4.0.1-pre-5/Test/A03quoting.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/A04redirect.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
  mkdir redir.tmp && cd redir.tmp
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print 'This is file redir' >redir  &&  cat redir
ZTST_getchunk: read code chunk:
  print 'This is file redir' >redir  &&  cat redir
ZTST_test: examining line:
>This is file redir
ZTST_getredir: read redir for '>':
This is file redir
ZTST_test: examining line:

Running test: '>' and '<' redirection
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
This is file redir
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  rm -f redir
ZTST_getchunk: read code chunk:
  rm -f redir
  print 'This is still file redir' <>redir >&0  &&  cat <>redir
ZTST_test: examining line:
>This is still file redir
ZTST_getredir: read redir for '>':
This is still file redir
ZTST_test: examining line:

Running test: '<>' redirection
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
This is still file redir
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  rm -f redir
ZTST_getchunk: read code chunk:
  rm -f redir
  print 'With a bar' >|redir  &&  cat redir
ZTST_test: examining line:
>With a bar
ZTST_getredir: read redir for '>':
With a bar
ZTST_test: examining line:

Running test: '>|' redirection
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
With a bar
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  rm -f redir
ZTST_getchunk: read code chunk:
  rm -f redir
  print 'With a bang' >!redir  &&  cat redir
ZTST_test: examining line:
>With a bang
ZTST_getredir: read redir for '>':
With a bang
ZTST_test: examining line:

Running test: '>!' redirection
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
With a bang
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  rm -f redir
ZTST_getchunk: read code chunk:
  rm -f redir
  print 'Line 1' >>redir  &&  print 'Line 2' >>redir  &&  cat redir
ZTST_test: examining line:
>Line 1
ZTST_getredir: read redir for '>':
Line 1
Line 2
ZTST_test: examining line:

Running test: '>>' redirection
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Line 1
Line 2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  rm -f redir
ZTST_getchunk: read code chunk:
  rm -f redir
  print 'Line a' >>|redir  &&  print 'Line b' >>!redir
ZTST_test: examining line:

Running test: '>>|' and '>>!' redirection
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  foo=bar
ZTST_getchunk: read code chunk:
  foo=bar
  cat <<'  HERE'
  $foo
  HERE
  eval "$(print 'cat <<HERE\n$foo\nHERE')"
ZTST_test: examining line:
>  $foo
ZTST_getredir: read redir for '>':
  $foo
bar
ZTST_test: examining line:

Running test: Here-documents
ZTST_test: expecting status: 0
ZTST_execchunk: status 1
Test ../../zsh-4.0.1-pre-5/Test/A04redirect.ztst failed: bad status 1, expected 0 from:
  foo=bar
  cat <<'  HERE'
  $foo
  HERE
  eval "$(print 'cat <<HERE\n$foo\nHERE')"
Error output:
ZTST_execchunk:2: bad address
ZTST_execchunk:2: bad address
Was testing: Here-documents
../../zsh-4.0.1-pre-5/Test/A04redirect.ztst: test failed.
../../zsh-4.0.1-pre-5/Test/A05execution.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
  storepath=($path)
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  mkdir command.tmp command.tmp/dir1 command.tmp/dir2
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  cd command.tmp
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  print '#!/bin/sh\necho This is top' >tstcmd
  print '#!/bin/sh\necho This is dir1' >dir1/tstcmd
  print '#!/bin/sh\necho This is dir2' >dir2/tstcmd
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  chmod 755 tstcmd dir1/tstcmd dir2/tstcmd
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:
  ./tstcmd
ZTST_getchunk: read code chunk:
  ./tstcmd
ZTST_test: examining line:
>This is top
ZTST_getredir: read redir for '>':
This is top
ZTST_test: examining line:

Running test: ./prog execution
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
This is top
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  path=($ZTST_testdir/command.tmp/dir1
ZTST_getchunk: read code chunk:
  path=($ZTST_testdir/command.tmp/dir1
        $ZTST_testdir/command.tmp/dir2
        .)
  tstcmd
  path=($storepath)
ZTST_test: examining line:
>This is dir1
ZTST_getredir: read redir for '>':
This is dir1
ZTST_test: examining line:

Running test: path (1)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
This is dir1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  path=(. command.tmp/dir{1,2})
ZTST_getchunk: read code chunk:
  path=(. command.tmp/dir{1,2})
  tstcmd
  path=($storepath)
ZTST_test: examining line:
>This is top
ZTST_getredir: read redir for '>':
This is top
ZTST_test: examining line:

Running test: path (2)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
This is top
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  functst() { print $# arguments:; print -l $*; }
ZTST_getchunk: read code chunk:
  functst() { print $# arguments:; print -l $*; }
  functst "Eines Morgens" "als Gregor Samsa"
  functst ""
  functst "aus unrühigen Träumen erwachte"
  foo="fand er sich in seinem Bett"
  bar=
  rod="zu einem ungeheuren Ungeziefer verwandelt."
  functst $foo $bar $rod
  alias foo='print This is alias one'
ZTST_test: examining line:
>2 arguments:
ZTST_getredir: read redir for '>':
2 arguments:
Eines Morgens
als Gregor Samsa
1 arguments:

1 arguments:
aus unrühigen Träumen erwachte
2 arguments:
fand er sich in seinem Bett
zu einem ungeheuren Ungeziefer verwandelt.
ZTST_test: examining line:

Running test: function argument passing
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
2 arguments:
Eines Morgens
als Gregor Samsa
1 arguments:

1 arguments:
aus unrühigen Träumen erwachte
2 arguments:
fand er sich in seinem Bett
zu einem ungeheuren Ungeziefer verwandelt.
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  alias foo='print This is alias two'
ZTST_getchunk: read code chunk:
  alias foo='print This is alias two'
  fn() { foo; }
  fn
ZTST_test: examining line:
>This is alias one
ZTST_getredir: read redir for '>':
This is alias one
ZTST_test: examining line:

Running test: Aliases in functions
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
This is alias one
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  foo='Global foo'
ZTST_getchunk: read code chunk:
  foo='Global foo'
  traptst() { local foo="Local foo"; trap 'print $foo' EXIT; }
  traptst
ZTST_test: examining line:
>Global foo
ZTST_getredir: read redir for '>':
Global foo
ZTST_test: examining line:

Running test: EXIT trap environment
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Global foo
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  functst() { return 0; print Ha ha; return 1; }
ZTST_getchunk: read code chunk:
  functst() { return 0; print Ha ha; return 1; }
  functst
ZTST_test: examining line:

Running test: return (1)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  functst() { return 1; print Ho ho; return 0; }
ZTST_getchunk: read code chunk:
  functst() { return 1; print Ho ho; return 0; }
  functst
ZTST_test: examining line:

Running test: return (2)
ZTST_test: expecting status: 1
ZTST_execchunk: status 1
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  unfunction functst
ZTST_getchunk: read code chunk:
  unfunction functst
  fpath=(.)
  print "print This is functst." >functst
  autoload functst
  functst
ZTST_test: examining line:
>This is functst.
ZTST_getredir: read redir for '>':
This is functst.
ZTST_test: examining line:

Running test: autoloading (1)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
This is functst.
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  unfunction functst
ZTST_getchunk: read code chunk:
  unfunction functst
  print "functst() { print This, too, is functst; }; print Hello." >functst
  typeset -fu functst
  functst
  functst
ZTST_test: examining line:
>Hello.
ZTST_getredir: read redir for '>':
Hello.
This, too, is functst
ZTST_test: examining line:

Running test: autoloading with initialization
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Hello.
This, too, is functst
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  unfunction functst
ZTST_getchunk: read code chunk:
  unfunction functst
  print "print Yet another version" >functst
  functst() { autoload -X; }
  functst
ZTST_test: examining line:
>Yet another version
ZTST_getredir: read redir for '>':
Yet another version
ZTST_test: examining line:

Running test: autoloading via -X
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Yet another version
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  chpwd() { print Changed to $PWD; }
ZTST_getchunk: read code chunk:
  chpwd() { print Changed to $PWD; }
  cd .
  unfunction chpwd
ZTST_test: examining line:
>Changed to $ZTST_testdir/command.tmp
ZTST_getredir: read redir for '>':
Changed to $ZTST_testdir/command.tmp
ZTST_test: examining line:

Running test: chpwd
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Changed to /tmp/obj-sun/Test/command.tmp
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:

ZTST_test: examining line:
  fn() { TRAPEXIT() { print Exit; }; }
ZTST_getchunk: read code chunk:
  fn() { TRAPEXIT() { print Exit; }; }
  fn
ZTST_test: examining line:
>Exit
ZTST_getredir: read redir for '>':
Exit
ZTST_test: examining line:

Running test: TRAPEXIT
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Exit
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  unfunction fn
ZTST_getchunk: read code chunk:
  unfunction fn
  print 'TRAPDEBUG() {
      print Line $LINENO
    }
    :
    unfunction TRAPDEBUG
  ' > fn
  autoload fn
  fn
  rm fn
ZTST_test: examining line:
>Line 1
ZTST_getredir: read redir for '>':
Line 1
Line 1
ZTST_test: examining line:

Running test: TRAPDEBUG
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Line 1
Line 1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  unfunction fn
ZTST_getchunk: read code chunk:
  unfunction fn
  print 'trap '\''print Line $LINENO'\'' DEBUG
    :
    trap - DEBUG
  ' > fn
  autoload fn
  fn
  rm fn
ZTST_test: examining line:
>Line 1
ZTST_getredir: read redir for '>':
Line 1
Line 2
ZTST_test: examining line:

Running test: trap DEBUG
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Line 1
Line 2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  TRAPZERR() { print Command failed; }
ZTST_getchunk: read code chunk:
  TRAPZERR() { print Command failed; }
  true
  false
  true
  false
  unfunction TRAPZERR
ZTST_test: examining line:
>Command failed
ZTST_getredir: read redir for '>':
Command failed
Command failed
ZTST_test: examining line:

Running test: TRAPZERR
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Command failed
Command failed
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  trap 'print Command failed again.' ZERR
ZTST_getchunk: read code chunk:
  trap 'print Command failed again.' ZERR
  true
  false
  true
  false
  trap - ZERR
ZTST_test: examining line:
>Command failed again.
ZTST_getredir: read redir for '>':
Command failed again.
Command failed again.
ZTST_test: examining line:

Running test: trap ZERR
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Command failed again.
Command failed again.
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: all tests successful
../../zsh-4.0.1-pre-5/Test/A05execution.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/B01cd.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
 mkdir cdtst.tmp cdtst.tmp/real cdtst.tmp/sub
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
 ln -s ../real cdtst.tmp/sub/fake
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
 setopt chaselinks
 cd .
 unsetopt chaselinks
 mydir=$PWD
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:
 cd cdtst.tmp/sub/fake &&
ZTST_getchunk: read code chunk:
 cd cdtst.tmp/sub/fake &&
 pwd &&
 print $PWD
ZTST_test: examining line:
>$mydir/cdtst.tmp/sub/fake
ZTST_getredir: read redir for '>':
$mydir/cdtst.tmp/sub/fake
$mydir/cdtst.tmp/sub/fake
ZTST_test: examining line:

Running test: Preserving symbolic links in the current directory string
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
/tmp/obj-sun/Test/cdtst.tmp/sub/fake
/tmp/obj-sun/Test/cdtst.tmp/sub/fake
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
 cd ../../.. &&
ZTST_getchunk: read code chunk:
 cd ../../.. &&
 pwd &&
 print $PWD
ZTST_test: examining line:
>$mydir
ZTST_getredir: read redir for '>':
$mydir
$mydir
ZTST_test: examining line:

Running test: Changing directory up through symbolic links without following them
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
/tmp/obj-sun/Test
/tmp/obj-sun/Test
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
 setopt chaselinks
ZTST_getchunk: read code chunk:
 setopt chaselinks
 cd cdtst.tmp/sub/fake &&
 pwd &&
 print $PWD
ZTST_test: examining line:
>$mydir/cdtst.tmp/real
ZTST_getredir: read redir for '>':
$mydir/cdtst.tmp/real
$mydir/cdtst.tmp/real
ZTST_test: examining line:

Running test: Resolving symbolic links with chaselinks set
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
/tmp/obj-sun/Test/cdtst.tmp/real
/tmp/obj-sun/Test/cdtst.tmp/real
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
%clean
ZTST_test: all tests successful
ZTST_getsect: read section name: clean
ZTST_getchunk: read code chunk:

../../zsh-4.0.1-pre-5/Test/B01cd.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/C01arith.ztst: starting.
ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  integer light there
ZTST_getchunk: read code chunk:
  integer light there
  (( light = 42 )) &&
  let 'there = light' &&
  print $(( there ))
ZTST_test: examining line:
>42
ZTST_getredir: read redir for '>':
42
ZTST_test: examining line:

Running test: basic integer arithmetic
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
42
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  float light there
ZTST_getchunk: read code chunk:
  float light there
  integer rnd
  (( light = 3.1415 )) &&
  let 'there = light' &&
  print -- $(( rnd = there * 10000 ))
ZTST_test: examining line:
>31415
ZTST_getredir: read redir for '>':
31415
ZTST_test: examining line:

Running test: basic floating point arithmetic
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
31415
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print $(( 0x10 + 0X01 + 2#1010 ))
ZTST_getchunk: read code chunk:
  print $(( 0x10 + 0X01 + 2#1010 ))
ZTST_test: examining line:
>27
ZTST_getredir: read redir for '>':
27
ZTST_test: examining line:

Running test: base input
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
27
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  float light
ZTST_getchunk: read code chunk:
  float light
  (( light = 4 ))
  print $light
  typeset -F light
  print $light
ZTST_test: examining line:
>4.000000000e+00
ZTST_getredir: read redir for '>':
4.000000000e+00
4.0000000000
ZTST_test: examining line:

Running test: conversion to float
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
4.000000000e+00
4.0000000000
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  integer i
ZTST_getchunk: read code chunk:
  integer i
  (( i = 32.5 ))
  print $i
ZTST_test: examining line:
>32
ZTST_getredir: read redir for '>':
32
ZTST_test: examining line:

Running test: conversion to int
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
32
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  integer i
ZTST_getchunk: read code chunk:
  integer i
  (( i = 4 - - 3 * 7 << 1 & 7 ^ 1 | 16 ** 2 ))
  print $i
ZTST_test: examining line:
>1591
ZTST_getredir: read redir for '>':
1591
ZTST_test: examining line:

Running test: precedence (arithmetic)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
1591
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print $(( 1 < 2 || 2 < 2 && 3 > 4 ))
ZTST_getchunk: read code chunk:
  print $(( 1 < 2 || 2 < 2 && 3 > 4 ))
ZTST_test: examining line:
>1
ZTST_getredir: read redir for '>':
1
ZTST_test: examining line:

Running test: precedence (logical)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print $(( 1 + 4 ? 3 + 2 ? 4 + 3 ? 5 + 6 ? 4 * 8 : 0 : 0 : 0 : 0 ))
ZTST_getchunk: read code chunk:
  print $(( 1 + 4 ? 3 + 2 ? 4 + 3 ? 5 + 6 ? 4 * 8 : 0 : 0 : 0 : 0 ))
ZTST_test: examining line:
>32
ZTST_getredir: read redir for '>':
32
ZTST_test: examining line:

Running test: precedence (ternary)
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
32
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print $(( 3 ? 2 ))
ZTST_getchunk: read code chunk:
  print $(( 3 ? 2 ))
ZTST_test: examining line:
?ZTST_execchunk:2: ':' expected
ZTST_getredir: read redir for '?':
ZTST_execchunk:2: ':' expected
ZTST_test: examining line:

Running test: parsing ternary (1)
ZTST_test: expecting status: 1
ZTST_execchunk: status 1
ZTST_test: test produced standard output:

ZTST_test: and standard error:
ZTST_execchunk:2: ':' expected
Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print $(( 3 ? 2 : 1 : 4 ))
ZTST_getchunk: read code chunk:
  print $(( 3 ? 2 : 1 : 4 ))
ZTST_test: examining line:
?ZTST_execchunk:2: ':' without '?'
ZTST_getredir: read redir for '?':
ZTST_execchunk:2: ':' without '?'
ZTST_test: examining line:

Running test: parsing ternary (2)
ZTST_test: expecting status: 1
ZTST_execchunk: status 1
ZTST_test: test produced standard output:

ZTST_test: and standard error:
ZTST_execchunk:2: ':' without '?'
Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print $(( 0, 4 ? 3 : 1, 5 ))
ZTST_getchunk: read code chunk:
  print $(( 0, 4 ? 3 : 1, 5 ))
ZTST_test: examining line:
>5
ZTST_getredir: read redir for '>':
5
ZTST_test: examining line:

Running test: comma operator
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
5
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  foo=000
ZTST_getchunk: read code chunk:
  foo=000
  print $(( ##A + ##\C-a + #foo + $#foo ))
ZTST_test: examining line:
>117
ZTST_getredir: read redir for '>':
117
ZTST_test: examining line:

Running test: #, ## and $#
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
117
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  integer i
ZTST_getchunk: read code chunk:
  integer i
  (( i = 3 + 5 * 1.75 ))
  print $i
ZTST_test: examining line:
>11
ZTST_getredir: read redir for '>':
11
ZTST_test: examining line:

Running test: promotion to float
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
11
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  typeset x      &&
ZTST_getchunk: read code chunk:
  typeset x      &&
  (( x = 3.5 ))  &&
  print $x       &&
  (( x = 4 ))    &&
  print $x
ZTST_test: examining line:
>3.5
ZTST_getredir: read redir for '>':
3.5
4
ZTST_test: examining line:

Running test: use of scalars to store integers and floats
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
3.5
4
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  (( newarray[unsetvar]++ ))
ZTST_getchunk: read code chunk:
  (( newarray[unsetvar]++ ))
  (( newarray[unsetvar]++ ))
  print ${(t)newarray} ${#newarray} ${newarray[1]}
ZTST_test: examining line:
>array 1 2
ZTST_getredir: read redir for '>':
array 1 2
ZTST_test: examining line:

Running test: setting array elements in math context
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
array 1 2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: all tests successful
../../zsh-4.0.1-pre-5/Test/C01arith.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/C02cond.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
  umask 077
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  mkdir cond.tmp
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  cd cond.tmp
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  touch	unmodified
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  touch zerolength
  chgrp $EGID zerolength
  print 'Garbuglio' >nonzerolength
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  mkdir modish
  chmod g+xs modish
  chmod u+s modish
  chmod +t modish
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -a zerolength && ! -a nonexistent ]]
ZTST_getchunk: read code chunk:
  [[ -a zerolength && ! -a nonexistent ]]
ZTST_test: examining line:

Running test: -a cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  # Find a block special file system.  This is a little tricky.
ZTST_getchunk: read code chunk:
  # Find a block special file system.  This is a little tricky.
  block=$(find /dev /devices -type b -print 2>/dev/null|head -1) &&
  [[ -b $block && ! -b zerolength ]]
ZTST_test: examining line:

Running test: -b cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  char=(/dev/tty*([1]))
ZTST_getchunk: read code chunk:
  char=(/dev/tty*([1]))
  [[ -c $char && ! -c $block ]]
ZTST_test: examining line:

Running test: -c cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -d . && ! -d zerolength ]]
ZTST_getchunk: read code chunk:
  [[ -d . && ! -d zerolength ]]
ZTST_test: examining line:

Running test: -d cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -e zerolength && ! -e nonexistent ]]
ZTST_getchunk: read code chunk:
  [[ -e zerolength && ! -e nonexistent ]]
ZTST_test: examining line:

Running test: -e cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -f zerolength && ! -f cond && ! -f $char && ! -f $block && ! -f . ]]
ZTST_getchunk: read code chunk:
  [[ -f zerolength && ! -f cond && ! -f $char && ! -f $block && ! -f . ]]
ZTST_test: examining line:

Running test: -f cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -g modish && ! -g zerolength ]]
ZTST_getchunk: read code chunk:
  [[ -g modish && ! -g zerolength ]]
ZTST_test: examining line:

Running test: -g cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  ln -s zerolength link
ZTST_getchunk: read code chunk:
  ln -s zerolength link
  [[ -h link && ! -h zerolength ]]
ZTST_test: examining line:

Running test: -h cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -k modish && ! -k zerolength ]]
ZTST_getchunk: read code chunk:
  [[ -k modish && ! -k zerolength ]]
ZTST_test: examining line:

Running test: -k cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  foo=foo
ZTST_getchunk: read code chunk:
  foo=foo
  bar=
  [[ -n $foo && ! -n $bar && ! -n '' ]]
ZTST_test: examining line:

Running test: -n cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -o rcs && ! -o norcs && -o noerrexit && ! -o errexit ]]
ZTST_getchunk: read code chunk:
  [[ -o rcs && ! -o norcs && -o noerrexit && ! -o errexit ]]
ZTST_test: examining line:

Running test: -o cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  if whence mkfifo >/dev/null; then
ZTST_getchunk: read code chunk:
  if whence mkfifo >/dev/null; then
    mkfifo pipe
  else
    mknod pipe p
  fi
  [[ -p pipe && ! -p zerolength ]]
ZTST_test: examining line:

Running test: -p cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  touch unmodish
ZTST_getchunk: read code chunk:
  touch unmodish
  chmod 000 unmodish
  [[ -r zerolength && ! -r unmodish ]]
  # This works around a bug in rm -f in some versions of Cygwin
  chmod 644 unmodish
ZTST_test: examining line:

Running test: -r cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -s nonzerolength && ! -s zerolength ]]
ZTST_getchunk: read code chunk:
  [[ -s nonzerolength && ! -s zerolength ]]
ZTST_test: examining line:

Running test: -s cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:

ZTST_test: examining line:
  [[ -u modish && ! -u zerolength ]]
ZTST_getchunk: read code chunk:
  [[ -u modish && ! -u zerolength ]]
ZTST_test: examining line:

Running test: -u cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -x $ZTST_srcdir/ztst.zsh && ! -x zerolength ]]
ZTST_getchunk: read code chunk:
  [[ -x $ZTST_srcdir/ztst.zsh && ! -x zerolength ]]
ZTST_test: examining line:

Running test: -x cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -z $bar && -z '' && ! -z $foo ]]
ZTST_getchunk: read code chunk:
  [[ -z $bar && -z '' && ! -z $foo ]]
ZTST_test: examining line:

Running test: -z cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -L link && ! -L zerolength ]]
ZTST_getchunk: read code chunk:
  [[ -L link && ! -L zerolength ]]
ZTST_test: examining line:

Running test: -L cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -O zerolength ]]
ZTST_getchunk: read code chunk:
  [[ -O zerolength ]]
ZTST_test: examining line:

Running test: -O cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -G zerolength ]]
ZTST_getchunk: read code chunk:
  [[ -G zerolength ]]
ZTST_test: examining line:

Running test: -G cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:

ZTST_test: examining line:
  sleep 1
ZTST_getchunk: read code chunk:
  sleep 1
  cat unmodified
  touch newnewnew
  [[ -N newnewnew && ! -N unmodified ]]
ZTST_test: examining line:

Running test: -N cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ newnewnew -nt zerolength && ! (unmodified -nt zerolength) ]]
ZTST_getchunk: read code chunk:
  [[ newnewnew -nt zerolength && ! (unmodified -nt zerolength) ]]
ZTST_test: examining line:

Running test: -nt cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ zerolength -ot newnewnew && ! (zerolength -ot unmodified) ]]
ZTST_getchunk: read code chunk:
  [[ zerolength -ot newnewnew && ! (zerolength -ot unmodified) ]]
ZTST_test: examining line:

Running test: -ot cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ link -ef zerolength && ! (link -ef nonzerolength) ]]
ZTST_getchunk: read code chunk:
  [[ link -ef zerolength && ! (link -ef nonzerolength) ]]
ZTST_test: examining line:

Running test: -ef cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ foo = foo && foo != bar && foo == foo && foo != '' ]]
ZTST_getchunk: read code chunk:
  [[ foo = foo && foo != bar && foo == foo && foo != '' ]]
ZTST_test: examining line:

Running test: =, == and != conds
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ bar < foo && foo > bar ]]
ZTST_getchunk: read code chunk:
  [[ bar < foo && foo > bar ]]
ZTST_test: examining line:

Running test: < and > conds
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ $(( 3 + 4 )) -eq 0x07 && $(( 5 * 2 )) -ne 0x10 ]]
ZTST_getchunk: read code chunk:
  [[ $(( 3 + 4 )) -eq 0x07 && $(( 5 * 2 )) -ne 0x10 ]]
ZTST_test: examining line:

Running test: -eq and -ne conds
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ 3 -lt 04 && 05 -gt 2 ]]
ZTST_getchunk: read code chunk:
  [[ 3 -lt 04 && 05 -gt 2 ]]
ZTST_test: examining line:

Running test: -lt and -gt conds
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ 3 -le 3 && ! (4 -le 3) ]]
ZTST_getchunk: read code chunk:
  [[ 3 -le 3 && ! (4 -le 3) ]]
ZTST_test: examining line:

Running test: -le cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ 3 -ge 3 && ! (3 -ge 4) ]]
ZTST_getchunk: read code chunk:
  [[ 3 -ge 3 && ! (3 -ge 4) ]]
ZTST_test: examining line:

Running test: -ge cond
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ 1 -lt 2 || 2 -lt 2 && 3 -gt 4 ]]
ZTST_getchunk: read code chunk:
  [[ 1 -lt 2 || 2 -lt 2 && 3 -gt 4 ]]
ZTST_test: examining line:

Running test: || and && in conds
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -e /dev/fd/0 ]]
ZTST_getchunk: read code chunk:
  [[ -e /dev/fd/0 ]]
ZTST_test: examining line:

Running test: /dev/fd support in conds handled by access
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ -O /dev/fd/0 ]]
ZTST_getchunk: read code chunk:
  [[ -O /dev/fd/0 ]]
ZTST_test: examining line:

Running test: /dev/fd support in conds handled by stat
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [[ ( -z foo && -z foo ) || -z foo ]]
ZTST_getchunk: read code chunk:
  [[ ( -z foo && -z foo ) || -z foo ]]
ZTST_test: examining line:

Running test: complex conds with skipping
ZTST_test: expecting status: 1
ZTST_execchunk: status 1
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [ '' != bar -a '' = '' ]
ZTST_getchunk: read code chunk:
  [ '' != bar -a '' = '' ]
ZTST_test: examining line:

Running test: strings with `[' builtin
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  [ `echo 0` -lt `echo 1` ]
ZTST_getchunk: read code chunk:
  [ `echo 0` -lt `echo 1` ]
ZTST_test: examining line:

Running test: substituion in `[' builtin
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: all tests successful
../../zsh-4.0.1-pre-5/Test/C02cond.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/C03traps.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
  setopt localtraps
  mkdir traps.tmp && cd traps.tmp
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  fn1() {
ZTST_getchunk: read code chunk:
  fn1() {
    trap 'print EXIT1' EXIT
    fn2() { trap 'print EXIT2' EXIT; }
    fn2
  }
  fn1
ZTST_test: examining line:
>EXIT2
ZTST_getredir: read redir for '>':
EXIT2
EXIT1
ZTST_test: examining line:

Running test: Nested `trap ... EXIT'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
EXIT2
EXIT1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  fn1() {
ZTST_getchunk: read code chunk:
  fn1() {
    TRAPEXIT() { print EXIT1; }
    fn2() { TRAPEXIT() { print EXIT2; }; }
    fn2
  }
  fn1
ZTST_test: examining line:
>EXIT2
ZTST_getredir: read redir for '>':
EXIT2
EXIT1
ZTST_test: examining line:

Running test:  Nested TRAPEXIT
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
EXIT2
EXIT1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  fn1() {
ZTST_getchunk: read code chunk:
  fn1() {
    trap 'print EXIT1' EXIT
    fn2() { trap - EXIT; }
    fn2
  }
  fn1
ZTST_test: examining line:
>EXIT1
ZTST_getredir: read redir for '>':
EXIT1
ZTST_test: examining line:

Running test: Nested `trap - EXIT' on `trap ... EXIT'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
EXIT1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  fn1() {
ZTST_getchunk: read code chunk:
  fn1() {
    TRAPEXIT() { print EXIT1; }
    fn2() { trap - EXIT; }
    fn2
  }
  fn1
ZTST_test: examining line:
>EXIT1
ZTST_getredir: read redir for '>':
EXIT1
ZTST_test: examining line:

Running test: Nested `trap - EXIT' on `TRAPEXIT'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
EXIT1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  fn1() {
ZTST_getchunk: read code chunk:
  fn1() {
    trap
    trap 'print INT1' INT
    fn2() { trap 'print INT2' INT; trap; }
    trap
    fn2
    trap
  }
  fn1
ZTST_test: examining line:
>trap -- 'print INT1' INT
ZTST_getredir: read redir for '>':
trap -- 'print INT1' INT
trap -- 'print INT2' INT
trap -- 'print INT1' INT
ZTST_test: examining line:

Running test:  Nested `trap ... INT', not triggered
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
trap -- 'print INT1' INT
trap -- 'print INT2' INT
trap -- 'print INT1' INT
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
   fn1() {
ZTST_getchunk: read code chunk:
   fn1() {
    trap
    TRAPINT() { print INT1; }
    fn2() { TRAPINT() { print INT2; }; trap; }
    trap
    fn2
    trap
  }
  fn1
ZTST_test: examining line:
>TRAPINT () {
ZTST_getredir: read redir for '>':
TRAPINT () {
	print INT1
}
TRAPINT () {
	print INT2
}
TRAPINT () {
	print INT1
}
ZTST_test: examining line:

Running test:  Nested `trap ... INT', not triggered
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
TRAPINT () {
	print INT1
}
TRAPINT () {
	print INT2
}
TRAPINT () {
	print INT1
}
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  fn1() {
ZTST_getchunk: read code chunk:
  fn1() {
    trap 'print INT1' INT
    fn2() { trap - INT; trap; }
    trap
    fn2
    trap
  }
  fn1
ZTST_test: examining line:
>trap -- 'print INT1' INT
ZTST_getredir: read redir for '>':
trap -- 'print INT1' INT
trap -- 'print INT1' INT
ZTST_test: examining line:

Running test:  Nested `trap - INT' on untriggered `trap ... INT'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
trap -- 'print INT1' INT
trap -- 'print INT1' INT
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:

ZTST_test: examining line:
  print 'This test takes at least three seconds...' >&8
ZTST_getchunk: read code chunk:
  print 'This test takes at least three seconds...' >&8
  fn1() {
    trap 'print TERM1' TERM
    fn2() { trap 'print TERM2; return 1' TERM; sleep 2; }
    fn2 &
    sleep 1
    kill -TERM $!
    sleep 2
  }
  fn1
ZTST_test: examining line:
>TERM2
ZTST_getredir: read redir for '>':
TERM2
ZTST_test: examining line:

Running test:  Nested `trap ... TERM', triggered on inner loop
ZTST_test: expecting status: 0
This test takes at least three seconds...
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
TERM2
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print 'This test, too, takes at least three seconds...' >&8
ZTST_getchunk: read code chunk:
  print 'This test, too, takes at least three seconds...' >&8
  fn1() {
    trap 'print TERM1; return 1' TERM
    fn2() { trap 'print TERM2; return 1' TERM; }
    fn2
    sleep 2
  }
  fn1 &
  sleep 1
  kill -TERM $!
  sleep 2
ZTST_test: examining line:
>TERM1
ZTST_getredir: read redir for '>':
TERM1
ZTST_test: examining line:

Running test:  Nested `trap ... TERM', triggered on outer loop
ZTST_test: expecting status: 0
This test, too, takes at least three seconds...
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
TERM1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  TRAPZERR() { print error activated; }
ZTST_getchunk: read code chunk:
  TRAPZERR() { print error activated; }
  fn() { print start of fn; false; print end of fn; }
  fn
  fn() {
    setopt localoptions localtraps
    unfunction TRAPZERR
    print start of fn
    false
    print end of fn
  }
  fn
  unfunction TRAPZERR
  print finish
ZTST_test: examining line:
>start of fn
ZTST_getredir: read redir for '>':
start of fn
error activated
end of fn
start of fn
end of fn
finish
ZTST_test: examining line:

Running test:  basic localtraps handling
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
start of fn
error activated
end of fn
start of fn
end of fn
finish
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  TRAPZERR() { print 'ERR-or!'; }
ZTST_getchunk: read code chunk:
  TRAPZERR() { print 'ERR-or!'; }
  f() { print f; false; }
  t() { print t; }
  f
  f && t
  t && f && true
  t && f
  testunset() {
    setopt localtraps
    unset -f TRAPZERR
    print testunset
    false
    true
  }
  testunset
  f
ZTST_test: examining line:
>f
ZTST_getredir: read redir for '>':
f
ERR-or!
f
t
t
f
ERR-or!
testunset
f
ERR-or!
ZTST_test: examining line:

Running test:  more sophisticated error trapping
ZTST_test: expecting status: 1
ZTST_execchunk: status 1
../../zsh-4.0.1-pre-5/Test/C03traps.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/C04funcdef.ztst: starting.
ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  function f$$ () {
ZTST_getchunk: read code chunk:
  function f$$ () {
    print regress expansion of function names
  }
  f$$
ZTST_test: examining line:
>regress expansion of function names
ZTST_getredir: read redir for '>':
regress expansion of function names
ZTST_test: examining line:

Running test: Regression test: `function f$$ () { ... }'
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
regress expansion of function names
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  function foo () print bar
ZTST_getchunk: read code chunk:
  function foo () print bar
  foo
ZTST_test: examining line:
>bar
ZTST_getredir: read redir for '>':
bar
ZTST_test: examining line:

Running test: Function definition without braces
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
bar
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: all tests successful
../../zsh-4.0.1-pre-5/Test/C04funcdef.ztst: all tests successful.
../../zsh-4.0.1-pre-5/Test/D01prompt.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
  mydir=$PWD
  SHLVL=2
  setopt extendedglob
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  hash -d mydir=$mydir
ZTST_getchunk: read code chunk:
  hash -d mydir=$mydir
  print -P '  %%%):  %)
  %%~:  %~
  %%d:  %d
  %%1/: %1/
  %%h:  %h
  %%L:  %L
  %%M:  %M
  %%m:  %m
  %%n:  %n
  %%N:  %N
  %%i:  %i
  a%%{...%%}b:  a%{%}b
  '
ZTST_test: examining line:
>  %):  )
ZTST_getredir: read redir for '>':
  %):  )
  %~:  ~mydir
  %d:  $mydir
  %1/: ${mydir:t}
  %h:  0
  %L:  2
  %M:  $HOST
  %m:  ${HOST%%.*}
  %n:  $USERNAME
  %N:  ZTST_execchunk
  %i:  2
  a%{...%}b:  ab
  
ZTST_test: examining line:

Running test: Basic prompt escapes as shown.
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
  %):  )
  %~:  ~mydir
  %d:  /tmp/obj-sun/Test
  %1/: Test
  %h:  0
  %L:  2
  %M:  unknown
  %m:  unknown
  %n:  clint
  %N:  ZTST_execchunk
  %i:  2
  a%{...%}b:  ab
  
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  true
ZTST_getchunk: read code chunk:
  true
  print -P '%?'
  false
  print -P '%?'
ZTST_test: examining line:
>0
ZTST_getredir: read redir for '>':
0
1
ZTST_test: examining line:

Running test: `%?' prompt escape
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
0
1
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  PS4="%_> "
ZTST_getchunk: read code chunk:
  PS4="%_> "
  setopt xtrace
  if true; then true; else false; fi
  unsetopt xtrace
ZTST_test: examining line:
?if> true
ZTST_getredir: read redir for '?':
if> true
then> true
> unsetopt xtrace
ZTST_test: examining line:

Running test: `%_' prompt escape
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:

ZTST_test: and standard error:
if> true
then> true
> unsetopt xtrace
Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  diff =(print -P '%#') =(print -P '%(!.#.%%)')
ZTST_getchunk: read code chunk:
  diff =(print -P '%#') =(print -P '%(!.#.%%)')
ZTST_test: examining line:

Running test: `%#' prompt escape and its equivalent
ZTST_test: expecting status: 0
../../zsh-4.0.1-pre-5/Test/D02glob.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
  mkdir glob.tmp
  mkdir glob.tmp/dir1
  mkdir glob.tmp/dir2
  : >glob.tmp/{,{dir1,dir2}/}{a,b,c}
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  globtest () { $ZTST_testdir/../Src/zsh -f $ZTST_srcdir/../Misc/$1 }
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:
  regress_absolute_path_and_core_dump() {
    local absolute_dir=$(cd glob.tmp && pwd -P)
    [[ -n $absolute_dir ]] || return 1
    setopt localoptions extendedglob nullglob
    print $absolute_dir/**/*~/*
    setopt nonullglob nomatch
    print glob.tmp/**/*~(.)#
  }
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  globtest globtests
ZTST_getchunk: read code chunk:
  globtest globtests
ZTST_test: examining line:
>0:  [[ foo~ = foo~ ]]
ZTST_getredir: read redir for '>':
0:  [[ foo~ = foo~ ]]
0:  [[ foo~ = (foo~) ]]
0:  [[ foo~ = (foo~|) ]]
0:  [[ foo.c = *.c~boo* ]]
1:  [[ foo.c = *.c~boo*~foo* ]]
0:  [[ fofo = (fo#)# ]]
0:  [[ ffo = (fo#)# ]]
0:  [[ foooofo = (fo#)# ]]
0:  [[ foooofof = (fo#)# ]]
0:  [[ fooofoofofooo = (fo#)# ]]
1:  [[ foooofof = (fo##)# ]]
1:  [[ xfoooofof = (fo#)# ]]
1:  [[ foooofofx = (fo#)# ]]
0:  [[ ofxoofxo = ((ofo#x)#o)# ]]
1:  [[ ofooofoofofooo = (fo#)# ]]
0:  [[ foooxfooxfoxfooox = (fo#x)# ]]
1:  [[ foooxfooxofoxfooox = (fo#x)# ]]
0:  [[ foooxfooxfxfooox = (fo#x)# ]]
0:  [[ ofxoofxo = ((ofo#x)#o)# ]]
0:  [[ ofoooxoofxo = ((ofo#x)#o)# ]]
0:  [[ ofoooxoofxoofoooxoofxo = ((ofo#x)#o)# ]]
0:  [[ ofoooxoofxoofoooxoofxoo = ((ofo#x)#o)# ]]
1:  [[ ofoooxoofxoofoooxoofxofo = ((ofo#x)#o)# ]]
0:  [[ ofoooxoofxoofoooxoofxooofxofxo = ((ofo#x)#o)# ]]
0:  [[ aac = ((a))#a(c) ]]
0:  [[ ac = ((a))#a(c) ]]
1:  [[ c = ((a))#a(c) ]]
0:  [[ aaac = ((a))#a(c) ]]
1:  [[ baaac = ((a))#a(c) ]]
0:  [[ abcd = ?(a|b)c#d ]]
0:  [[ abcd = (ab|ab#)c#d ]]
0:  [[ acd = (ab|ab#)c#d ]]
0:  [[ abbcd = (ab|ab#)c#d ]]
0:  [[ effgz = (bc##d|ef#g?|(h|)i(j|k)) ]]
0:  [[ efgz = (bc##d|ef#g?|(h|)i(j|k)) ]]
0:  [[ egz = (bc##d|ef#g?|(h|)i(j|k)) ]]
0:  [[ egzefffgzbcdij = (bc##d|ef#g?|(h|)i(j|k))# ]]
1:  [[ egz = (bc##d|ef##g?|(h|)i(j|k)) ]]
0:  [[ ofoofo = (ofo##)# ]]
0:  [[ oxfoxoxfox = (oxf(ox)##)# ]]
1:  [[ oxfoxfox = (oxf(ox)##)# ]]
0:  [[ ofoofo = (ofo##|f)# ]]
0:  [[ foofoofo = (foo|f|fo)(f|ofo##)# ]]
0:  [[ oofooofo = (of|oofo##)# ]]
0:  [[ fffooofoooooffoofffooofff = (f#o#)# ]]
1:  [[ fffooofoooooffoofffooofffx = (f#o#)# ]]
0:  [[ fofoofoofofoo = (fo|foo)# ]]
0:  [[ foo = ((^x)) ]]
0:  [[ foo = ((^x)*) ]]
1:  [[ foo = ((^foo)) ]]
0:  [[ foo = ((^foo)*) ]]
0:  [[ foobar = ((^foo)) ]]
0:  [[ foobar = ((^foo)*) ]]
1:  [[ foot = z*~*x ]]
0:  [[ zoot = z*~*x ]]
1:  [[ foox = z*~*x ]]
1:  [[ zoox = z*~*x ]]
0:  [[ moo.cow = (*~*.*).(*~*.*) ]]
1:  [[ mad.moo.cow = (*~*.*).(*~*.*) ]]
0:  [[ moo.cow = (^*.*).(^*.*) ]]
1:  [[ sane.moo.cow = (^*.*).(^*.*) ]]
1:  [[ mucca.pazza = mu(^c#)?.pa(^z#)? ]]
1:  [[ _foo~ = _(|*[^~]) ]]
0:  [[ fff = ((^f)) ]]
0:  [[ fff = ((^f)#) ]]
0:  [[ fff = ((^f)##) ]]
0:  [[ ooo = ((^f)) ]]
0:  [[ ooo = ((^f)#) ]]
0:  [[ ooo = ((^f)##) ]]
0:  [[ foo = ((^f)) ]]
0:  [[ foo = ((^f)#) ]]
0:  [[ foo = ((^f)##) ]]
1:  [[ f = ((^f)) ]]
1:  [[ f = ((^f)#) ]]
1:  [[ f = ((^f)##) ]]
0:  [[ foot = (^z*|*x) ]]
1:  [[ zoot = (^z*|*x) ]]
0:  [[ foox = (^z*|*x) ]]
0:  [[ zoox = (^z*|*x) ]]
0:  [[ foo = (^foo)# ]]
1:  [[ foob = (^foo)b* ]]
0:  [[ foobb = (^foo)b* ]]
1:  [[ foob = (*~foo)b* ]]
0:  [[ foobb = (*~foo)b* ]]
1:  [[ zsh = ^z* ]]
0:  [[ a%1X = [[:alpha:][:punct:]]#[[:digit:]][^[:lower:]] ]]
1:  [[ a%1 = [[:alpha:][:punct:]]#[[:digit:]][^[:lower:]] ]]
0:  [[ [: = [[:]# ]]
0:  [[ :] = []:]# ]]
0:  [[ :] = [:]]# ]]
0:  [[ [ = [[] ]]
0:  [[ ] = []] ]]
0:  [[ [] = [^]]] ]]
0:  [[ fooxx = (#i)FOOXX ]]
1:  [[ fooxx = (#l)FOOXX ]]
0:  [[ FOOXX = (#l)fooxx ]]
1:  [[ fooxx = (#i)FOO(#I)X(#i)X ]]
0:  [[ fooXx = (#i)FOO(#I)X(#i)X ]]
0:  [[ fooxx = ((#i)FOOX)x ]]
1:  [[ fooxx = ((#i)FOOX)X ]]
1:  [[ BAR = (bar|(#i)foo) ]]
0:  [[ FOO = (bar|(#i)foo) ]]
0:  [[ Modules = (#i)*m* ]]
0:  [[ fooGRUD = (#i)(bar|(#I)foo|(#i)rod)grud ]]
1:  [[ FOOGRUD = (#i)(bar|(#I)foo|(#i)rod)grud ]]
0:  [[ readme = (#i)readme~README|readme ]]
0:  [[ readme = (#i)readme~README|readme~README ]]
0:  [[ 633 = <1-1000>33 ]]
0:  [[ 633 = <-1000>33 ]]
0:  [[ 633 = <1->33 ]]
0:  [[ 633 = <->33 ]]
0:  [[ READ.ME = (#ia1)readme ]]
1:  [[ READ..ME = (#ia1)readme ]]
0:  [[ README = (#ia1)readm ]]
0:  [[ READM = (#ia1)readme ]]
0:  [[ README = (#ia1)eadme ]]
0:  [[ EADME = (#ia1)readme ]]
0:  [[ READEM = (#ia1)readme ]]
1:  [[ ADME = (#ia1)readme ]]
1:  [[ README = (#ia1)read ]]
0:  [[ bob = (#a1)[b][b] ]]
1:  [[ bob = (#a1)[b][b]a ]]
0:  [[ bob = (#a1)[b]o[b]a ]]
1:  [[ bob = (#a1)[c]o[b] ]]
0:  [[ abcd = (#a2)XbcX ]]
0:  [[ abcd = (#a2)ad ]]
0:  [[ ad = (#a2)abcd ]]
0:  [[ abcd = (#a2)bd ]]
0:  [[ bd = (#a2)abcd ]]
0:  [[ badc = (#a2)abcd ]]
0:  [[ adbc = (#a2)abcd ]]
1:  [[ dcba = (#a2)abcd ]]
0:  [[ dcba = (#a3)abcd ]]
0:  [[ aabaXaaabY = (#a1)(a#b)#Y ]]
0:  [[ aabaXaaabY = (#a1)(a#b)(a#b)Y ]]
0:  [[ aaXaaaaabY = (#a1)(a#b)(a#b)Y ]]
0:  [[ aaaXaaabY = (#a1)(a##b)##Y ]]
0:  [[ aaaXbaabY = (#a1)(a##b)##Y ]]
1:  [[ read.me = (#ia1)README~READ.ME ]]
0:  [[ read.me = (#ia1)README~READ_ME ]]
1:  [[ read.me = (#ia1)README~(#a1)READ_ME ]]
0:  [[ test = *((#s)|/)test((#e)|/)* ]]
0:  [[ test/path = *((#s)|/)test((#e)|/)* ]]
0:  [[ path/test = *((#s)|/)test((#e)|/)* ]]
0:  [[ path/test/ohyes = *((#s)|/)test((#e)|/)* ]]
1:  [[ atest = *((#s)|/)test((#e)|/)* ]]
1:  [[ testy = *((#s)|/)test((#e)|/)* ]]
1:  [[ testy/path = *((#s)|/)test((#e)|/)* ]]
1:  [[ path/atest = *((#s)|/)test((#e)|/)* ]]
1:  [[ atest/path = *((#s)|/)test((#e)|/)* ]]
1:  [[ path/testy = *((#s)|/)test((#e)|/)* ]]
1:  [[ path/testy/ohyes = *((#s)|/)test((#e)|/)* ]]
1:  [[ path/atest/ohyes = *((#s)|/)test((#e)|/)* ]]
0 tests failed.
ZTST_test: examining line:

Running test: zsh globbing
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
0 tests failed.
ZTST_test: and standard error:
/tmp/obj-sun/Test/../../zsh-4.0.1-pre-5/Test/../Misc/globtests:7: bad address
*** /tmp/zsh.ztst.out.3856	Tue May 22 11:52:41 2001
--- /tmp/zsh.ztst.tout.3856	Tue May 22 11:52:41 2001
***************
*** 1,154 ****
- 0:  [[ foo~ = foo~ ]]
- 0:  [[ foo~ = (foo~) ]]
- 0:  [[ foo~ = (foo~|) ]]
- 0:  [[ foo.c = *.c~boo* ]]
- 1:  [[ foo.c = *.c~boo*~foo* ]]
- 0:  [[ fofo = (fo#)# ]]
- 0:  [[ ffo = (fo#)# ]]
- 0:  [[ foooofo = (fo#)# ]]
- 0:  [[ foooofof = (fo#)# ]]
- 0:  [[ fooofoofofooo = (fo#)# ]]
- 1:  [[ foooofof = (fo##)# ]]
- 1:  [[ xfoooofof = (fo#)# ]]
- 1:  [[ foooofofx = (fo#)# ]]
- 0:  [[ ofxoofxo = ((ofo#x)#o)# ]]
- 1:  [[ ofooofoofofooo = (fo#)# ]]
- 0:  [[ foooxfooxfoxfooox = (fo#x)# ]]
- 1:  [[ foooxfooxofoxfooox = (fo#x)# ]]
- 0:  [[ foooxfooxfxfooox = (fo#x)# ]]
- 0:  [[ ofxoofxo = ((ofo#x)#o)# ]]
- 0:  [[ ofoooxoofxo = ((ofo#x)#o)# ]]
- 0:  [[ ofoooxoofxoofoooxoofxo = ((ofo#x)#o)# ]]
- 0:  [[ ofoooxoofxoofoooxoofxoo = ((ofo#x)#o)# ]]
- 1:  [[ ofoooxoofxoofoooxoofxofo = ((ofo#x)#o)# ]]
- 0:  [[ ofoooxoofxoofoooxoofxooofxofxo = ((ofo#x)#o)# ]]
- 0:  [[ aac = ((a))#a(c) ]]
- 0:  [[ ac = ((a))#a(c) ]]
- 1:  [[ c = ((a))#a(c) ]]
- 0:  [[ aaac = ((a))#a(c) ]]
- 1:  [[ baaac = ((a))#a(c) ]]
- 0:  [[ abcd = ?(a|b)c#d ]]
- 0:  [[ abcd = (ab|ab#)c#d ]]
- 0:  [[ acd = (ab|ab#)c#d ]]
- 0:  [[ abbcd = (ab|ab#)c#d ]]
- 0:  [[ effgz = (bc##d|ef#g?|(h|)i(j|k)) ]]
- 0:  [[ efgz = (bc##d|ef#g?|(h|)i(j|k)) ]]
- 0:  [[ egz = (bc##d|ef#g?|(h|)i(j|k)) ]]
- 0:  [[ egzefffgzbcdij = (bc##d|ef#g?|(h|)i(j|k))# ]]
- 1:  [[ egz = (bc##d|ef##g?|(h|)i(j|k)) ]]
- 0:  [[ ofoofo = (ofo##)# ]]
- 0:  [[ oxfoxoxfox = (oxf(ox)##)# ]]
- 1:  [[ oxfoxfox = (oxf(ox)##)# ]]
- 0:  [[ ofoofo = (ofo##|f)# ]]
- 0:  [[ foofoofo = (foo|f|fo)(f|ofo##)# ]]
- 0:  [[ oofooofo = (of|oofo##)# ]]
- 0:  [[ fffooofoooooffoofffooofff = (f#o#)# ]]
- 1:  [[ fffooofoooooffoofffooofffx = (f#o#)# ]]
- 0:  [[ fofoofoofofoo = (fo|foo)# ]]
- 0:  [[ foo = ((^x)) ]]
- 0:  [[ foo = ((^x)*) ]]
- 1:  [[ foo = ((^foo)) ]]
- 0:  [[ foo = ((^foo)*) ]]
- 0:  [[ foobar = ((^foo)) ]]
- 0:  [[ foobar = ((^foo)*) ]]
- 1:  [[ foot = z*~*x ]]
- 0:  [[ zoot = z*~*x ]]
- 1:  [[ foox = z*~*x ]]
- 1:  [[ zoox = z*~*x ]]
- 0:  [[ moo.cow = (*~*.*).(*~*.*) ]]
- 1:  [[ mad.moo.cow = (*~*.*).(*~*.*) ]]
- 0:  [[ moo.cow = (^*.*).(^*.*) ]]
- 1:  [[ sane.moo.cow = (^*.*).(^*.*) ]]
- 1:  [[ mucca.pazza = mu(^c#)?.pa(^z#)? ]]
- 1:  [[ _foo~ = _(|*[^~]) ]]
- 0:  [[ fff = ((^f)) ]]
- 0:  [[ fff = ((^f)#) ]]
- 0:  [[ fff = ((^f)##) ]]
- 0:  [[ ooo = ((^f)) ]]
- 0:  [[ ooo = ((^f)#) ]]
- 0:  [[ ooo = ((^f)##) ]]
- 0:  [[ foo = ((^f)) ]]
- 0:  [[ foo = ((^f)#) ]]
- 0:  [[ foo = ((^f)##) ]]
- 1:  [[ f = ((^f)) ]]
- 1:  [[ f = ((^f)#) ]]
- 1:  [[ f = ((^f)##) ]]
- 0:  [[ foot = (^z*|*x) ]]
- 1:  [[ zoot = (^z*|*x) ]]
- 0:  [[ foox = (^z*|*x) ]]
- 0:  [[ zoox = (^z*|*x) ]]
- 0:  [[ foo = (^foo)# ]]
- 1:  [[ foob = (^foo)b* ]]
- 0:  [[ foobb = (^foo)b* ]]
- 1:  [[ foob = (*~foo)b* ]]
- 0:  [[ foobb = (*~foo)b* ]]
- 1:  [[ zsh = ^z* ]]
- 0:  [[ a%1X = [[:alpha:][:punct:]]#[[:digit:]][^[:lower:]] ]]
- 1:  [[ a%1 = [[:alpha:][:punct:]]#[[:digit:]][^[:lower:]] ]]
- 0:  [[ [: = [[:]# ]]
- 0:  [[ :] = []:]# ]]
- 0:  [[ :] = [:]]# ]]
- 0:  [[ [ = [[] ]]
- 0:  [[ ] = []] ]]
- 0:  [[ [] = [^]]] ]]
- 0:  [[ fooxx = (#i)FOOXX ]]
- 1:  [[ fooxx = (#l)FOOXX ]]
- 0:  [[ FOOXX = (#l)fooxx ]]
- 1:  [[ fooxx = (#i)FOO(#I)X(#i)X ]]
- 0:  [[ fooXx = (#i)FOO(#I)X(#i)X ]]
- 0:  [[ fooxx = ((#i)FOOX)x ]]
- 1:  [[ fooxx = ((#i)FOOX)X ]]
- 1:  [[ BAR = (bar|(#i)foo) ]]
- 0:  [[ FOO = (bar|(#i)foo) ]]
- 0:  [[ Modules = (#i)*m* ]]
- 0:  [[ fooGRUD = (#i)(bar|(#I)foo|(#i)rod)grud ]]
- 1:  [[ FOOGRUD = (#i)(bar|(#I)foo|(#i)rod)grud ]]
- 0:  [[ readme = (#i)readme~README|readme ]]
- 0:  [[ readme = (#i)readme~README|readme~README ]]
- 0:  [[ 633 = <1-1000>33 ]]
- 0:  [[ 633 = <-1000>33 ]]
- 0:  [[ 633 = <1->33 ]]
- 0:  [[ 633 = <->33 ]]
- 0:  [[ READ.ME = (#ia1)readme ]]
- 1:  [[ READ..ME = (#ia1)readme ]]
- 0:  [[ README = (#ia1)readm ]]
- 0:  [[ READM = (#ia1)readme ]]
- 0:  [[ README = (#ia1)eadme ]]
- 0:  [[ EADME = (#ia1)readme ]]
- 0:  [[ READEM = (#ia1)readme ]]
- 1:  [[ ADME = (#ia1)readme ]]
- 1:  [[ README = (#ia1)read ]]
- 0:  [[ bob = (#a1)[b][b] ]]
- 1:  [[ bob = (#a1)[b][b]a ]]
- 0:  [[ bob = (#a1)[b]o[b]a ]]
- 1:  [[ bob = (#a1)[c]o[b] ]]
- 0:  [[ abcd = (#a2)XbcX ]]
- 0:  [[ abcd = (#a2)ad ]]
- 0:  [[ ad = (#a2)abcd ]]
- 0:  [[ abcd = (#a2)bd ]]
- 0:  [[ bd = (#a2)abcd ]]
- 0:  [[ badc = (#a2)abcd ]]
- 0:  [[ adbc = (#a2)abcd ]]
- 1:  [[ dcba = (#a2)abcd ]]
- 0:  [[ dcba = (#a3)abcd ]]
- 0:  [[ aabaXaaabY = (#a1)(a#b)#Y ]]
- 0:  [[ aabaXaaabY = (#a1)(a#b)(a#b)Y ]]
- 0:  [[ aaXaaaaabY = (#a1)(a#b)(a#b)Y ]]
- 0:  [[ aaaXaaabY = (#a1)(a##b)##Y ]]
- 0:  [[ aaaXbaabY = (#a1)(a##b)##Y ]]
- 1:  [[ read.me = (#ia1)README~READ.ME ]]
- 0:  [[ read.me = (#ia1)README~READ_ME ]]
- 1:  [[ read.me = (#ia1)README~(#a1)READ_ME ]]
- 0:  [[ test = *((#s)|/)test((#e)|/)* ]]
- 0:  [[ test/path = *((#s)|/)test((#e)|/)* ]]
- 0:  [[ path/test = *((#s)|/)test((#e)|/)* ]]
- 0:  [[ path/test/ohyes = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ atest = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ testy = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ testy/path = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ path/atest = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ atest/path = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ path/testy = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ path/testy/ohyes = *((#s)|/)test((#e)|/)* ]]
- 1:  [[ path/atest/ohyes = *((#s)|/)test((#e)|/)* ]]
  0 tests failed.
--- 1 ----
Test ../../zsh-4.0.1-pre-5/Test/D02glob.ztst failed: output differs from expected as shown above for:
  globtest globtests
Error output:
/tmp/obj-sun/Test/../../zsh-4.0.1-pre-5/Test/../Misc/globtests:7: bad address
Was testing: zsh globbing
../../zsh-4.0.1-pre-5/Test/D02glob.ztst: test failed.
../../zsh-4.0.1-pre-5/Test/D03procsubst.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
  mkdir procsubst.tmp
  cd procsubst.tmp
  print 'First\tSecond\tThird\tFourth' >FILE1
  print 'Erste\tZweite\tDritte\tVierte' >FILE2
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:
  paste <(cut -f1 FILE1) <(cut -f3 FILE2)
ZTST_getchunk: read code chunk:
  paste <(cut -f1 FILE1) <(cut -f3 FILE2)
ZTST_test: examining line:
>First	Dritte
ZTST_getredir: read redir for '>':
First	Dritte
ZTST_test: examining line:

Running test: <(...) substitution
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
First	Dritte
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  paste <(cut -f2 FILE1) <(cut -f4 FILE2) > >(sed 's/e/E/g' >OUTFILE)
ZTST_getchunk: read code chunk:
  paste <(cut -f2 FILE1) <(cut -f4 FILE2) > >(sed 's/e/E/g' >OUTFILE)
  sleep 1	# since the sed is asynchronous
  cat OUTFILE
ZTST_test: examining line:
>SEcond	ViErtE
ZTST_getredir: read redir for '>':
SEcond	ViErtE
ZTST_test: examining line:

Running test: >(...) substitution
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
SEcond	ViErtE
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  diff =(cat FILE1) =(cat FILE2)
ZTST_getchunk: read code chunk:
  diff =(cat FILE1) =(cat FILE2)
ZTST_test: examining line:
>1c1
ZTST_getredir: read redir for '>':
1c1
< First	Second	Third	Fourth
---
> Erste	Zweite	Dritte	Vierte
ZTST_test: examining line:

Running test: =(...) substituion
ZTST_test: expecting status: 1
../../zsh-4.0.1-pre-5/Test/D04parameter.ztst: starting.
ZTST_getsect: read section name: prep
ZTST_getchunk: read code chunk:
  mkdir parameter.tmp
  cd parameter.tmp
  touch boringfile evenmoreboringfile
ZTST_execchunk: status 0
ZTST_getchunk: read code chunk:

ZTST_getsect: read section name: test
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  foo='the first parameter'
ZTST_getchunk: read code chunk:
  foo='the first parameter'
  bar='the second parameter'
  print -l $foo ${bar}
ZTST_test: examining line:
>the first parameter
ZTST_getredir: read redir for '>':
the first parameter
the second parameter
ZTST_test: examining line:

Running test: Basic scalar parameter substitution
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
the first parameter
the second parameter
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  array1=(the first array)
ZTST_getchunk: read code chunk:
  array1=(the first array)
  array2=(the second array)
  print -l $array1 ${array2}
ZTST_test: examining line:
>the
ZTST_getredir: read redir for '>':
the
first
array
the
second
array
ZTST_test: examining line:

Running test: Basic array parameter substitution
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
the
first
array
the
second
array
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  setopt ksharrays
ZTST_getchunk: read code chunk:
  setopt ksharrays
  print -l $array1 ${array2}
  unsetopt ksharrays
ZTST_test: examining line:
>the
ZTST_getredir: read redir for '>':
the
the
ZTST_test: examining line:

Running test: Basic ksharray substitution
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
the
the
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  setopt shwordsplit
ZTST_getchunk: read code chunk:
  setopt shwordsplit
  print -l $foo ${bar}
  unsetopt shwordsplit
ZTST_test: examining line:
>the
ZTST_getredir: read redir for '>':
the
first
parameter
the
second
parameter
ZTST_test: examining line:

Running test: Basic shwordsplit option handling
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
the
first
parameter
the
second
parameter
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print $+foo ${+foo} $+notappearinginthistest ${+notappearinginthistest}
ZTST_getchunk: read code chunk:
  print $+foo ${+foo} $+notappearinginthistest ${+notappearinginthistest}
ZTST_test: examining line:
>1 1 0 0
ZTST_getredir: read redir for '>':
1 1 0 0
ZTST_test: examining line:

Running test: $+...
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
1 1 0 0
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  set1=set1v
ZTST_getchunk: read code chunk:
  set1=set1v
  null1=
  print ${set1:-set1d} ${set1-set2d} ${null1:-null1d} ${null1-null2d} x
  print ${unset1:-unset1d} ${unset1-unset2d} x
ZTST_test: examining line:
>set1v set1v null1d x
ZTST_getredir: read redir for '>':
set1v set1v null1d x
unset1d unset2d x
ZTST_test: examining line:

Running test: ${...:-...} and ${...-...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
set1v set1v null1d x
unset1d unset2d x
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  set2=irrelevant
ZTST_getchunk: read code chunk:
  set2=irrelevant
  print ${set1:=set1d} ${set2::=set2d}
  print $set2
  wasnull1=
  wasnull2=
  print ${wasnull1=wasnull1d} ${wasnull2:=wasnull2d}
  print $wasnull1 $wasnull2
ZTST_test: examining line:
>set1v set2d
ZTST_getredir: read redir for '>':
set1v set2d
set2d
wasnull2d
wasnull2d
ZTST_test: examining line:

Running test: ${...:=...}, ${...::=...}, ${...=...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
set1v set2d
set2d
wasnull2d
wasnull2d
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  (print ${set1:?okhere}; print ${unset1:?exiting1}; print not reached;)
ZTST_getchunk: read code chunk:
  (print ${set1:?okhere}; print ${unset1:?exiting1}; print not reached;)
  (print ${null1?okhere}; print ${null1:?exiting2}; print not reached;)
ZTST_test: examining line:
>set1v
ZTST_getredir: read redir for '>':
set1v

ZTST_test: examining line:
?ZTST_execchunk:2: unset1: exiting1
ZTST_getredir: read redir for '?':
ZTST_execchunk:2: unset1: exiting1
ZTST_execchunk:2: null1: exiting2
ZTST_test: examining line:

Running test: ${...:?...}, ${...?...}
ZTST_test: expecting status: 1
ZTST_execchunk: status 1
ZTST_test: test produced standard output:
set1v
ZTST_test: and standard error:
ZTST_execchunk:2: unset1: exiting1
ZTST_execchunk:2: null1: exiting2
Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print ${set1:+word1} ${set1+word2} ${null1:+word3} ${null1+word4}
ZTST_getchunk: read code chunk:
  print ${set1:+word1} ${set1+word2} ${null1:+word3} ${null1+word4}
  print ${unset1:+word5} ${unset1+word6}
ZTST_test: examining line:
>word1 word2 word4
ZTST_getredir: read redir for '>':
word1 word2 word4

ZTST_test: examining line:

Running test: ${...:+...}, ${...+...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
word1 word2 word4
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  str1='This is very boring indeed.'
ZTST_getchunk: read code chunk:
  str1='This is very boring indeed.'
  print ${str1#*s}
  print ${str1##*s}
  print $str1##s
ZTST_test: examining line:
> is very boring indeed.
ZTST_getredir: read redir for '>':
 is very boring indeed.
 very boring indeed.
This is very boring indeed.##s
ZTST_test: examining line:

Running test: ${...#...}, ${...##...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
 is very boring indeed.
 very boring indeed.
This is very boring indeed.##s
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  str2='If you'\''re reading this you should go and fix some bugs instead.'
ZTST_getchunk: read code chunk:
  str2='If you'\''re reading this you should go and fix some bugs instead.'
  print ${str2%d*}
  print ${str2%%d*}
ZTST_test: examining line:
>If you're reading this you should go and fix some bugs instea
ZTST_getredir: read redir for '>':
If you're reading this you should go and fix some bugs instea
If you're rea
ZTST_test: examining line:

Running test: ${...%...}, ${...%%...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
If you're reading this you should go and fix some bugs instea
If you're rea
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  str1='does match'
ZTST_getchunk: read code chunk:
  str1='does match'
  str2='does not match'
  print ${str1:#does * match}
  print ${str2:#does * match}
ZTST_test: examining line:
>does match
ZTST_getredir: read redir for '>':
does match

ZTST_test: examining line:

Running test: ${...:#...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
does match
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  array1=(arthur boldly claws dogs every fight)
ZTST_getchunk: read code chunk:
  array1=(arthur boldly claws dogs every fight)
  print ${array1:#[aeiou]*}
  print ${(M)array1:#[aeiou]*}
ZTST_test: examining line:
>boldly claws dogs fight
ZTST_getredir: read redir for '>':
boldly claws dogs fight
arthur every
ZTST_test: examining line:

Running test: ${...:#...}, ${(M)...:#...} with array
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
boldly claws dogs fight
arthur every
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  str1="$array1"
ZTST_getchunk: read code chunk:
  str1="$array1"
  print ${str1/[aeiou]*g/a braw bricht moonlicht nicht the nic}
  print ${(S)str1/[aeiou]*g/relishe}
ZTST_test: examining line:
>a braw bricht moonlicht nicht the nicht
ZTST_getredir: read redir for '>':
a braw bricht moonlicht nicht the nicht
relishes every fight
ZTST_test: examining line:

Running test: scalar ${.../.../...}, ${(S).../.../...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
a braw bricht moonlicht nicht the nicht
relishes every fight
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print ${array1/[aeiou]*/Y}
ZTST_getchunk: read code chunk:
  print ${array1/[aeiou]*/Y}
  print ${(S)array1/[aeiou]*/Y}
ZTST_test: examining line:
>Y bY clY dY Y fY
ZTST_getredir: read redir for '>':
Y bY clY dY Y fY
Yrthur bYldly clYws dYgs Yvery fYght
ZTST_test: examining line:

Running test: array ${.../.../...}, ${(S).../.../...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Y bY clY dY Y fY
Yrthur bYldly clYws dYgs Yvery fYght
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  str1='o this is so, so so very dull'
ZTST_getchunk: read code chunk:
  str1='o this is so, so so very dull'
  print ${str1//o*/Please no}
  print ${(S)str1//o*/Please no}
ZTST_test: examining line:
>Please no
ZTST_getredir: read redir for '>':
Please no
Please no this is sPlease no, sPlease no sPlease no very dull
ZTST_test: examining line:

Running test: scalar ${...//.../...}, ${(S)...//.../...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Please no
Please no this is sPlease no, sPlease no sPlease no very dull
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print ${array1//[aeiou]*/Y}
ZTST_getchunk: read code chunk:
  print ${array1//[aeiou]*/Y}
  print ${(S)array1//[aeiou]*/Y}
ZTST_test: examining line:
>Y bY clY dY Y fY
ZTST_getredir: read redir for '>':
Y bY clY dY Y fY
YrthYr bYldly clYws dYgs YvYry fYght
ZTST_test: examining line:

Running test: array ${...//.../...}, ${(S)...//.../...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Y bY clY dY Y fY
YrthYr bYldly clYws dYgs YvYry fYght
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print ${array1:/[aeiou]*/expletive deleted}
ZTST_getchunk: read code chunk:
  print ${array1:/[aeiou]*/expletive deleted}
ZTST_test: examining line:
>expletive deleted boldly claws dogs expletive deleted fight
ZTST_getredir: read redir for '>':
expletive deleted boldly claws dogs expletive deleted fight
ZTST_test: examining line:

Running test: array ${...:/...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
expletive deleted boldly claws dogs expletive deleted fight
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  str1='twocubed'
ZTST_getchunk: read code chunk:
  str1='twocubed'
  array=(the number of protons in an oxygen nucleus)
  print $#str1 ${#str1} "$#str1 ${#str1}" $#array ${#array} "$#array ${#array}"
ZTST_test: examining line:
>8 8 8 8 8 8 8 8
ZTST_getredir: read redir for '>':
8 8 8 8 8 8 8 8
ZTST_test: examining line:

Running test: ${#...}, $#...
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
8 8 8 8 8 8 8 8
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  array=(once bitten twice shy)
ZTST_getchunk: read code chunk:
  array=(once bitten twice shy)
  print IF${array}THEN
  print IF${^array}THEN
ZTST_test: examining line:
>IFonce bitten twice shyTHEN
ZTST_getredir: read redir for '>':
IFonce bitten twice shyTHEN
IFonceTHEN IFbittenTHEN IFtwiceTHEN IFshyTHEN
ZTST_test: examining line:

Running test: basic ${^...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
IFonce bitten twice shyTHEN
IFonceTHEN IFbittenTHEN IFtwiceTHEN IFshyTHEN
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  # Quote ${array} here because {...,...} doesn't like unquoted spaces.
ZTST_getchunk: read code chunk:
  # Quote ${array} here because {...,...} doesn't like unquoted spaces.
  print IF{"${array}",THEN}ELSE
  print IF{${^array},THEN}ELSE
ZTST_test: examining line:
>IFonce bitten twice shyELSE IFTHENELSE
ZTST_getredir: read redir for '>':
IFonce bitten twice shyELSE IFTHENELSE
IFonceELSE IFTHENELSE IFbittenELSE IFTHENELSE IFtwiceELSE IFTHENELSE IFshyELSE IFTHENELSE
ZTST_test: examining line:

Running test: combined ${^...} and {...,...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
IFonce bitten twice shyELSE IFTHENELSE
IFonceELSE IFTHENELSE IFbittenELSE IFTHENELSE IFtwiceELSE IFTHENELSE IFshyELSE IFTHENELSE
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  str1='one word'
ZTST_getchunk: read code chunk:
  str1='one word'
  print -l $str1 ${=str1} "split ${=str1}wise"
ZTST_test: examining line:
>one word
ZTST_getredir: read redir for '>':
one word
one
word
split one
wordwise
ZTST_test: examining line:

Running test: ${=...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
one word
one
word
split one
wordwise
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  str1='*'
ZTST_getchunk: read code chunk:
  str1='*'
  print $str1 ${~str1} $~str1
  setopt globsubst
  print $str1
  unsetopt globsubst
ZTST_test: examining line:
>* boringfile evenmoreboringfile boringfile evenmoreboringfile
ZTST_getredir: read redir for '>':
* boringfile evenmoreboringfile boringfile evenmoreboringfile
boringfile evenmoreboringfile
ZTST_test: examining line:

Running test: ${~...} and globsubst
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
* boringfile evenmoreboringfile boringfile evenmoreboringfile
boringfile evenmoreboringfile
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print -l "${$(print one word)}" "${=$(print two words)}"
ZTST_getchunk: read code chunk:
  print -l "${$(print one word)}" "${=$(print two words)}"
ZTST_test: examining line:
>one word
ZTST_getredir: read redir for '>':
one word
two
words
ZTST_test: examining line:

Running test: splitting of $(...) inside ${...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
one word
two
words
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print -l "${(f)$(print first line\\nsecond line\\nthird line)}"
ZTST_getchunk: read code chunk:
  print -l "${(f)$(print first line\\nsecond line\\nthird line)}"
ZTST_test: examining line:
>first line
ZTST_getredir: read redir for '>':
first line
second line
third line
ZTST_test: examining line:

Running test: ${(f)$(...)}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
first line
second line
third line
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  print -l ${(A)newarray=splitting by numbers}
ZTST_getchunk: read code chunk:
  print -l ${(A)newarray=splitting by numbers}
  print -l ${(A)=newarray::=splitting by spaces, actually}
ZTST_test: examining line:
>splitting by numbers
ZTST_getredir: read redir for '>':
splitting by numbers
splitting
by
spaces,
actually
ZTST_test: examining line:

Running test: ${(A)...=...}, ${(A)...::=...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
splitting by numbers
splitting
by
spaces,
actually
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  newarray=("split me" "split me" "I\'m yours")
ZTST_getchunk: read code chunk:
  newarray=("split me" "split me" "I\'m yours")
  print -l "${(@)newarray}"
ZTST_test: examining line:
>split me
ZTST_getredir: read redir for '>':
split me
split me
I'm yours
ZTST_test: examining line:

Running test: "${(@)...}"
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
split me
split me
I'm yours
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  foo='$(print Howzat)'
ZTST_getchunk: read code chunk:
  foo='$(print Howzat)'
  print ${(e)foo}
ZTST_test: examining line:
>Howzat
ZTST_getredir: read redir for '>':
Howzat
ZTST_test: examining line:

Running test: ${(e)...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
Howzat
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  foo='I'\''m nearly out of my mind with tedium'
ZTST_getchunk: read code chunk:
  foo='I'\''m nearly out of my mind with tedium'
  bar=foo
  print ${(P)bar}
ZTST_test: examining line:
>I'm nearly out of my mind with tedium
ZTST_getredir: read redir for '>':
I'm nearly out of my mind with tedium
ZTST_test: examining line:

Running test: ${(P)...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
I'm nearly out of my mind with tedium
ZTST_test: and standard error:

Test successful.
ZTST_test: looking for new test
ZTST_test: examining line:

ZTST_test: examining line:
  foo=(I could be watching that programme I recorded)
ZTST_getchunk: read code chunk:
  foo=(I could be watching that programme I recorded)
  print ${(o)foo}
  print ${(oi)foo}
  print ${(O)foo}
  print ${(Oi)foo}
ZTST_test: examining line:
>I I be could programme recorded that watching
ZTST_getredir: read redir for '>':
I I be could programme recorded that watching
be could I I programme recorded that watching
watching that recorded programme could be I I
watching that recorded programme I I could be
ZTST_test: examining line:

Running test: ${(o)...}, ${(O)...}
ZTST_test: expecting status: 0
ZTST_execchunk: status 0
ZTST_test: test produced standard output:
I I be could programme recorded that watching
be could I I programme recorded that watching
watching that recorded programme could be I I
watching that recorded programme I I could be
ZTST_test: and standard error:

Test successful.
ZTST_test: lo