Coverage.py v3.0 is done. There are new docs up, and final kits. The main change since beta 3 was how the standard library is excluded. I was being too aggressive, and sometimes excluding all the product code as well, depending on the layout of the project. Now it behaves much better.

If you haven't been keeping up with the changes since coverage.py 2.x, there are plenty of them, including greatly improved speed and a nice HTML reporting feature.

tagged: , » 9 reactions

Comments

[gravatar]
Doug Napoleone 10:30 PM on 13 Jun 2009

THANK YOU!!!!

[gravatar]
Ned Batchelder 6:13 AM on 14 Jun 2009

You're welcome. :)

[gravatar]
Paul Hildebrandt 12:10 PM on 14 Jun 2009

I can't wait to install this at work. I will have time after our current sprint. The HTML reporting should be awesome. I am working with out infrastructure group to make your coverage reporting part of our nightly builds. Thanks for all the hard work!

[gravatar]
Shuaib 3:37 AM on 22 Jun 2009

Hi Ned,

Have you also incorporated C code coverage into it? Coz from the report I see on http://coverage.livinglogic.de/ there are reports for a number of C sources too.

[gravatar]
Ned Batchelder 6:41 AM on 22 Jun 2009

@Shuaib: that report is from (I believe) gcov, which is a C coverage tool. Notice that the .py files are all marked as n/a. Coverage.py only measures Python code coverage.

[gravatar]
lacho 4:49 PM on 22 Jun 2009

It seems that the recursion limit statement does not work when executed in coverage 3.0, like in this sample code:
import sys
sys.setrecursionlimit(2500)
def add1(number = 0):
number = number + 1
if(number < 2000):add1(number)
if __name__ == '__main__':
add1()
Thanks.

[gravatar]
Shuaib 11:02 AM on 23 Jun 2009

Ned, sorry, I thought the report on http://coverage.livinglogic.de/ was generated using coverage.py actually it was generated using pycoco. :)

[gravatar]
Ned Batchelder 8:23 PM on 23 Jun 2009

@lacho: thanks for the report. The recursion limit in the tracer function was off by one, and so crashed. But I've removed the limit altogether so your code will run now. Details at http://bitbucket.org/ned/coveragepy/issue/9

[gravatar]
lacho 10:07 AM on 24 Jun 2009

Thank you.

Add a comment:

name
email
Ignore this:
not displayed and no spam.
Leave this empty:
www
not searched.
 
Name and either email or www are required.
Don't put anything here:
Leave this empty:
URLs auto-link and some tags are allowed: <a><b><i><p><br><pre>.