On Wed, Nov 08, 2006 at 06:13:26PM +0000, Florian Scharinger wrote:
> Hi perl-qa,
> 
> I'm trying to download missing Perl test modules automatically during 
> build time of my project, by using:
> 
>  use CPAN;
>  CPAN::Shell->install("Test::Exception");
> 
> Test::Exception has dependencies, which the CPAN shell detects correctly:
> 
> ---- Unsatisfied dependencies detected during 
> [A/AD/ADIE/Test-Exception-0.24.tar.gz] -----
>     Test::Builder
>     Sub::Uplevel
>     Test::Builder::Tester
> 
> The dependencies are downloaded and built, however, when then running 
> the tests for Test::Exception it doesn't include the path to the just 
> downloaded modules:
> 
> Running make test
> Prepending 
> /home/florian/projects/egeeII/npm/etics/repository/cpan/build/Test-Simple-0.64/blib/arch
>  
> /home/florian/projects/egeeII/npm/etics/repository/cpan/build/Test-Simple-0.64/blib/lib
>  
> to PERL5LIB.
> PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" 
> "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
> t/caller........Can't locate Sub/Uplevel.pm in @INC (@INC contains: 
> /home/florian/projects/egeeII/npm/etics/repository/cpan/build/Test-Exception-0.24/blib/lib
>  
> /home/florian/projects/egeeII/npm/etics/repository/cpan/build/Test-Exception-0.24/blib/arch
>  
> /home/florian/projects/egeeII/npm/etics/repository/cpan/build/Test-Simple-0.64/blib/arch
>  
> /home/florian/projects/egeeII/npm/etics/repository/cpan/build/Test-Simple-0.64/blib/lib
>  
> /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 
> /usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8 
> /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl)
> 
> How can I tell the CPAN::Shell that it should add the path of the 
> dependent modules to @INC?
> 
> Cheers,
> Florian.
> 
> P.S.: Please note that the script runs as local user, meaning that not 
> the default MyConfig.pm is used, but a custom one. Not sure if that 
> makes any difference...
> 

Modules are loaded at compile time, so you probably need to move the
CPAN::Shell->install() call to inside a BEGIN block.

Steve Peters
[EMAIL PROTECTED]

Reply via email to