Much of this patch contains code which is confusing and we'd need some explaination as to why NetWare needs these exceptions.
If I had to guess I'd say you're trying to use TEST from a different directory than the Perl source. On Sun, Mar 20, 2005 at 11:39:44PM -0700, Rathna N wrote: > --- TEST 2004-03-03 04:30:42.000000000 +0530 > +++ /home/nrathna/npsdt-script-6-sys/Perl-5.9.1/perl-5.9.1/t/TEST > 2005-03-21 06:17:58.000000000 +0530 > @@ -5,6 +5,10 @@ > > $| = 1; > > +if ($^O eq 'NetWare'){ > + use File::Basename; > + push @INC, dirname($0); > +} Why would NetWare need the t/ directory in its @INC? > # Let tests know they're running in the perl core. Useful for modules > # which live dual lives on CPAN. > $ENV{PERL_CORE} = 1; > @@ -33,10 +37,14 @@ > } > @ARGV = @argv; > > -chdir 't' if -f 't/TEST'; > +if ($^O eq 'NetWare'){ > + chdir dirname($0) if -f $0; > +}else{ > + chdir 't' if -f 't/TEST'; > +} This, too, is odd. When would chdir dirname($0) not be the same as chdir 't'? > die "You need to run \"make test\" first to set things up.\n" > - unless -e 'perl' or -e 'perl.exe' or -e 'perl.pm'; > + unless -e 'perl' or -e 'perl.exe' or -e 'perl.pm' or -e > 'sys:/system/perl.nlm'; This seems very wrong. TEST should be testing the uninstalled Perl, not an installed one. > if ($ENV{PERL_3LOG}) { # Tru64 third(1) tool, see perlhack > unless (-x 'perl.third') { > @@ -287,6 +295,11 @@ > . "--num-callers=50 --logfile-fd=3 $perl"; > $redir = "3>$valgrind_log"; > } > + if ($^O == 'NetWare'){ > + $perl = 'perl --autodestroy '; What is this undocumented autodestroy option? > + use Cwd; > + $test = cwd . "\\" .$test; > + } Why do the paths have to be absolute?