I just noticed t/pod and that its not run with "make test". This appears to have come up before and was an oversight. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2000-09/msg00730.html Looks like people just gave up on fixing t/pod/find.t and I don't blame them, its a mess. I'm tempted to just chuck it and start over. Well, the fundemental problem is that Pod::Find is doing all sorts of gyrations to look at the source code. This is fundementally unmaintainable (tests should not break when we add new files to the dist). Instead, I've added t/pod/test_pods/ to provide a little controled sandbox for Pod::Find to play in. Could one of the VMS folks look over the VMS specific parts of this test and see if they can be eliminated or scaled down? Out of curiousity, where did Pod::Find come from? I can't find it anywhere on CPAN yet the test is written as if it was expecting to be run as part of a module install, not a core test. Here's a patch to fix t/pod/find.t and add t/pod to t/TEST so it will run as part of make test. I've added a t/pod/test_pods directory and some dummy files in it for Pod::Find to test against. --- t/pod/find.t 2001/02/23 08:07:47 1.1 +++ t/pod/find.t 2001/02/23 08:08:08 @@ -14,31 +14,24 @@ ok(1); require Cwd; -my $THISDIR = Cwd::cwd(); my $VERBOSE = 0; -my $lib_dir = File::Spec->catdir($THISDIR,'lib'); +my $lib_dir = File::Spec->catdir('pod', 'test_pods', 'lib'); if ($^O eq 'VMS') { - $lib_dir = VMS::Filespec::unixify(File::Spec->catdir($THISDIR,'-','lib','pod')); + $lib_dir = VMS::Filespec::unixify(File::Spec->catdir('pod', 'test_pods', 'lib')); $Qlib_dir = $lib_dir; $Qlib_dir =~ s#\/#::#g; } print "### searching $lib_dir\n"; -my %pods = pod_find("$lib_dir"); -my $result = join("\n### ", sort values %pods); -print "### found $result\n"; -my $compare = join(',', qw( - Pod::Checker - Pod::Find - Pod::InputObjects - Pod::ParseUtils - Pod::Parser - Pod::PlainText - Pod::Select - Pod::Usage +my %pods = pod_find($lib_dir); +my $result = join(',', sort values %pods); +my $compare = join(',', sort qw( + Pod::Stuff + Pod::Rhubarb + Like::And::Yeah )); if ($^O eq 'VMS') { $compare = lc($compare); - $result = join(',', sort grep(/pod::/, values %pods)); + $result = join(',', sort values %pods); my $undollared = $Qlib_dir; $undollared =~ s/\$/\\\$/g; $undollared =~ s/\-/\\\-/g; @@ -55,8 +48,6 @@ ok($result,$compare); } -# File::Find is located in this place since eons -# and on all platforms, hopefully print "### searching for File::Find\n"; $result = pod_where({ -inc => 1, -verbose => $VERBOSE }, 'File::Find') @@ -71,25 +62,24 @@ ok($result,$compare); } else { - $compare = File::Spec->catfile($Config::Config{privlib},"File","Find.pm"); + $compare = File::Spec->catfile(File::Spec->updir, 'lib','File','Find.pm'); ok(_canon($result),_canon($compare)); } # Search for a documentation pod rather than a module print "### searching for perlfunc.pod\n"; -$result = pod_where({ -inc => 1, -verbose => $VERBOSE }, 'perlfunc') +my $search = File::Spec->catfile('pod', 'test_pods', 'pod'); +$result = pod_where({ -dirs => [$search], -verbose => $VERBOSE }, 'perlfoo') || 'undef - perlfunc.pod not found!'; print "### found $result\n"; -if ($^O eq 'VMS') { # privlib is perl_root:[lib] unfortunately - $compare = "/lib/pod/perlfunc.pod"; +if ($^O eq 'VMS') { $result = VMS::Filespec::unixify($result); - $result =~ s/perl_root\///i; $result =~ s/^\.\.//; # needed under `mms test` ok($result,$compare); } else { - $compare = File::Spec->catfile($Config::Config{privlib},"perlfunc.pod"); + $compare = File::Spec->catfile('pod', 'test_pods', 'pod' ,'perlfunc.pod'); ok(_canon($result),_canon($compare)); } --- /dev/null Tue Dec 12 01:02:04 2000 +++ t/pod/test_pods/lib/Like/And/Yeah.pm Fri Feb 23 02:55:13 2001 @@ -0,0 +1,13 @@ +package Like::And::Yeah; + +=head1 Umm + +Ya know and stuff + +=head1 Things + +Things are neat. And stuff. Whatever. + +=head2 Ummm + +Errr whatever. --- /dev/null Tue Dec 12 01:02:04 2000 +++ t/pod/test_pods/lib/Pod/Rhubarb.pod Fri Feb 23 02:52:33 2001 @@ -0,0 +1,15 @@ +=head1 RHUBARB + +Rhubarb - rhubarb rhubarb + +=head1 rhubarb + +Rhubarb rhubarb rhubarb + +=over 4 + +=item B<rhubarb> + + my $rhubarb = rhubarb($rhubarb, $rhubarb, \%rhubarb); + +=back --- /dev/null Tue Dec 12 01:02:04 2000 +++ t/pod/test_pods/lib/Pod/Stuff.pm Fri Feb 23 02:51:18 2001 @@ -0,0 +1,20 @@ +=head1 NAME + +Pod::Stuff - dummy testing pod + +=head1 DESCRIPTION + +This isn't really anything, its just some dummy pod code. +And stuff. + +Lots of stuff. + +=head2 STUFF + +For all your stuff [tm] + +Stuffit + +Mmmm, stuffed pizza bread. + +=cut --- MANIFEST 2001/02/18 18:51:54 1.5 +++ MANIFEST 2001/02/23 08:16:39 @@ -1669,6 +1669,10 @@ t/pod/testcmp.pl Module to compare output against expected results t/pod/testp2pt.pl Module to test Pod::PlainText for a given file t/pod/testpchk.pl Module to test Pod::Checker for a given file +t/pod/test_pods/lib/Like/And/Yeah.pm Sample data for find.t +t/pod/test_pods/lib/Pod/Rhubarb.pod Sample data for find.t +t/pod/test_pods/lib/Pod/Stuff.pm Sample data for find.t +t/pod/test_pods/pod/perlfoo.pod Sample data for find.t t/pragma/constant.t See if compile-time constants work t/pragma/diagnostics.t See if diagnostics.pm works t/pragma/locale.t See if locale support works --- t/TEST 2001/02/23 08:10:52 1.1 +++ t/TEST 2001/02/23 08:10:58 @@ -27,7 +27,7 @@ if ($#ARGV == -1) { @ARGV = split(/[ \n]/, - `echo base/*.t comp/*.t cmd/*.t run/*.t io/*.t; echo op/*.t pragma/*.t lib/*.t`); + `echo base/*.t comp/*.t cmd/*.t run/*.t io/*.t; echo op/*.t pragma/*.t lib/*.t +pod/*.t`); } %infinite = ( 'comp/require.t', 1, 'op/bop.t', 1, 'lib/hostname.t', 1 ); -- Michael G Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/ Perl6 Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One
