The patch at the end here gets the rooted logical business working, 
though I will also be testing it in other environments.  We still 
fail this new one:

ok 15 - Makefile.PL exited with zero
not ok 16 - init_dirscan skipped distdir
#     Failed test ([.t]basic.t at line 137)
ok 17 - realclean

and I can't figure out why at the moment.

--- t/basic.t;-0        Thu Apr  4 13:42:08 2002
+++ t/basic.t   Thu Apr  4 16:04:26 2002
@@ -21,7 +21,27 @@
 
 my $perl = which_perl();
 
-$ENV{PERL_CORE} ? chdir '../lib/ExtUtils/t' : chdir 't';
+my $root_dir = $ENV{PERL_CORE} ? '../lib/ExtUtils/t' : 't';
+
+if ($^O eq 'VMS') {
+  # On older systems we might exceed the 8-level directory depth limit
+  # imposed by RMS.  We get around this with a rooted logical, but we
+  # can't create logical names with attributes in Perl, so we do it
+  # in a DCL subprocess and put it in the job table so the parent sees it.
+
+  $root_dir = VMS::Filespec::vmspath($root_dir);
+
+  open( BFDTMP, '>bfdtesttmp.com' ) || die "Error creating command file: $!";
+  print BFDTMP qq{\$ BFD_TEST_ROOT = 
+F\$PARSE("$root_dir",,,,"NO_CONCEAL")-".][000000"-"]["-"].;"+".]"\n};
+  print BFDTMP qq{\$ DEFINE/JOB/NOLOG/TRANSLATION=CONCEALED BFD_TEST_ROOT 
+'BFD_TEST_ROOT'\n};
+  close BFDTMP;
+
+  system( '@bfdtesttmp.com' );
+  END { 1 while unlink 'bfdtesttmp.com' }
+  $root_dir = 'BFD_TEST_ROOT:[000000]';
+}
+
+chdir $root_dir;
 
 perl_lib;
 
@@ -108,7 +128,8 @@
 
 
 # Make sure init_dirscan doesn't go into the distdir
-@mpl_out = `$perl Makefile.PL PREFIX=dummy-install`;
+my $argquote = ($^O eq 'VMS' ? '"' : '');
+@mpl_out = `$perl Makefile.PL ${argquote}PREFIX=dummy-install${argquote}`;
 
 cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) ||
   diag(@mpl_out);
[end of patch]
-- 
____________________________________________
Craig A. Berry                   
mailto:[EMAIL PROTECTED]

"Literary critics usually know what they're
talking about. Even if they're wrong."
        -- Perl creator Larry Wall

Reply via email to