I read Stop running tests on install! and Perl marketing and CPAN module install tests with some horror. We should stop running tests by default! My initial thoughts were arguments against it.
Personally I find it rare for modules to fail tests but I'd still rather know something is possibly wrong than have it ignored (it is easier to deal with it at that point).
I've read the reasons for not running the tests and on top of some mentioned in the above posts I have some additional reasons for not changing the default to --notest (mainly from the author/maintainer perspective):
Disabling testing by default would make my life as a module maintainer harder.
On the other hand:
How many times have I hit a test failure when installing dependencies from the CPAN shell? Not many to be honest.
Just how many people really install individual modules these days? i.e., untar the distribution and build and run the tests themselves. For DBD modules it is highly unlikely that someone using cpanm or the CPAN
shell will have set their DBI_DSN, DBI_USER and DBI_PASS environment variables before they attempted to install module X which they may not even know depends on DBD::whatever at the time of installation.
Would it really be that harmful to disable testing of all dependent modules and only run the test suite of the module at the top of the chain the person wants to install. Well, obviously it would to a degree if the top module then fails its tests as it would be harder to see which dependent module was at fault (if at all). If a module has a list of dependents but is confident their test suite is good enough to verify their module works could they set something in the metafile saying tests of dependent modules don't have to succeed?
So, my gut reaction was the idea of defaulting to --notest is horrifying and likely to cause me extra work maintaining my modules but now I think of it very few people actually run my test suites for DBDs in a meaningful way (to a real database) anyway.
Which leads to a few things which have long frustrated me:
1. How to I get more people to run the test suites for DBD::something. Yes I looked at Test::Database briefly but for DBD::ODBC it is problematic as it wants to create a database and I don't know how to do that for every database an ODBC driver might connect to (some are a lot more complicated than create database fred.
2. When someone reports a problem and I say did you run the test suite mostly they didn't. So, I say, run the test suite and see what it says and some times they come back and say where is it. Of course, they
don't usually have it after the module is installed - argh.
Recent comments
32 weeks 7 hours ago
34 weeks 3 days ago
36 weeks 6 hours ago
36 weeks 1 day ago
44 weeks 2 days ago
45 weeks 2 days ago
46 weeks 5 days ago
49 weeks 3 days ago
1 year 1 week ago
1 year 4 weeks ago