nedbat / coveragepy

The code coverage tool for Python
https://coverage.readthedocs.io
Apache License 2.0
3k stars 432 forks source link

100% covered when much is uncovered #1729

Closed mpenning closed 9 months ago

mpenning commented 9 months ago

I'm using:

I'm trying to get coveragepy to work, but I can't seem to get the coverage portion to see uncovered lines.

Assume I clone this ciscoconfparse2 repo (ref git hash 2feeff184d4dee6a2c3b10ff756e0e1151f2ffd2) and then edit ciscoconfparse2/models_cisco.py. I currently see Coveragepy ==> 100% covered when I run :Coveragepy show, but that's obviously not true. There are loads of uncovered methods in that file.

How do I debug / fix what is wrong?

image

nedbat commented 9 months ago

I don't know what is printing Coveragepy ==> 100% covered, it looks like some kind of vim integration? Can you use the coverage.py command-line tools to reproduce the situation?

mpenning commented 9 months ago

I just

I still get that same Coveragepy ==> 100% covered message when I run :Coveragepy show, but I definitely don't show 100% coverage here...

$ coverage report
Name                                                                      Stmts   Miss  Cover
---------------------------------------------------------------------------------------------
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/__init__.py             32      3    91%
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/ccp_abc.py             683    166    76%
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/ccp_util.py           3100   1583    49%
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/ciscoconfparse2.py    1555    559    64%
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/errors.py               88     40    55%
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/models_asa.py          838    239    71%
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/models_base.py         483    128    73%
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/models_cisco.py       1442    437    70%    <------
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/models_iosxr.py        646    315    51%
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/models_junos.py        348    126    64%
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/models_nxos.py         946    510    46%
/home/mpenning/fixme/ciscoconfparse2/ciscoconfparse2/protocol_values.py       5      0   100%
conftest.py                                                                 116     22    81%
test_Ccp_Abc.py                                                             408     20    95%
test_Ccp_Util.py                                                            425      0   100%
test_CiscoConfParse.py                                                      942      9    99%
test_Models_Asa.py                                                          122     14    89%
test_Models_Cisco.py                                                        635      6    99%
test_Models_Junos.py                                                         74      2    97%
---------------------------------------------------------------------------------------------
TOTAL                                                                     12888   4179    68%

Interestingly :Coveragepy show doesn't highlight any missing coverage lines.

What should I do next to debug this?

nedbat commented 9 months ago

It sounds like the vim plugin is buggy. I don't know which plugin it is, but I would contact that project.