From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3601 invoked from network); 5 Aug 2002 12:11:14 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 5 Aug 2002 12:11:14 -0000 Received: (qmail 14925 invoked by alias); 5 Aug 2002 12:11:08 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 17502 Received: (qmail 14910 invoked from network); 5 Aug 2002 12:11:07 -0000 To: zsh-workers@sunsite.dk (Zsh hackers list) Subject: PATCH: test system. Date: Mon, 05 Aug 2002 13:10:38 +0100 Message-ID: <1938.1028549438@csr.com> From: Peter Stephenson Two test system changes which someone more sophisticated would have sent separately. First, it's now possible to have lines beginning with `F:' to show text to be displayed if a test failed. Can someone confirm that the text for the NFS -N condition failure is appropriate? Second, changes for Dan's patch for xtrace quoting. Someone really to look in more detail to see if quoting has now appeared in all the right places, but it looked OK at first sight. I also felt some case-parenthesis fascism coming on. Index: Test/C02cond.ztst =================================================================== RCS file: /cvsroot/zsh/zsh/Test/C02cond.ztst,v retrieving revision 1.12 diff -u -r1.12 C02cond.ztst --- Test/C02cond.ztst 17 Apr 2002 17:17:42 -0000 1.12 +++ Test/C02cond.ztst 5 Aug 2002 12:07:37 -0000 @@ -135,6 +135,9 @@ [[ -N newnewnew && ! -N unmodified ]] fi 0:-N cond +F:This test can fail on NFS-mounted filesystems as the access and +F:modification times are not updated separately. This does not indicate +F:a problem in the shell. [[ newnewnew -nt zerolength && ! (unmodified -nt zerolength) ]] 0:-nt cond Index: Test/E02xtrace.ztst =================================================================== RCS file: /cvsroot/zsh/zsh/Test/E02xtrace.ztst,v retrieving revision 1.4 diff -u -r1.4 E02xtrace.ztst --- Test/E02xtrace.ztst 22 Aug 2001 15:59:27 -0000 1.4 +++ Test/E02xtrace.ztst 5 Aug 2002 12:07:37 -0000 @@ -55,32 +55,32 @@ >Tracing: function 2>file >Tracing: source >Tracing: source 2>file ->+(eval):7> print Tracing: ( builtin ) 2>file +>+(eval):7> print 'Tracing: ( builtin ) 2>file' >+(eval):9> cat ->+(eval):11> print Tracing: { builtin } 2>file +>+(eval):11> print 'Tracing: { builtin } 2>file' >+(eval):13> cat ->+(eval):15> print Tracing: do builtin done 2>file +>+(eval):15> print 'Tracing: do builtin done 2>file' >+(eval):17> cat -?+(eval):2> print Tracing: builtin -?+(eval):3> print Tracing: builtin 2>file +?+(eval):2> print 'Tracing: builtin' +?+(eval):3> print 'Tracing: builtin 2>file' ?+(eval):4> cat ?+(eval):5> cat -?+(eval):6> print Tracing: ( builtin ) +?+(eval):6> print 'Tracing: ( builtin )' ?+(eval):8> cat -?+(eval):10> print Tracing: { builtin } +?+(eval):10> print 'Tracing: { builtin }' ?+(eval):12> cat -?+(eval):14> print Tracing: do builtin done +?+(eval):14> print 'Tracing: do builtin done' ?+(eval):16> cat -?+(eval):18> xtf Tracing: function +?+(eval):18> xtf 'Tracing: function' ?+xtf:1> local regression_test_dummy_variable -?+xtf:2> print Tracing: function -?+(eval):19> xtf Tracing: function 2>file +?+xtf:2> print 'Tracing: function' +?+(eval):19> xtf 'Tracing: function 2>file' ?+xtf:1> local regression_test_dummy_variable -?+xtf:2> print Tracing: function 2>file -?+(eval):20> . ./xt.in Tracing: source -?+./xt.in:1> print Tracing: source -?+(eval):21> . ./xt.in Tracing: source 2>file -?+./xt.in:1> print Tracing: source 2>file +?+xtf:2> print 'Tracing: function 2>file' +?+(eval):20> . ./xt.in 'Tracing: source' +?+./xt.in:1> print 'Tracing: source' +?+(eval):21> . ./xt.in 'Tracing: source 2>file' +?+./xt.in:1> print 'Tracing: source 2>file' ?+(eval):22> set +x typeset -ft xtf @@ -88,4 +88,4 @@ 0: >Tracing: function ?+xtf:1> local regression_test_dummy_variable -?+xtf:2> print Tracing: function +?+xtf:2> print 'Tracing: function' Index: Test/ztst.zsh =================================================================== RCS file: /cvsroot/zsh/zsh/Test/ztst.zsh,v retrieving revision 1.17 diff -u -r1.17 ztst.zsh --- Test/ztst.zsh 5 Jul 2001 14:51:35 -0000 1.17 +++ Test/ztst.zsh 5 Aug 2002 12:07:37 -0000 @@ -101,6 +101,10 @@ print -r "Was testing: $ZTST_message" fi print -r "$ZTST_testname: test failed." + if [[ -n $ZTST_failmsg ]]; then + print -r "The following may (or may not) help identifying the cause: +$ZTST_failmsg" + fi ZTST_testfailed=1 return 1 } @@ -195,13 +199,13 @@ $ZTST_redir" case $char in - '<') fn=$ZTST_in + ('<') fn=$ZTST_in ;; - '>') fn=$ZTST_out + ('>') fn=$ZTST_out ;; - '?') fn=$ZTST_err + ('?') fn=$ZTST_err ;; - *) ZTST_testfailed "bad redir operator: $char" + ( *) ZTST_testfailed "bad redir operator: $char" return 1 ;; esac @@ -260,6 +264,7 @@ rm -f $ZTST_in $ZTST_out $ZTST_err touch $ZTST_in $ZTST_out $ZTST_err ZTST_message='' + ZTST_failmsg='' found=0 ZTST_verbose 2 "ZTST_test: looking for new test" @@ -268,14 +273,14 @@ ZTST_verbose 2 "ZTST_test: examining line: $ZTST_curline" case $ZTST_curline in - %*) if [[ $found = 0 ]]; then + (%*) if [[ $found = 0 ]]; then break 2 else last=1 break fi ;; - [[:space:]]#) + ([[:space:]]#) if [[ $found = 0 ]]; then ZTST_getline || break 2 continue @@ -283,7 +288,7 @@ break fi ;; - [[:space:]]##[^[:space:]]*) ZTST_getchunk + ([[:space:]]##[^[:space:]]*) ZTST_getchunk if [[ $ZTST_curline == (#b)([-0-9]##)([[:alpha:]]#)(:*)# ]]; then ZTST_xstatus=$match[1] ZTST_flags=$match[2] @@ -296,16 +301,21 @@ ZTST_getline found=1 ;; - '<'*) ZTST_getredir || return 1 + ('<'*) ZTST_getredir || return 1 found=1 ;; - '>'*) ZTST_getredir || return 1 + ('>'*) ZTST_getredir || return 1 found=1 ;; - '?'*) ZTST_getredir || return 1 + ('?'*) ZTST_getredir || return 1 found=1 ;; - *) ZTST_testfailed "bad line in test block: + ('F:'*) ZTST_failmsg="${ZTST_failmsg:+${ZTST_failmsg} +} ${ZTST_curline[3,-1]}" + ZTST_getline + found=1 + ;; + (*) ZTST_testfailed "bad line in test block: $ZTST_curline" return 1 ;; @@ -373,7 +383,7 @@ ZTST_unimplemented= while [[ -z "$ZTST_unimplemented" ]] && ZTST_getsect $ZTST_skipok; do case $ZTST_cursect in - prep) if (( ${ZTST_sects[prep]} + ${ZTST_sects[test]} + \ + (prep) if (( ${ZTST_sects[prep]} + ${ZTST_sects[test]} + \ ${ZTST_sects[clean]} )); then ZTST_testfailed "\`prep' section must come first" exit 1 @@ -381,7 +391,7 @@ ZTST_prepclean ZTST_sects[prep]=1 ;; - test) + (test) if (( ${ZTST_sects[test]} + ${ZTST_sects[clean]} )); then ZTST_testfailed "bad placement of \`test' section" exit 1 @@ -392,7 +402,7 @@ (( $? )) && ZTST_skipok=1 ZTST_sects[test]=1 ;; - clean) + (clean) if (( ${ZTST_sects[test]} == 0 || ${ZTST_sects[clean]} )); then ZTST_testfailed "bad use of \`clean' section" else -- Peter Stephenson Software Engineer CSR Ltd., Science Park, Milton Road, Cambridge, CB4 0WH, UK Tel: +44 (0)1223 692070 ********************************************************************** The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. **********************************************************************