Index: Test/D03procsubst.ztst
===================================================================
RCS file: /cvsroot/zsh/zsh/Test/D03procsubst.ztst,v
retrieving revision 1.1
diff -u -r1.1 D03procsubst.ztst
--- Test/D03procsubst.ztst	2001/04/02 12:33:49	1.1
+++ Test/D03procsubst.ztst	2001/06/13 07:57:44
@@ -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)
Index: Test/Y01completion.ztst
===================================================================
RCS file: /cvsroot/zsh/zsh/Test/Y01completion.ztst,v
retrieving revision 1.1
diff -u -r1.1 Y01completion.ztst
--- Test/Y01completion.ztst	2001/04/02 12:35:14	1.1
+++ Test/Y01completion.ztst	2001/06/13 07:57:44
@@ -7,11 +7,15 @@
   cd comp.tmp
 
   comptestinit -z $ZTST_testdir/../Src/zsh
-
-  mkdir dir1
-  mkdir dir2
-  touch file1
-  touch file2
+  if zmodload -e zsh/zpty ; then
+    mkdir dir1
+    mkdir dir2
+    touch file1
+    touch file2
+  else
+    ZTST_unimplemented="could not load zsh/zpty"
+    true
+  fi
 
 %test
 
Index: Test/Y02compmatch.ztst
===================================================================
RCS file: /cvsroot/zsh/zsh/Test/Y02compmatch.ztst,v
retrieving revision 1.1
diff -u -r1.1 Y02compmatch.ztst
--- Test/Y02compmatch.ztst	2001/04/02 12:35:31	1.1
+++ Test/Y02compmatch.ztst	2001/06/13 07:57:45
@@ -17,21 +17,25 @@
   cd match.tmp
 
   comptestinit -z $ZTST_testdir/../Src/zsh
-
-  list1=(IndianRed IndianRed2 IndianRed3 IndianRed4)
-  test_code () {
-	matcher=$1;
-	list=$2;
-	code="compdef _tst tst ; _tst () { echo -n '<COMPADD>';compadd -M '"
-	code="$code$matcher"
-	code="$code'  - ${(P)list} ; echo  -n '</COMPADD>'"
-        code="$code; $extra_cmd"
-        code="$code; echo -n '<INSERT_POSITIONS>'"
-        code="$code; echo \$compstate[insert_positions]"
-        code="$code; echo -n '</INSERT_POSITIONS>'"
-        code="$code}"
-	comptesteval "$code"
-  }
+  if zmodload -e zsh/zpty ; then
+    list1=(IndianRed IndianRed2 IndianRed3 IndianRed4)
+    test_code () {
+  	matcher=$1;
+  	list=$2;
+  	code="compdef _tst tst ; _tst () { echo -n '<COMPADD>';compadd -M '"
+  	code="$code$matcher"
+  	code="$code'  - ${(P)list} ; echo  -n '</COMPADD>'"
+          code="$code; $extra_cmd"
+          code="$code; echo -n '<INSERT_POSITIONS>'"
+          code="$code; echo \$compstate[insert_positions]"
+          code="$code; echo -n '</INSERT_POSITIONS>'"
+          code="$code}"
+  	comptesteval "$code"
+    }
+  else
+    ZTST_unimplemented="could not load zsh/zpty"
+    true
+  fi
 
 
 
Index: Test/Y03arguments.ztst
===================================================================
RCS file: /cvsroot/zsh/zsh/Test/Y03arguments.ztst,v
retrieving revision 1.1
diff -u -r1.1 Y03arguments.ztst
--- Test/Y03arguments.ztst	2001/04/02 12:35:48	1.1
+++ Test/Y03arguments.ztst	2001/06/13 07:57:45
@@ -7,9 +7,13 @@
   cd comp.tmp
 
   comptestinit -z $ZTST_testdir/../Src/zsh
-  comptesteval 'compdef _tst tst'
-  tst_arguments () { comptesteval "_tst () { _arguments ${${(@qq)*}} }" }
-
+  if zmodload -e zsh/zpty ; then
+    comptesteval 'compdef _tst tst'
+    tst_arguments () { comptesteval "_tst () { _arguments ${${(@qq)*}} }" }
+  else
+    ZTST_unimplemented="could not load zsh/zpty"
+    true
+  fi
 %test
  tst_arguments ':desc1:(arg1)'
  comptest $'tst \t\C-wa\t\C-war\t\C-warg\t\C-warg1\t\C-wr\t\C-wx\t \ty \t'
Index: Test/ztst.zsh
===================================================================
RCS file: /cvsroot/zsh/zsh/Test/ztst.zsh,v
retrieving revision 1.15
diff -u -r1.15 ztst.zsh
--- Test/ztst.zsh	2001/05/22 09:27:25	1.15
+++ Test/ztst.zsh	2001/06/13 07:57:45
@@ -363,8 +363,11 @@
 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 +402,10 @@
   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 ))
