1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-03 22:32:12 +02:00

15099: rudimental support for skipping unimplemented tests

This commit is contained in:
Andrey Borzenkov 2001-06-26 15:02:34 +00:00
parent 760d3b89a3
commit b053d02cdb
3 changed files with 29 additions and 9 deletions

View file

@ -1,3 +1,8 @@
2001-06-26 Andrej Borsenkow <bor@zsh.org>
* 15099: Test/D03procsubst.ztst, Test/ztst.zsh: add some support
for skipping unimplemented features
2001-06-26 Clint Adams <clint@zsh.org>
* 15094: Functions/Prompts/prompt_clint_setup:

View file

@ -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)

View file

@ -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 ))