Craig A. Berry wrote:
> At 8:12 AM -0500 9/7/07, John E. Malmberg wrote:
>> When running ext/Safe/t/safe2.t, I get the
following failure on
>> VMS, but it does not appear to be a VMS specific
issue.
>>
>> not ok 30 # "not a directory" is 20
(expected 2)
>>
>> X/Open states that "not a directory"
(errno = 20) is also a valid
>> error code for this test of opening a non-existent
file in a
>> non-existent directory.
>
> The test passes for me on OpenVMS Alpha v8.3. The test
doesn't care
> that errno is 20, it cares that errno is different when
sending a
> non-existent filename to C<open> versus sending
the same filename to
> C<do> inside an eval. Whether those two things
are really guaranteed
> to be the same is a good question; that assumes a lot
about the
> internals of C<do> and the order in which they
happen.
I think that I only have a small difference here. I am
testing a fix to
vms.c for a bug in stat() where I found one case of it
incorrectly
returning "no such file or directory" when a
directory actually did
exist. Depending on what is going on for C<do> or
C<open>, it has a
possibility of changing the error status returned.
I will have to run that test with the VMS debugger active to
see if the
bug is being tripped and worked around.
I do not remember seeing any changes recently in the Safe
module, and I
was not seeing that test fail before I made the change.
I stumbled on the stat() bug while working on the CPANPLUS
issues. It
turned out not to affect the problem I was trying to solve,
but it
clearly was causing some code that searches for a file in a
list of
directories to skip at least one of the directories. I
posted a write
up of this in one of my other posts.
-John
wb8tyw qsl.net
Personal Opinion Only
|