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

Reply via email to