>>> This seems unfortunate for at least two reasons: >>> 1) it ends up taking a really long time to run the tests. At some >>> point, maybe long enough that nightly tests become prohibitive (even >>> more so for continuous integration).
> We have a substantial Perl code base (as I've said several hundred > modules), with unit tests. I have a test environment which does a > nightly checkout of the code and runs all the unit tests, with > Devel::Cover enabled and reports on the results. I have unit tests for maybe 15% of our perl codebase, but at least a basic compile test for maybe 90% of the almost 900 modules. a Devel::Cover run takes ~14 hours to complete (versus maybe 2 hours without D::C) so I abandoned the idea of nightly coverage runs a long time ago. not that I thought it would be that useful anyway - with that many modules, and so few near 100%, I doubt I could make any sense of the report anyway. a better idea would probably be to run D::C for just the packages that changed on a given day (via TEST_FILES), since a module nobody has touched in a month isn't going to get any better or worse coverage. intelligently diff that to the prior report for that module and then you've actually got some useful information. --Geoff