From b053d02cdb782f02e85b540b3fc0e2a70faa5695 Mon Sep 17 00:00:00 2001 From: Andrey Borzenkov Date: Tue, 26 Jun 2001 15:02:34 +0000 Subject: 15099: rudimental support for skipping unimplemented tests --- Test/D03procsubst.ztst | 14 ++++++++++---- Test/ztst.zsh | 19 ++++++++++++++----- 2 files changed, 24 insertions(+), 9 deletions(-) (limited to 'Test') diff --git a/Test/D03procsubst.ztst b/Test/D03procsubst.ztst index 1810f9178..c1d7d289d 100644 --- a/Test/D03procsubst.ztst +++ b/Test/D03procsubst.ztst @@ -1,10 +1,16 @@ # Tests for process substitution: <(...), >(...) and =(...). %prep - mkdir procsubst.tmp - cd procsubst.tmp - print 'First\tSecond\tThird\tFourth' >FILE1 - print 'Erste\tZweite\tDritte\tVierte' >FILE2 + if grep '#define PATH_DEV_FD' $ZTST_testdir/../config.h > /dev/null 2>&1 || + grep '#define HAVE_FIFOS' $ZTST_testdir/../config.h > /dev/null 2>&1; then + mkdir procsubst.tmp + cd procsubst.tmp + print 'First\tSecond\tThird\tFourth' >FILE1 + print 'Erste\tZweite\tDritte\tVierte' >FILE2 + else + ZTST_unimplemented="process substitution is not supported" + true + fi %test paste <(cut -f1 FILE1) <(cut -f3 FILE2) diff --git a/Test/ztst.zsh b/Test/ztst.zsh index de37e97e8..414b26c6c 100755 --- a/Test/ztst.zsh +++ b/Test/ztst.zsh @@ -232,9 +232,11 @@ ZTST_execchunk() { ZTST_prepclean() { # Execute indented code chunks. while ZTST_getchunk; do - ZTST_execchunk >/dev/null || [[ -n $1 ]] || - ZTST_testfailed "non-zero status from preparation code: -$ZTST_code" + ZTST_execchunk >/dev/null || [[ -n $1 ]] || { + [[ -n "$ZTST_unimplemented" ]] || + ZTST_testfailed "non-zero status from preparation code: +$ZTST_code" && return 0 + } done } @@ -363,8 +365,11 @@ ZTST_sects=(prep 0 test 0 clean 0) print "$ZTST_testname: starting." # Now go through all the different sections until the end. +# prep section may set ZTST_unimplemented, in this case the actual +# tests will be skipped ZTST_skipok= -while ZTST_getsect $ZTST_skipok; do +ZTST_unimplemented= +while [[ -z "$ZTST_unimplemented" ]] && ZTST_getsect $ZTST_skipok; do case $ZTST_cursect in prep) if (( ${ZTST_sects[prep]} + ${ZTST_sects[test]} + \ ${ZTST_sects[clean]} )); then @@ -399,6 +404,10 @@ while ZTST_getsect $ZTST_skipok; do esac done -(( $ZTST_testfailed )) || print "$ZTST_testname: all tests successful." +if [[ -n "$ZTST_unimplemented" ]]; then + print "$ZTST_testname: skipped ($ZTST_unimplemented)" +elif (( ! $ZTST_testfailed )); then + print "$ZTST_testname: all tests successful." +fi ZTST_cleanup exit $(( ZTST_testfailed )) -- cgit 1.4.1