Greetings, The intent of this patch is to turn `nmake test` results that look like this: io/fs.................................The system cannot find the path specified. ok, 12/29 skipped: various reasons io/inplace............................ok which can in turn be traced to running io/fs.t.orig by hand like so: 1..29 ok 1 # skipped: bogus umask() ok 2 # skipped: no link ok 3 # skipped: no link ok 4 # skipped: no link ok 5 # skipped: no link ok 6 ok 7 # skipped: no link ok 8 # skipped: no link ok 9 # skipped: no link ok 10 # skipped: no link ok 11 # skipped: no link ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 # skipped: bogus (stat)[1] ok 18 # skipped: granularity of the filetime ok 19 ok 20 The system cannot find the path specified. ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 into this: 1..29 ok 1 # skipped: bogus umask() ok 2 # skipped: no link ok 3 # skipped: no link ok 4 # skipped: no link ok 5 # skipped: no link ok 6 ok 7 # skipped: no link ok 8 # skipped: no link ok 9 # skipped: no link ok 10 # skipped: no link ok 11 # skipped: no link ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 # skipped: bogus (stat)[1] ok 18 # skipped: granularity of the filetime ok 19 ok 20 ok 21 # skipped: no link ok 22 # skipped: no link ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 Note that this patch attempts to be a bit more informative about skipping reasons for tests 21 and 22 on non MSWin32||NetWare platforms. It uses the `2>nul` idiom that was actually employed elsewhere in the script for MSWin32 and NetWare, but it leaves in place the mystery about what to do if you do not have an ls utility in your %PATH%. Testing by NetWare folk would be appreciated: --- perl_11373/t/io/fs.t.orig Sat Jul 21 11:55:03 2001 +++ perl_11373/t/io/fs.t Sat Jul 21 11:54:58 2001 @@ -136,7 +136,9 @@ chdir $wd || die "Can't cd back to $wd"; unlink 'c'; -if ((($^O eq 'MSWin32') || ($^O eq 'NetWare')) and `ls -l perl 2>/dev/null` =~ /^l.*->/) { +# Yet another way to look for links (perhaps those that cannot be created by perl?). +# Hopefully there is an ls utility in your %PATH%. N.B. that $^O is 'cygwin' on Cygwin. +if ((($^O eq 'MSWin32') || ($^O eq 'NetWare')) and `ls -l perl 2>nul` =~ /^l.*->/) { # we have symbolic links system("cp TEST TEST$$"); # we have to copy because e.g. GNU grep gets huffy if we have @@ -149,7 +151,12 @@ unlink("TEST$$"); } else { - print "ok 21\nok 22\n"; + if ( ($^O eq 'MSWin32') || ($^O eq 'NetWare') ) { + print "ok 21 # skipped: no link\nok 22 # skipped: no link\n"; + } + else { + print "ok 21 # skipped: $^O is neither 'MSWin32' nor 'NetWare'\nok 22 # skipped: $^O is neither 'MSWin32' nor 'NetWare'\n"; + } } # truncate (may not be implemented everywhere) End of Patch. I note BTW that this patch has been changed a bit most recently by # 11198 (MacOS), # 10942 (MPE/iX), 10862 and 10643. With perhaps more native shell command substitutions this could be made to work on VMS as well (changes not included above). Peter Prymmer