On Fri, Dec 18, 2009 at 10:35:13PM -0600, Craig A. Berry wrote: > 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.
Except that (I think) that the plan with distributions in dist/ is that the perl 5 repository is the master copy for the CPAN distribution. So removing them from blead would, um, mess that up. Whilst they wouldn't be as pretty, is there a problem with renaming them to dist/base/t/fields-5-6-0.t and fields-5-8-0.t ? > 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. Will it pass if it's changed like this? diff --git a/t/porting/diag.t b/t/porting/diag.t index 14c2f84..0241a12 100644 --- a/t/porting/diag.t +++ b/t/porting/diag.t @@ -10,8 +10,10 @@ $|=1; my $make_exceptions_list = ($ARGV[0]||'') eq '--make-exceptions-list'; -open my $diagfh, "<", "../pod/perldiag.pod" - or die "Can't open ../pod/perldiag.pod: $!"; +chdir '..' or die "Can't chdir ..: $!"; + +open my $diagfh, "<", "pod/perldiag.pod" + or die "Can't open pod/perldiag.pod: $!"; my %entries; while (<DATA>) { @@ -32,12 +34,12 @@ while (<$diagfh>) { } } -my @todo = ('..'); +my @todo = <*>; while (@todo) { my $todo = shift @todo; - next if $todo ~~ ['../t', '../lib', '../ext', '../dist', '../cpan']; + next if $todo ~~ ['t', 'lib', 'ext', 'dist', 'cpan']; # opmini.c is just a copy of op.c, so there's no need to check again. - next if $todo eq '../opmini.c'; + next if $todo eq 'opmini.c'; if (-d $todo) { push @todo, glob "$todo/*"; } elsif ($todo =~ m/\.[ch]$/) { Nicholas Clark