Subject: | Tests too deep for 8 level VMS limit. |
VMS often limits itself to 8 subdirectories. The attached patch
gets around this limitation by setting up a logical root at the top
of the test directory.
In addition, Big-Fat-Dummy should be reduced a level to Big-Dummy
--- 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;