John E. Malmberg wrote: > Michael G Schwern wrote: > >> On Wed, Sep 28, 2005 at 12:55:47AM -0400, John E. Malmberg wrote: >> >>> From my tests on Perl 5.8.7, the modules that need to be changed to test >>> for the existence of these new methods and if they are defined to act >>> on the results are: > >> Just looking at that list of modules that need VMS-specific code, without >> even knowing what has to be changed, leaves me feeling its untenable. >> Folks >> can't be expected to put in that much platform specific code, >> particularly >> a platform most people don't have access to and cannot test against. >> If this is just for the core, I'd hate to see what would be necessary >> for CPAN. >> >> There's got to be a better way. To follow up again on this, a real example is the current VMS issues with the thread about lib/test/simple/t/create.t. There is no way that test as it was in blead when I last ran it will ever pass completely on VMS when VMS is in a traditional mode unless I change the traditional VMS behavior on a way that could silently introduce data corruption into VMS specific scripts. Now by using the DECC features, after I fix the issue where the I/O flush routine is a NOOP on VMS when it needs to call fsync(), it will pass. The I/O flush routine being a NOOP is clearly different than what a VMS specific Perl Script would expect, but probably has not been noticed. So when I get a chance, I will look at providing a VMS specific patch. And it also may be affecting other platforms, as with out the fsync() call, it is not guaranteed by X/Open that the I/O is actually flushed to the disk. It just may make it there most of the time because of system dynamics. So then the VMS related choices for the lib/test/simple/t/create.t would be: A. Re-write it to avoid the VMS specific issue, like the patch that you posted earlier does. B. Accept the occasional failure and mark it a # TODO. C. Skip the failed test when the script detects that it is running on VMS. D. Same as C, but have it check if VMS is in the wrong mode before the skip. E. Try to change VMS to be in the correct mode and fall back to C if it can not. After these new modes are available, such examination will be needed for all tests that are currently skipped or marked # TODO when run on OpenVMS. The way I implemented these modes in the mutant Perl 5.8.6/Perl 5.8.7 was in such a way that option E was not available. So my plan is to activate the methods in vms.c that VMS::Filespec will expose, and then run the Perl tests to see what breaks when the modes are changed. -John wb8tyw@qsl.net Personal Opinion OnlyThread Previous | Thread Next