Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Should a CPAN module list Test:: modules as dependencies?

by adrianh (Chancellor)
on Jul 20, 2004 at 13:54 UTC ( [id://375921]=note: print w/replies, xml ) Need Help??


in reply to Should a CPAN module list Test:: modules as dependencies?

Just to offer a contrary opinion :-)

My personal rule of thumb is to include as prerequisites all test modules that are needed to test module functionality, and leave as optional test modules that are used to test non-essential things like documentation, etc.

This is for a few reasons:

  • My general experience is that it's better to have something fail early and fast in an automated test suite than it is to diagnose something after installation. So I think it's important for users to run the full test suite before installation.
  • Allowing users to easily install with a failing test suite means that it becomes that much harder to figure problems with modules that depend on your module.
  • The more times test modules appear in prerequisites, the more times they're going to get installed, the more likely they're going to be on a box the next time a module needs to use it for its test suite.

Note: I'm not saying that people should be forced to run the test suite. It's always possible to download and install manually, and ignoring test-specific prerequisites is fairly simple in almost all cases.

However I think that the fact that CPAN tests by default before it installs is one of the reasons that Perl's module system works so well - so I prefer to have maximal tests by default.

Another option that you didn't mention is to distribute a copy of the modules you need with your distribution (say in t/lib). This can work well, but I tend to avoid it myself because it increases the distribution size and you have to track bug-fixes / patches in third party modules.

  • Comment on Re: Should a CPAN module list Test:: modules as dependencies?

Replies are listed 'Best First'.
Re^2: Should a CPAN module list Test:: modules as dependencies?
by stvn (Monsignor) on Jul 20, 2004 at 16:25 UTC
    However I think that the fact that CPAN tests by default before it installs is one of the reasons that Perl's module system works so well - so I prefer to have maximal tests by default

    I agree very much with this point. There are very few things out there like CPAN for any language. And without these tests (even if they are just smoke tests) I think CPAN would not have the reputation that it has for being a place to get good, reliable modules. Without running make test you would not know the module you installed was broken until you used it (and you would have little idea why it was broken too). Testing only increases the quality and relability of your code, anything that helps that is a good thing IMO.

    -stvn

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://375921]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-04-23 22:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found