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]