Michael G Schwern wrote:
On Sat, Aug 13, 2005 at 10:33:45PM -0400, John E. Malmberg wrote:Test 7 is failing because normally on VMS, unless you specify otherwise, you get exclusive access to the file, so the second open is failing. The logical name DECC$FILE_SHARING defined as "ENABLE" will change VMS behavior to that of UNIX which will allow test 7 to pass. I can probably come up with some code to have the script on VMS make sure that that value is set and to clear it on exit. Test 8 is more of a problem. The issue is that the buffers for the other stream written by the new_tb->output("some_file") have not made it to disk, so they can not yet be read by the new input stream to pass the test. There does not seem to be a method of explicitly closing or flushing the output stream being written to by Test::Builder.I was about to commit the test fix for this and then I realized that Test::Builder unbuffers its newly created output filehandles. Everything should be written to disk immediately. If not then there's a bug either in Test::Builder's autoflush logic or in Perl. Could you have another look at this? Test::Builder _new_fh() and _autoflush() will be of some interest.
Sure, I can take a look. I also discovered while doing research on how to add the methods to set/get the current VMS C Library behavior that VMS was not configuring "d_fsync", and with out a fsync() call, C I/O is not flushed down to the disk.
fsync() is being called in VMS.C in one place, but I do not have time to look for a while.
-John [EMAIL PROTECTED] Personal Opinion Only
