On May 30, 2009, at 12:39 PM, John E. Malmberg wrote:
The lib/file/compare.t test has never been correct for VMS, but the
bugs where mostly hidden until testing on a ODS-5 volume with that
allows filenames with more characters in them than VMS traditionally
allows. This is known as EFS_CHARSET mode.
I think you are right that the test that intentionally has a space in
the filename is not working right in traditional mode. The correct
fix would be to detect whether files with spaces in the name are
actually supported and skip that test if not.
This also exposes that the vmsify() routine in the traditional VMS
mode is not matching how the C library in VMS internally implements
the equivalent function.
There are no explicit vmsify calls in the test, so I don't know what
you are referring to.
It also exposes that the flush() operation is a no-op on the VMS
platform, which is something that needs to be fixed.
I don't think it's working any differently than anywhere else. You
may be getting confused by the fact that calling flush() on a
filehandle only flushes the perlio buffers and does not implicitly do
an fflush(), much less an fsync(), on the underlying file descriptor.
This issue with flush() has shown up before, but the test was
modified to not use that algorithm.
The DECC$FILE_SHARING feature needs to be active for this test to
work when the EFS_CHARSET mode is on. By default DECC$FILE_SHARING
is off, and so far none of the other Perl tests need it enabled,
even when in UNIX compatible mode.
Flushing and file sharing aren't really relevant. When calling
File::Compare::compare with a filename rather than a handle, we just
need to make sure the file is closed first on VMS. That's it.
The last e-mail from Craig that I saw about the initial submission
where he was not sure about the extra diagnostics, but was going to
look it over, and I did not see a response to my more detailed post
about patch and why these diagnostics are needed.
Sorry not to follow up in a timely fashion. I'll try to do better
this time. I have something mostly working that just needs a bit more
testing.
________________________________________
Craig A. Berry
mailto:craigbe...@mac.com
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser