Configuring with:

$ @configure -"Dusedevel" -"Dusevmsdebug" -"Duseithreads" -"des"

and building on:

$ cc/vers
HP C V7.3-018 on OpenVMS IA64 V8.3-1H1

the overall score is:

t/io/errno.....................................................FAILED at test 2 t/io/inplace...................................................FAILED-- unexpected output at test 4 t/re/reg_posixcc...............................................FAILED-- unexpected output at test 1507 t/op/filetest_t................................................FAILED at test 1 t/op/ref.......................................................FAILED at test 117 cpan/ExtUtils-CBuilder/t/02-link...............................FAILED at test 8 cpan/Module-Build/t/compat.....................................FAILED at test 142 cpan/Module-Build/t/properties/share_dir.......................FAILED at test 17 cpan/Pod-Parser/t/pod/find.....................................FAILED-- expected 4 tests, saw 1 dist/base/t/fields-5.6.0.......................................FAILED-- no leader found dist/base/t/fields-5.8.0.......................................FAILED-- no leader found dist/ExtUtils-Install/t/InstallWithMM..........................FAILED at test 3 t/porting/diag.................................................FAILED-- unexpected output at test 0 t/porting/manifest.............................................FAILED at test 9427
Failed 14 tests out of 1675, 99.16% okay.

Some more detailed test output and comments where I know anything follow:

t/io/errno.....................................................FAILED at test 2

$ perl [.io]errno.t
1..16
ok 1 - Wrong errno, PERLIO=perlio stdin='test\n',
not ok 2 - Wrong errno, PERLIO=perlio stdin='test\n', $/=undef
# Failed at [.io]errno.t line 31
#      got "test\noperation invalid for file organization or device\n"
# expected "test\n"
...
not ok 10 - Wrong errno, PERLIO=stdio stdin='test\n', $/=undef
# Failed at [.io]errno.t line 31
#      got "test\noperation invalid for file organization or device\n"
# expected "test\n"

errno does in fact get set by what it's doing. The specific error usually indicates trying to rewind something that can't be rewound, like the terminal. I would guess that there's a rewind implicit in a seek that only happens when $/ is undef, though I never managed to put my finger on exactly where it was. Nor do I have any confidence that we should be relying on errno not getting set.


t/io/inplace...................................................FAILED-- unexpected output at test 4

$ perl [.io]inplace.t
1..6
...
ok 4 - normal inplace edit
Can't open "tmp70124E": error in file name at [.io]inplace.t line 75.
Can't open "tmp70124F": error in file name at [.io]inplace.t line 75.
Can't open "tmp70124G": error in file name at [.io]inplace.t line 75.
ok 5 - consumed ARGV
not ok 6 - normal inplace edit
# Failed at [.io]inplace.t line 81
#      got "bar\nbar\nbar\n"
# expected "foobar\nfoobar\nfoobar\n"

I think this is new-ish; I've never looked at what it's doing.


t/re/reg_posixcc...............................................FAILED-- unexpected output at test 1507

The test that fails is marked as TODO, but it also spews more than 2K of output in a single line, which probably causes some kind of trouble, don't know what exactly.


t/op/filetest_t................................................FAILED at test 1

This brand new test works when run interactively, but fails in batch mode because the /dev/tty equivalent is mapped to the /dev/null equivalent in that situation. You can successfully open it but it is not a terminal.


t/op/ref.......................................................FAILED at test 117

$ perl [.op]ref.t
1..196
...
not ok 117 - STDOUT destructor
# Failed at [.op]ref.t line 443
#      got 'ok
# okokok
# '
# expected /(?-xism:^(ok)+$)/
ok 118 - Nothing before we start
ok 119 - Nothing before we start
ok 120 - Accessing via 8 bit symref works
not ok 121 - Accessing via UTF8 symref works # TODO UTF8 mangled in symrefs
# Failed at [.op]ref.t line 459
#      got undef
# expected "Pound"

This started failing between 24 Aug 2009 and 28 Aug 2009. I can't give commit IDs because the rsync server had lots of spurious commits in that timeframe. I looked at most (all?) of the commits in that range but nothing jumped out at me and I haven't had time to build each one and see where it broke.


cpan/ExtUtils-CBuilder/t/02-link...............................FAILED at test 8

$ perl [.t]02-link.t
1..8
...
not ok 8 - got expected exit code from executable
#   Failed test 'got expected exit code from executable'
#   at [.t]02-link.t line 69.
#          got: '0'
#     expected: '11'
# Unexpected exit code '0'
# Looks like you failed 1 test of 8.

Well, exit codes are different.  Needs looking into.


cpan/Module-Build/t/compat.....................................FAILED at test 142

$ perl [.t]compat.t
...
not ok 142 - Saw destination directory for INSTALLDIRS=vendor
#   Failed test 'Saw destination directory for INSTALLDIRS=vendor'
#   at [.t]compat.t line 260.
#                   '# %SYSTEM-F-ABORT, abort
# # MCR dsa0:[craig.blead]ndbgperl.exe;2 Build.COM -- makefile_env_macros 1 fakeinstall # # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# # WARNING: Can't create 'perl_root:[man.man3]'
# # Unknown Error
# # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# # Building Simple
# # Manifying [.blib.lib]simple.pm -> [.blib.libdoc]simple.rno
# # Installing D0:[CRAIG.BLEAD.CPAN.MODULE-BUILD.MB- fyhCQ5Pc.libdir]simple.pm
# # Installing perl_root:[man.man3]simple.rno
# # Writing D0:[CRAIG.BLEAD.CPAN.MODULE-BUILD.MB- fyhCQ5Pc.libdir.VMS_IA64-ithread.auto.Simple].packlist
# '
# doesn't match '(?ix-sm:D0\:\[CRAIG\.BLEAD\.CPAN\.MODULE\-BUILD \.MB\-fyhCQ5Pc\.lbiidr\] .* Simple\.pm)'
ok 143 - fakeinstall PREFIX=$libdir2 ran ok
not ok 144 - Saw destination directory for PREFIX=$libdir2
#   Failed test 'Saw destination directory for PREFIX=$libdir2'
#   at [.t]compat.t line 260.
#                   '# %SYSTEM-F-ABORT, abort
# # MCR dsa0:[craig.blead]ndbgperl.exe;2 Build.COM -- makefile_env_macros 1 fakeinstall # # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# # WARNING: Can't create 'perl_root:[man.man3]'
# # Unknown Error
# # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# # Building Simple
# # Installing D0:[CRAIG.BLEAD.CPAN.MODULE-BUILD.MB- fyhCQ5Pc.libdir]simple.pm
# # Installing perl_root:[man.man3]simple.rno
# # Writing D0:[CRAIG.BLEAD.CPAN.MODULE-BUILD.MB- fyhCQ5Pc.libdir.VMS_IA64-ithread.auto.Simple].packlist
# '
# doesn't match '(?ix-sm:D0\:\[CRAIG\.BLEAD\.CPAN\.MODULE\-BUILD \.MB\-fyhCQ5Pc\.lbiidr\] .* Simple\.pm)'
ok 145 - fakeinstall PREFIX=$libdir2 LIB=mylib ran ok
not ok 146 - Saw destination directory for PREFIX=$libdir2 LIB=mylib
# Failed test 'Saw destination directory for PREFIX=$libdir2 LIB=mylib'
#   at [.t]compat.t line 260.
#                   '# %SYSTEM-F-ABORT, abort
# # MCR dsa0:[craig.blead]ndbgperl.exe;2 Build.COM -- makefile_env_macros 1 fakeinstall # # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# # WARNING: Can't create 'perl_root:[man.man3]'
# # Unknown Error
# # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# # Building Simple
# # Installing D0:[CRAIG.BLEAD.CPAN.MODULE-BUILD.MB- fyhCQ5Pc.libdir]simple.pm
# # Installing perl_root:[man.man3]simple.rno
# # Writing D0:[CRAIG.BLEAD.CPAN.MODULE-BUILD.MB- fyhCQ5Pc.libdir.VMS_IA64-ithread.auto.Simple].packlist
# '
# doesn't match '(?ix-sm:D0\:\[CRAIG\.BLEAD\.CPAN\.MODULE\-BUILD \.MB\-fyhCQ5Pc\.lbiidr\][/\\]mylib[/\\]Simple\.pm)'
ok 147 - Descrip.MMS shouldn't exist
...

It looks like we're getting stuff in an architecture-specific auto directory but shouldn't. Or maybe that's where it should be on VMS and we're erroneously thinking it shouldn't.


cpan/Module-Build/t/properties/share_dir.......................FAILED at test 17

$ perl [.t.properties]share_dir.t
1..21
...
not ok 17 - share_dir files copied to blib
#   Failed test 'share_dir files copied to blib'
#   at [.t.properties]share_dir.t line 182.
#     Structures begin differing at:
#          $got->[0] = 'blib/lib/auto/share/dist/simple-share/foo.txt'
#     $expected->[0] = 'blib/lib/auto/share/dist/Simple-Share/foo.txt'
ok 18 - temp install dir created
not ok 19 - share_dir files correctly installed
#   Failed test 'share_dir files correctly installed'
#   at [.t.properties]share_dir.t line 205.
#     Structures begin differing at:
# $got->[0] = 'temp_install/lib/perl5/auto/share/dist/simple- share/foo.txt' # $expected->[0] = 'temp_install/lib/perl5/auto/share/dist/Simple- Share/foo.txt'

Case sensitive comparisons don't work when case is not preserved. I don't think is_deeply has a cousin named like_deeply, but that would be a nice addition to the Test::* family for this kind of thing.


cpan/Pod-Parser/t/pod/find.....................................FAILED-- expected 4 tests, saw 1

1..4
ok 1 - use Pod::Find;
### 2. searching /D0/CRAIG/BLEAD/CPAN/lib/pod/
### found
Illegal division by zero at [.t.pod]find.t line 71.
# Looks like you planned 4 tests but ran 1.
# Looks like your test exited with 1024 just after 1.

Hmm. It's trying to do some calculation based on finding zero files. Why it doesn't find anything needs looking into.


dist/base/t/fields-5.6.0.......................................FAILED-- no leader found dist/base/t/fields-5.8.0.......................................FAILED-- no leader found

These are failing because they are invoked via C<do file> which uses Perl_pp_require, which on VMS cannot, by default, handle Unix-style filenames with multiple dots. We used to be protected from this because t/TEST used to convert to native syntax before running a test file. The easiest solution would be to simply remove these files from core since the tests in them are skipped on Perls later than 5.6 and 5.8, respectively.


dist/ExtUtils-Install/t/InstallWithMM..........................FAILED at test 3

This always succeeds when run by itself. There could be another test leaving something in the environment that gets in its way, but I've so far not managed to sort out what that is.


t/porting/diag.................................................FAILED-- unexpected output at test 0

$ perl [.porting]diag.t
# blead/av.c
Can't open blead/av.c: no such file or directory at [.porting]diag.t line 53, <$diagfh> line 5129.
1..0

The home-grown glob does not properly handle relative paths containing C<../>. So, for example, glob('../*') from the t/ directory gives blead/av.c rather than ../av.c as it should. Fixing that is some moderate intensity C work in Perl_trim_unixpath in vms/vms.c. It's a genuine bug but has nothing to do with what this test is testing.


t/porting/manifest.............................................FAILED at test 9427
...
ok 9426 - File XSUB.h exists
not ok 9427 - MANIFEST sorted properly
# Failed at [.porting]manifest.t line 51
#      got ''../MANIFEST' is NOT sorted properly
# %SYSTEM-F-ABORT, abort
# '
# expected /(?-xism:is sorted properly)/
1..9427

Looks to me like it's genuinely not sorted properly and Porting/ manisort accurately detects that. Don't know why that doesn't show up on other platforms.

$ perl  Porting/manisort -o m.tmp
$ gdiff -pu MANIFEST m.tmp
--- manifest    2009-12-18 12:51:10 -0600
+++ m.tmp       2009-12-18 22:21:28 -0600
@@ -304,6 +304,7 @@ cpan/Compress-Raw-Zlib/zlib-src/zutil.c
cpan/Compress-Raw-Zlib/zlib-src/zutil.h Compress::Raw::Zlib
 cpan/Compress-Raw-Zlib/Zlib.xs                 Compress::Raw::Zlib
 cpan/CPAN/Changes                              CPAN.pm Changes file
+cpan/CPAN/lib/App/Cpan.pm              helper package for CPAN.pm
cpan/CPAN/lib/CPAN/API/HOWTO.pod recipe book for programming with CPAN.pm
 cpan/CPAN/lib/CPAN/Author.pm           helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/Bundle.pm           helper package for CPAN.pm
@@ -313,8 +314,6 @@ cpan/CPAN/lib/CPAN/Debug.pm         helper pack
 cpan/CPAN/lib/CPAN/DeferredCode.pm     helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/Distribution.pm     helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/Distroprefs.pm      helper package for CPAN.pm
-cpan/CPAN/lib/CPAN/Mirrors.pm          helper package for CPAN.pm
-cpan/CPAN/lib/App/Cpan.pm              helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/Distrostatus.pm     helper package for CPAN.pm
cpan/CPAN/lib/CPAN/Exception/blocked_urllist.pm helper package for CPAN.pm cpan/CPAN/lib/CPAN/Exception/RecursiveDependency.pm helper package for CPAN.pm
@@ -329,6 +328,7 @@ cpan/CPAN/lib/CPAN/Kwalify/distroprefs.d
cpan/CPAN/lib/CPAN/Kwalify/distroprefs.yml helper file for validating config files
 cpan/CPAN/lib/CPAN/Kwalify.pm          helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/LWP/UserAgent.pm    helper package for CPAN.pm
+cpan/CPAN/lib/CPAN/Mirrors.pm          helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/Module.pm           helper package for CPAN.pm
cpan/CPAN/lib/CPAN/Nox.pm Runs CPAN while avoiding compiled extensions cpan/CPAN/lib/CPAN.pm Interface to Comprehensive Perl Archive Network

Failed 14 tests out of 1675, 99.16% okay.


________________________________________
Craig A. Berry
mailto:craigbe...@mac.com

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

Reply via email to