On 01/05/07 21:03 A. Pagaltzis wrote:

> I'll never understand why the people who use Module::Install,
> which means including M::I with their distros, don't also simply
> include all of their non-core testing modules. I mean, once you
> start copying modules into your distro, it really makes no
> difference whether you include one or twenty.

No, because then it makes the distribution larger than necessary, and often
for tests that are irrelevant to whether the program works (e.g. testing the
POD or coding style).

It's better to have tests that aren't needed be skipped if they aren't
installed.  No, even better is to skip these tests unless a special
environment variable (e.g. DEVEL_TESTS) is set.

A related gripe is when in the name of 100% test coverage, I have to wait 20
minutes for the tests to complete.  What I care about is testing the weird
egde cases related to my platform: things that interact with external
libraries, the file system or network, little/big-endian issues, and word
sizes, and maybe Perl version quirks.  If these work, then I trust that if
it passes all the other tests on the author's machine, it would on mine.

Likewise, if it fails a test, just stop.  Don't continue to run the other
500 test files unless I specifically ask.

Even better, if a test fails a known obscure case that I can safely ignore,
then it should be marked as a "TODO" test.  Because then I can ignore it,
rather than waste my time researching whether to it's safe to ignore. Or
more likely just not using the module.


Reply via email to