Paul Marquess wrote:
Thanks John. I've CCed Tom Hughes for the IO:Zlib results.
I did not realize at the time that I did the tests that they were not
the same ZLIB module.
I see that the majority of the failures match those that Abe Timmerman
reported earlier today. Apart from running with bleed what else is different
between the two versions that could account for the extra failures you are
seeing? Is it anything to do with running the VMS C library in UNIX
emulation mode that you mentioned?
I am not running the VMS C Library in UNIX mode. I am trying to get all
unknown blead issues on VMS resolved so that I can start getting Perl to
work when the C library is in that mode.
It might have been one of my changes, or it might just be something that
is different between our environments.
See what happens below to the external.t test when I create a path
logical name which has no meaning to VMS. Before it was silently
skipped, and now it is a failure.
And this is still with out the C library in UNIX mode.
I will try to look at this some more later, I have blead perl and this
module all built in debug so I should be able to find the real reason
for these errors. Once I find the reason, it is likely that I could
really use help for the correct fix.
There are a number of places that the VMS specific code is failing
silently because of a bug, and this is not detected because there is
some fallback code that compensates. But there are also consequences to
fixing those bugs as they expose others.
lib/IO/Zlib/t/basic.t 15 of 15 ok.
lib/IO/Zlib/t/external.t
1..0 # Skip: no /usr/bin/gzip
If the GNV package is installed on VMS, then gzip is
available at /bin/gzip. As I had nothing in /usr, I
set up a logical name so that /usr/bin/gzip should
find a gzip. This test still produced the same output.
Also gzip may (or may not) be present anywhere on the
system with a foreign command (shell alias) or the
DCL$PATH search list used to find it.
The test is verifying that '/usr/bin' is in $ENV{"PATH"}, an environment
variable generally ignored on VMS. Easy to hack, but then the test
fails later:
lib/IO/Zlib/t/external.t
ok 17
>: non-translatable vms error code: 0x186D4
%rms-f-syn, file specification syntax error
PROJECT_ROOT:[PERL-BLEAD.t]test.gz;: no such file or directory
ok 18
not ok 21
ok 22
Can't call method "gzread" on an undefined value at ../lib/IO/Zlib.pm
line 472.
%RMS-E-FNF, file not found
I recon so.
ext/Compress/Zlib/t/03zlib-v1.t 351 of 351 ok
ext/Compress/Zlib/t/04def.t fails on test 102 and dies.
not ok 102 - create IO::Gzip
# Failed test ([-.ext.compress.zlib.t]04def.t at line 322)
Can't call method "fileno" on an undefined value at
[-.ext.compress.zlib.t]04def.t line 324.
# Looks like you planned 1781 tests but only ran 102.
# Looks like your test died just after 102.
%SYSTEM-F-ABORT, abort
Not sure why this is failing for you but passing for Abe.
I will have to investigate. There are enough Phase-of-Moon issues
involved that it could be anything.
Of this script, tests 31,48,52,56,60,68 are expected behavior
on VMS when the C library is not in a UNIX emulation mode.
I do not have blead Perl able to fully work in this mode yet.
At the time that I wrote this, I had forgotten that readdir() seems to
suppresses the trailing "." so this is an inconsistency.
There is a problem with readdir() suppressing the trailing dot on a NULL
file type in VMS mode. In some cases it is significant because if it is
not present, VMS may add a default type when it tries to use the file.
system("[]PERL") ! runs the file []Perl.exe
system("[]PERL.") ! runs the file []Perl.
-John
[EMAIL PROTECTED]
Personal Opinion Only