Re: New proposed CPANTS metric: prereq_matches_use

2007-11-13 Thread Adrian Howard


On 13 Nov 2007, at 04:29, Geoffrey Young wrote:



The metric will be called prereq_matches_use and shall check if  
all the

modules used in a dist are also listed as a prereq.


I find this odd.

if I check a prereq for mod_perl (.pm) I know I have the 50 some  
modules
that come with a mod_perl distribution.  check for LWP and I know I  
have

HTTP::Request.  I'm sure the list goes on.


While I can accept it's a place where reasonable folk can differ I  
prefer it where each module is mentioned rather than each  
distribution. It helps when I'm having to deal with interesting  
installations where people have managed to get different bits of an  
installation in different places.


However, I suspect that enough folk are of the opposite opinion that  
a CPANTS metric wouldn't be very useful :-)


Adrian


Re: New proposed CPANTS metric: prereq_matches_use

2007-11-13 Thread Andreas J. Koenig
 On Tue, 13 Nov 2007 02:08:41 +0100, Sébastien Aperghis-Tramoni [EMAIL 
 PROTECTED] said:

   There was already a module that does this, I can't remember it's name,

Maybe B::Prereq and its companion Test::Dependencies.

-- 
andreas


Re: getting better test control with Test::Class

2007-11-13 Thread Adrian Howard


On 12 Nov 2007, at 17:43, Eric Wilhelm wrote:
[snip]

  Perhaps a solution which involves a pre-fork model of
  Test::Class would be a little neater.  The test scripts
  would then be sub-sub-processes and the harness just needs
  filehandles from each of those.

[snip]

Yeah - that would be neat and help with runtimes. One of the reasons  
I'm keeping an eye on things like TAP::Harness::Parallel :-)



When the free time fairy next visits what I'd like to do is have T::C
use some of the newer features and push information on the class/ 
name/

tags of the running method out into TAP.


Well, whatever tagging and formatting is fine and dandy.

I was suggesting that rethinking the run layer would solve more  
issues,
and it inherently 'tags' the output as coming from different  
processes.


Yup. Although the _real_ reason I want tagging is do do things like  
run all the database test or run all the tests that aren't slow.


Cheers,

Adrian


Re: New proposed CPANTS metric: prereq_matches_use

2007-11-13 Thread David Cantrell
On Mon, Nov 12, 2007 at 10:53:42PM +0100, A. Pagaltzis wrote:
 * Thomas Klausner [EMAIL PROTECTED] [2007-11-12 21:10]:
  The metric will be called prereq_matches_use and shall check if
  all the modules used in a dist are also listed as a prereq.
  (prereq is either gatherd directly from Meta.YMLs 'requires',
  by parsing Build.PL or Makefile.PL)
  This results in: Of 12039 dists, 5419 have missing deps
 If a sizable fraction of these are in fact valid hits and not
 just false negatives due to the trickiness of the problem, then
 I would say the metric is direly needed!

I bet most of them are things like:

 I need Foo::Bar and Baz::Barf.  Foo::Bar requires Baz::Barf so I don't
  need to declare it. 

This is an error, because the next version of Foo::Bar might drop that
pre-requisite by, eg, implementing the functionality itself or changing
to use something else.

and:

 Foo::Bar is in distribution AUTHOR/Foo-Bar which also contains
  Foo::Bar::Baz, so I only need to declare one of them to get both. 

This is also an error, as Foo::Bar::Baz might be moved into a seperate
distribution at some point in the future, or its functionality might be
folded into Foo::Bar.

I approve of this kwalitee metric and would like to subscribe to its
newsletter^W^W^W^Wbe told which of my modules are broken.

-- 
David Cantrell | top google result for internet beard fetish club

One person can change the world, but most of the time they shouldn't
-- Marge Simpson


Re: New proposed CPANTS metric: prereq_matches_use

2007-11-13 Thread brian d foy
In article [EMAIL PROTECTED], David
Cantrell [EMAIL PROTECTED] wrote:

 On Mon, Nov 12, 2007 at 10:53:42PM +0100, A. Pagaltzis wrote:

 and:
 
  Foo::Bar is in distribution AUTHOR/Foo-Bar which also contains
   Foo::Bar::Baz, so I only need to declare one of them to get both. 
 
 This is also an error, as Foo::Bar::Baz might be moved into a seperate
 distribution at some point in the future

Well, that's why you check the current distribution to see what it
provides. I do this in Test::Prereq.


Re: New proposed CPANTS metric: prereq_matches_use

2007-11-13 Thread A. Pagaltzis
* brian d foy [EMAIL PROTECTED] [2007-11-13 21:10]:
 In article [EMAIL PROTECTED], David
 Cantrell [EMAIL PROTECTED] wrote:
  On Mon, Nov 12, 2007 at 10:53:42PM +0100, A. Pagaltzis wrote:
 
  and:
  
   Foo::Bar is in distribution AUTHOR/Foo-Bar which also
contains Foo::Bar::Baz, so I only need to declare one of
them to get both. 
  
  This is also an error, as Foo::Bar::Baz might be moved into a
  seperate distribution at some point in the future
 
 Well, that's why you check the current distribution to see what
 it provides. I do this in Test::Prereq.

Consider Test::Harness::Straps getting released as a separate
distro recently. Any modules that only use ::Straps but list
Test::Harness as a prereq will now fail to install. If ::Straps
were listed as a dependency, installation would continue to Just
Work. So if you use any module from the CPAN, you should list it
explicitly, not imply it via the main module of its containing
distro.

Regards,
-- 
Aristotle Pagaltzis // http://plasmasturm.org/