Re: Help spreading Test

2002-09-19 Thread Barrie Slaymaker

On Fri, Sep 13, 2002 at 07:22:04AM -0700, David Wheeler wrote:
> On Friday, September 13, 2002, at 06:25  AM, Johan Vromans wrote:
> 
> >Tchk. I think it's quite nice and powerful to be able to download an
> >arbitrary module's .tar.gz and get it going with the simple "perl
> >Makefile.PL; make all test; sudo make install".
> 
> It seems to me that very few modules work this way any more -- most of 
> them have dependencies.

And ExtUtils::AutoInstall is meant to help module authors address that
issue.  I'm with Johan here: don't make the non-CPAN users suffer unduly.

- Barrie



Re: Help spreading Test

2002-09-13 Thread Johan Vromans

Michael G Schwern <[EMAIL PROTECTED]> writes:

> And if you're not using a CPAN shell every module install is going
> to be a chore anyway.

Tchk. I think it's quite nice and powerful to be able to download an
arbitrary module's .tar.gz and get it going with the simple "perl
Makefile.PL; make all test; sudo make install".

-- Johan





Re: Help spreading Test

2002-08-29 Thread Michael G Schwern

On Wed, Aug 28, 2002 at 09:32:10PM -0700, chromatic wrote:
> Perhaps we are looking at this from the wrong direction.  Instead of 
> installing bundled modules, perhaps a shell should be able to specify that 
> certain dependencies are available only for testing.  That way, users 
> wouldn't necessarily have to install Test::Builder and Test::Builder::Tester 
> and so forth in the public directories.

I think David hit the nail right on the head.

  Given what the Test::* modules are for, I think that this is common. And
  since they're small and won't waste much in the way of resources once 
  they've been installed, I personally think it's no big deal to install 
  them.

Just install the things.  They're small and you only have to do it once.

A CPAN shell will automate the process so it's rather moot.  And if you're
not using a CPAN shell every module install is going to be a chore anyway.


-- 

Michael G. Schwern   <[EMAIL PROTECTED]>http://www.pobox.com/~schwern/
Perl Quality Assurance  <[EMAIL PROTECTED]> Kwalitee Is Job One
I blame myself.  AND SATAN.



Re: Help spreading Test

2002-08-28 Thread chromatic

On Sunday 28 July 2002 02:52, Johan Vromans wrote:

> > On Fri, 26 Jul 2002 13:19:51 -0700, Johan Vromans wrote:
> > 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.

> Just for the sake of completeness: this is a non-issue in case of an
> CPAN or CPANPLUS install. Since Test::* is specified as a requirement
> this will be handled automatically.

> The case I aimed at is the case where a package is installed
> standalone (i.e., without CPAN(PLUS)). I agree that in this case it is
> better to just use the bundled version instead.

Perhaps we are looking at this from the wrong direction.  Instead of 
installing bundled modules, perhaps a shell should be able to specify that 
certain dependencies are available only for testing.  That way, users 
wouldn't necessarily have to install Test::Builder and Test::Builder::Tester 
and so forth in the public directories.

That doesn't sound completely right either.  Johan, there's a real problem 
here you've identified, but I can't quite put my finger on what it is!

-- c



Re: Help spreading Test

2002-07-31 Thread David Wheeler

On Wednesday, July 31, 2002, at 10:15  PM, Johan Vromans wrote:

> My hesitation in doing this is that the module does not need Test::*
> for its operation, just for the IVP.

Given what the Test::* modules are for, I think that this is common. And 
since they're small and won't waste much in the way of resources once they'
ve been installed, I personally think it's no big deal to install them.

David

--
David Wheeler AIM: dwTheory
[EMAIL PROTECTED] ICQ: 15726394
http://david.wheeler.net/  Yahoo!: dew7e
Jabber: [EMAIL PROTECTED]




Re: Help spreading Test

2002-07-31 Thread Johan Vromans

Michael G Schwern <[EMAIL PROTECTED]> writes:

> It's probably easier to just make it a normal prerequisite.

My hesitation in doing this is that the module does not need Test::*
for its operation, just for the IVP. 

But I tend to agree that making any special provisions for this
purpose is probably not worth it. 

-- Johan





Re: Help spreading Test

2002-07-31 Thread Michael G Schwern

On Sat, Jul 27, 2002 at 09:55:38AM -0700, chromatic 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.

I'm not sure of the context here, but at this point of complexity it's
probably easier to just make it a normal prerequisite.

Why?

o If you're not using a CPAN shell, every module installation involving any
  prerequisites is going to be a chore.  Adding one more to that pile isn't
  really going to make much difference.

o At least for Test::Simple/More/Builder, so many modules already have
  dependencies on them (including CPAN, CPANPLUS and Storable) that you
  probably already have them installed.  There's a slide in the
  Test::Tutorial talk with a list current as of a month ago.

o If you don't already have them installed, you only need to do it once.


-- 

Michael G. Schwern   <[EMAIL PROTECTED]>http://www.pobox.com/~schwern/
Perl Quality Assurance  <[EMAIL PROTECTED]> Kwalitee Is Job One
5. It is always possible to aglutenate multiple separate problems
   into a single complex interdependent solution. In most cases
   this is a bad idea.
-- RFC 1925



Re: Help spreading Test

2002-07-30 Thread Johan Vromans

Janek Schleicher <[EMAIL PROTECTED]> writes:

> 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.

So the options are:
  - download and install Test
  - download and use, but not install
  - skip the tests.

-- Johan



Re: Help spreading Test

2002-07-30 Thread Janek Schleicher

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




Re: Help spreading Test

2002-07-28 Thread Johan Vromans

chromatic <[EMAIL PROTECTED]> writes:

> On Fri, 26 Jul 2002 13:19:51 -0700, Johan Vromans wrote:
> 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.

Just for the sake of completeness: this is a non-issue in case of an
CPAN or CPANPLUS install. Since Test::* is specified as a requirement
this will be handled automatically. 

The case I aimed at is the case where a package is installed
standalone (i.e., without CPAN(PLUS)). I agree that in this case it is
better to just use the bundled version instead.

-- Johan



Re: Help spreading Test

2002-07-27 Thread chromatic

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.

Maybe a better option yet is to mark something as a testing dependency, which
can be installed if the user wants, but fall back to the bundled version 
otherwise.

It's an interesting issue, and I'm glad you brought it up.

-- c