Yes! That leaves only a V07 test failure: ZTST_verbose=2 make TESTNUM=V07 -e check cd Test ; make check make[1]: Entering directory '/SSD-2/opt/build/zsh-2020-03-27/Test' if test -n "gcc"; then \ cd .. && DESTDIR= \ make MODDIR=`pwd`/Test/Modules install.modules > /dev/null; \ fi if test -z "$ZTST_handler"; then \ ZTST_handler=runtests.zsh; \ fi; \ if ZTST_testlist="`for f in ../../../src/zsh-2020-03-27/Test/V07*.ztst; \ do echo $f; done`" \ ZTST_srcdir="../../../src/zsh-2020-03-27/Test" \ ZTST_exe=../Src/zsh \ ../Src/zsh +Z -f ../../../src/zsh-2020-03-27/Test/$ZTST_handler; then \ stat=0; \ else \ stat=1; \ fi; \ sleep 1; \ rm -rf Modules .zcompdump; \ exit $stat ../../../src/zsh-2020-03-27/Test/V07pcre.ztst: starting. ZTST_getsect: read section name: prep ZTST_getchunk: read code chunk: if ! zmodload zsh/pcre 2>/dev/null; then then ZTST_unimplemented="the zsh/pcre module was disabled by configure (see config.modules)" return 0 fi setopt rematch_pcre setopt multibyte unset -m LC_\* mb_ok= langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8 $(locale -a 2>/dev/null | egrep 'utf8|UTF-8')) for LANG in $langs; do if [[ é = ? ]]; then mb_ok=1 break; fi done if [[ -z $mb_ok ]]; then ZTST_unimplemented="no UTF-8 locale or multibyte mode is not implemented" else print -u $ZTST_fd Testing PCRE multibyte with locale $LANG mkdir multibyte.tmp && cd multibyte.tmp fi (eval):3: parse error near `ZTST_unimplemented="...' ZTST_execchunk: status 1 Test ../../../src/zsh-2020-03-27/Test/V07pcre.ztst failed: non-zero status from preparation code: if ! zmodload zsh/pcre 2>/dev/null; then then ZTST_unimplemented="the zsh/pcre module was disabled by configure (see config.modules)" return 0 fi setopt rematch_pcre setopt multibyte unset -m LC_\* mb_ok= langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8 $(locale -a 2>/dev/null | egrep 'utf8|UTF-8')) for LANG in $langs; do if [[ é = ? ]]; then mb_ok=1 break; fi done if [[ -z $mb_ok ]]; then ZTST_unimplemented="no UTF-8 locale or multibyte mode is not implemented" else print -u $ZTST_fd Testing PCRE multibyte with locale $LANG mkdir multibyte.tmp && cd multibyte.tmp fi ../../../src/zsh-2020-03-27/Test/V07pcre.ztst: test failed. 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→bar' =~ .([^[:ascii:]]). ]] ZTST_getchunk: read code chunk: [[ 'foo→bar' =~ .([^[:ascii:]]). ]] print $MATCH print $match[1] ZTST_test: examining line: >o→b ZTST_getredir: read redir for '>': o→b → ZTST_test: examining line: Running test: Basic non-ASCII regexp matching ZTST_test: expecting status: 0 Input: /tmp/zsh.ztst.39712/ztst.in, output: /tmp/zsh.ztst.39712/ztst.out, error: /tmp/zsh.ztst.39712/ztst.terr ZTST_execchunk: status 0 ZTST_test: test produced standard output: 0 ZTST_test: and standard error: (eval):1: failed to compile regex: Invalid character class name --- /tmp/zsh.ztst.39712/ztst.out 2020-03-27 20:14:42.843332930 -0400 +++ /tmp/zsh.ztst.39712/ztst.tout 2020-03-27 20:14:42.843332930 -0400 @@ -1,2 +1,2 @@ -o→b -→ + +0 Test ../../../src/zsh-2020-03-27/Test/V07pcre.ztst failed: output differs from expected as shown above for: [[ 'foo→bar' =~ .([^[:ascii:]]). ]] print $MATCH print $match[1] Error output: (eval):1: failed to compile regex: Invalid character class name Was testing: Basic non-ASCII regexp matching ../../../src/zsh-2020-03-27/Test/V07pcre.ztst: test failed. - Vin On Fri, Mar 27, 2020 at 7:11 PM Daniel Shahaf wrote: > Vin Shelton wrote on Fri, 27 Mar 2020 07:56 -0400: > > Almost, but not quite: > > Does this work better? I added another :P. This catches the case that > the source directory isn't a realpath. (The case that the _build_ > directory > isn't a realpath worked since day one.) > > 8<--8<-- > From 57818d5fde2334965dce508e239af754f1fa565f Mon Sep 17 00:00:00 2001 > From: Daniel Shahaf > Date: Thu, 26 Mar 2020 21:41:49 +0000 > Subject: [PATCH] Fix new test when ${PWD}'s value contains symlinks. > > --- > Test/B13whence.ztst | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/Test/B13whence.ztst b/Test/B13whence.ztst > index ea0a4dae5..3b35835fe 100644 > --- a/Test/B13whence.ztst > +++ b/Test/B13whence.ztst > @@ -1,7 +1,10 @@ > %prep > > mkdir whence.tmp > - pushd whence.tmp > + ln -s . whence.tmp/cwd > + # cd through the symlink in order to test the case that ${prefix} and > + # ${prefix:P} are different > + pushd whence.tmp/cwd > ln -s real step3 > ln -s step3 step2 > ln -s step2 step1 > @@ -16,13 +19,13 @@ > %test > > ( > - path=( $PWD/whence.tmp $path ) > + path=( ${PWD:P}/whence.tmp $path ) > whence -S step1 > whence -s step1 > ) > 0q:whence symlink resolution > ->$prefix/step1 -> $prefix/step2 -> $prefix/step3 -> $prefix/real > ->$prefix/step1 -> $prefix/real > +>${prefix:P}/step1 -> ${prefix:P}/step2 -> ${prefix:P}/step3 -> > ${prefix:P}/real > +>${prefix:P}/step1 -> ${prefix:P}/real > > ( > path=( $PWD/whence.tmp $path ) > > Cheers, > > Daniel >