List Info

Thread: ext/Safe/t/safe2.t test 30 not expecting a valid error.




ext/Safe/t/safe2.t test 30 not expecting a valid error.
user name
2007-09-07 08:12:17
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.

At this time, I do not know how to modify the test to deal
with this 
correctly.

-John
wb8tywqsl.net
Personal Opinion Only

Re: ext/Safe/t/safe2.t test 30 not expecting a valid error.
user name
2007-09-07 09:08:03
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.
-- 
________________________________________
Craig A. Berry
mailto:craigberrymac.com

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Re: ext/Safe/t/safe2.t test 30 not expecting a valid error.
user name
2007-09-07 17:33:57
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
wb8tywqsl.net
Personal Opinion Only

[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )