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