Chromatic wrote at Sat, 27 Jul 2002 18:55:38 +0200:

> On Fri, 26 Jul 2002 13:19:51 -0700, Johan Vromans wrote:
> 
>> One of the problems I have with using Test::Builder is that I want to distribute 
>packages to
>> systems that do not (necessarily) have a decent version of Test::* installed. Now 
>it is easy to
>> include a copy of a suitable version of Test::Builder with the package (provided it 
>is not too
>> big). Would it be a good idea to add a provision to Test::Builder that can be 
>called, from the
>> Makefile.PL, to display a message like this:
>> 
>>   The verificiation tests for this package require the Test::Builder package of at 
>least version
>>   X.Y. You do not seem to have this installed. I have included a copy of 
>Test::Builder in this
>>   distribution that I can use for testing. Do you want me to install this version of
>>   Test::Builder as well?
>> 
>> This would help spreading the good stuff.
> 
> This idea appeals to me, but I have thought of two drawbacks.  The first is minor, 
>and it's that I
> don't think Test::Builder should have special logic for installation.  It seems that 
>this would be
> better in CPANPLUS.  It could then be something more modules would be able to use.
> 
> The second drawback is that the bundled version may be out of date.  This is also 
>mostly minor, as
> the prompt will only happen if the currently installed version is older (or not 
>installed).
> There's a minor possibility of distributing buggy code and not updating the bundled 
>file
> appropriately -- dependencies help with that.

There's a third drawback not mentioned yet.
Allthough the user gets the option to decide whether she/he wants to install
the modules needed for testing,
she/he already *had* to download these modules.

Thinking to a time, when everybody would use this solution,
every module would bring e.g. Test::Builder, Test::Exception, ... with itself,
that would be wasted net traffic,
and following modules with many prequesited modules,
will need a lot more time to download and install.


A good solution from my point of view would be,
if you could use Makefile.PL to do this job,
perhaps similar to
'PREREQ_PM' => { ... }
a
'PREREQ_TEST_PM' => { ... }
statement,
warning the user that the test can't be done without a specific module,
and the module CPAN could ask whether to install.


Greetings,
Janek

Reply via email to