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:
parent
760d3b89a3
commit
b053d02cdb
3 changed files with 29 additions and 9 deletions
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 ))
|
||||
|
|
Loading…
Reference in a new issue