Re: CPAN Testers woes

[email protected] ("David Golden")
Newsgroups perl.module.build
Message-ID <[email protected]>
On Fri, Mar 7, 2008 at 1:25 PM, John Peacock <[email protected]> wrote:
> OK, I give up.  How to I communicate to the CPAN testing framework that
>  the test machine is missing a required/vital external binary and should
>  just NA this test?  I've replicated the way that the code itself
>  searches for the binary (svnlook if you care) in my Build.PL, and I'm
>  using 'exit 0', which is what is supposed to make CPAN itself happy to
>  stop.  But the damn CPAN Testing framework is trying to grovel around
>  inside the [now ungenerated] _cpan/prereqs file:

No -- this isn't a CPAN Testing framework problem.  It's a Makefile.PL
and Module::Build::Compat problem.

If you look at the test report, you see this:

Output from '/home/src/perl/repoperls/installed-perls/maint-5.8/p8tnrrm/perl-5.8.0@27144/bin/perl
Makefile.PL':

So here's what I think happens:

1. Makefile.PL runs M::B::Compat, which runs Build.PL, which exits
with 0 and doesn't create a Build file.

2. M::B::Compat doesn't check if a Build file was created -- it only
checks to see if Build.PL ran without error -- and "exit 0" is not an
error.

3. M::B::Compat writes a Makefile and therefore CPAN.pm decides that
Makefile.PL was successful and continues instead of stopping.

The last line of the Makefile.PL just needs to test for the presence
of a "Build" file:

  Module::Build::Compat->run_build_pl(args => \@ARGV);
  Module::Build::Compat->write_makefile() if -f "Build";

Regards,
David
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.