>>> 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

Reply via email to