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

Reply via email to