The py-cover task is now integrated into the project tree.
code coverage
Continuous integration with code coverage in Python
Update
This code has been integrated into the main tree.
I decided it would be good to have a coverage report of our Python code,
with nice visualization like Clover.
So I took Ron Smith’s PyAntTasks, and added py-cover task to them. This will run coverage for every test, and a cumulative one. In other words, you can see what code a particular test exercises, and what code all the tests in your tree exercise.
This also modifies py-test task to include packagedtests attribute – see below.
The newly added py-cover task runs Ned Batchelder’s coverage.py (download it separately), and is specified as follows in your build.xml:
Here, is a FileSet specifying tests to run, is a FileSet specifying source code to cover.
The attributes are:
reportsDir– where the coverage reports gopackagedtests– this idiosyncrasy is prompted by our tree setup. If this attribute istrueit means that the test files reside in Python packages,falseotherwise. (In our case, they do not; they are in the tree but are not packages. Note that the originalpy-testtask assumed they are in packages, I have changed this too).coverage– path tocoverage.pyon your system (which you downloaded separately, right?)
P.S. I know about the colorize.py thingie, but I rolled my own (uglier, of course) for this one.