develooper Front page | perl.perl5.porters | Postings from May 2003

Re: [perl #22209] Test::Harness::Straps vs. $Config{path_sep}

Thread Previous | Thread Next
From:
Rick Delaney
Date:
May 16, 2003 12:59
Subject:
Re: [perl #22209] Test::Harness::Straps vs. $Config{path_sep}
Message ID:
20030516151957.M23484@biff.bort.ca
On Thu, May 15, 2003 at 03:22:54PM -0700, Michael G Schwern wrote:
> On Thu, May 15, 2003 at 02:42:55PM -0000, Mike Stok wrote:
> > Test::Harness::Straps uses
> > 
> >    local $ENV{PERL5LIB} = $self->_INC2PERL5LIB;
> > 
> > to set up te environment for the test scripts.  Once something containing 
> > $Config{path_sep} has been wedged into a string using  $Config{path_sep} as
> > a separator it will become multiple elements of @INC in the test scripts,
> > and will not do what is expected.
[snip]
> The difference is not Test::Harness but MakeMaker.  Older versions would
> put ./blib/lib and ./blib/arch on @INC.  This caused a problem if your
> test did something like:
> 
>     chdir 't/foo';
>     require My::Module;
> 
> My::Module would not be found if it was in blib/lib because of the relative
> directory on @INC.  The new MakeMaker uses an absolute path, which now
> includes your /tmp/A:B/.

Is there any reason to not also include the relative paths?
(Patch on 5.8.0).

--- lib/ExtUtils/Command/MM.pm.orig	Fri May 16 14:56:53 2003
+++ lib/ExtUtils/Command/MM.pm	Fri May 16 14:57:12 2003
@@ -50,7 +50,9 @@
     $Test::Harness::verbose = shift;
 
     local @INC = @INC;
-    unshift @INC, map { File::Spec->rel2abs($_) } @_;
+    unshift @INC, map { File::Spec->file_name_is_absolute($_) 
+                            ? ($_)
+                            : ($_, File::Spec->rel2abs($_)) } @_;
     Test::Harness::runtests(sort { lc $a cmp lc $b } @ARGV);
 }
 

-- 
Rick Delaney
rick.delaney@rogers.com

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About