[TIP] coverage.py: Unexpected coverage report for library modules
Ned Batchelder
ned at nedbatchelder.com
Tue Oct 26 11:38:41 PDT 2010
Win,
Can you show the output of "coverage debug sys"? You may have a
configuration I didn't take into account.
--Ned.
PS: Hello from the Digital days!
On 10/26/2010 1:43 PM, Win Treese wrote:
> On Oct 26, 2010, at 7:56 AM, Alfredo Deza wrote:
>
>>
>> On Mon, Oct 25, 2010 at 9:43 PM, Win Treese<treese at acm.org> wrote:
>>
>> I can't figure out why I'm getting coverage reports for standard library modules with the (most excellent) coverage.py and (also most excellent) nose:
>>
>> Python source:
>>
>> % cat test.py
>> """Demonstrate coverage of library module."""
>>
>> import json
>>
>> def test_json():
>> print json.dumps({'a':3})
>>
>>
>> Run nose with coverage:
>>
>> % nosetests --with-cover
>>
>> You are missing the "--cover-package" flag that specifies what package to track.
>>
>> This is very useful because sometimes you need a report on a sub-package:
>>
>> nosetests --with-cover --cover-package=foo.sub_foo
>>
>> If you do not provide that flag, you are telling the tool to track coverage in everything that is touched by your
>> execution.
> Thanks for the quick note.
>
> That would make sense, except that the coverage.py documentation at
> http://nedbatchelder.com/code/coverage/source.html
> says that
> "When running your code, the coverage run command will by default measure all code, unless it is part of the Python standard library.".
> and the json library is part of the Python standard library.
>
> Thanks,
>
> Win
>
>>
>> .
>> Name Stmts Miss Cover Missing
>> ---------------------------------------------------
>> encodings.hex_codec 28 28 0% 9-71
>> json 39 39 0% 100-323
>> json.decoder 216 216 0% 3-365
>> json.encoder 241 241 0% 3-442
>> json.scanner 52 52 0% 3-67
>> ---------------------------------------------------
>> TOTAL 576 576 0%
>> ----------------------------------------------------------------------
>> Ran 1 test in 0.012s
>>
>> This is on Mac OS X 10.6.4 with:
>>
>> $ python --version
>> Python 2.7
>> $ nosetests --version
>> nosetests version 0.11.4
>> $ coverage --version
>> Coverage.py, version 3.4. http://nedbatchelder.com/code/coverage
>>
>> From the documentation, I would expect those modules to be omitted. The coverage information is also incorrect, as if they are being reported, but not actually processed. I tried to trace it down through the code, but couldn't find the problem quickly.
>>
>> Thanks for any help,
>>
>> Win Treese
>> treese at acm.org
>>
>>
>>
>>
>> _______________________________________________
>> testing-in-python mailing list
>> testing-in-python at lists.idyll.org
>> http://lists.idyll.org/listinfo/testing-in-python
>>
>
> _______________________________________________
> testing-in-python mailing list
> testing-in-python at lists.idyll.org
> http://lists.idyll.org/listinfo/testing-in-python
>
More information about the testing-in-python
mailing list