Before this change, C<chdir sys> (performed in various places in the 
File::Find tests) would set default to the system library directory.  Ouch.  
The logical name SYS is defined in the description file (Makefile) to help 
out the C compiler, but it would also cause the tests 
lib/File/Find/t/taint.t and lib/File/Find/t/find.t to mysteriously fail when 
run as part of "MMK test", but not when run via any other method.  

Since these tests also do quite a bit of deleting in order to clean up after 
themselves, it's a bit scary how easily they can end up in the wrong place 
(like the root of my system disk, for example).  I don't understand why 
File::Find needs to change to a directory in order to see what's there, but 
I'm probably just being grumpy.

--- vms/test.com;-0     Wed Mar 20 15:11:22 2002
+++ vms/test.com        Fri Mar 22 16:33:36 2002
@@ -48,6 +48,9 @@
 $   If F$Search("VMSPIPE.COM").nes."" then Delete/Log/Noconfirm VMSPIPE.COM;*
 $   Copy/Log/NoConfirm [-]VMSPIPE.COM []
 $!
+$!  This may be set for the C compiler in descrip.mms, but it confuses the File::Find 
+tests
+$   DeAssign sys
+$!
 $!  And do it
 $   Show Process/Accounting
 $   testdir = "Directory/NoHead/NoTrail/Column=1"
[end of patch]


Reply via email to