Craig A. Berry wrote:
On Nov 24, 2008, at 8:32 PM, John E. Malmberg wrote:
In lib/File/Compare.t :
The tests with the filename having a trailing space was not working
correctly on VMS in the traditional mode, and was leaving one of the
temporary files behind.
With VMS in the Extended File System (EFS) character set mode, the
test fails because it requires two things:
1. VMS to be in UNIX file sharing modes.
This is default exclusive locking disabled.
2. flush() on file handles need to be implemented/fixed on VMS to work.
It also needs to have the temp directory as chosen by File::Temp to be
set to an ODS-5 volume.
-John
[EMAIL PROTECTED]
Personal Opinion Only
--- /rsync_root/perl/lib/File/Compare.t Tue Jun 13 14:29:14 2006
+++ lib/File/Compare.t Mon Nov 24 19:24:36 2008
I appreciate the effort but something is not adding up here. We start
with a test file that has no VMS-specific workarounds at all. It uses
File::Spec and File::Temp and generally behaves itself from a
portability standpoint.
It only appears to behave in the VMS environment, it is not actually
doing the intended test, and as a side effect it is leaving behind the
temp file.
Then, in order to run it in a VMS environment
that emulates unixy behavior we have to add 60+ lines of VMS-specific
code to the test. Huh? Something's wrong with this picture.
I can see the failures and I agree something needs to be done, though I
haven't looked at it in detail to think about what that might be. But I
sure hope it's something less intrusive than this.
The additional lines are to provide diagnostics to the VMS user, because
when EFS charset mode is enabled, the test tries to open the file a
second time.
That open fails unless DECC$FILE_SHARING is enabled.
Then the test will still fail because VMS requires the output to be
flushed after the write a filehandle for the data to actually be in the
file.
Previous investigations showed that while the flush() method is
available on filehandles, on VMS, it currently does not actually flush
the buffer.
-John
[EMAIL PROTECTED]
Personal Opinion Only