I’ve made a change to coverage.py, and I could use your help testing it before it’s released to the world.
tl;dr: install this and let me know if you don’t like the results:pip install coverage==5.6b1
What’s changed? Previously, coverage.py didn’t understand about third-party
code you had installed. With no options specified, it would measure and report
on that code, for example in site-packages. A common solution was to use
--source=. to only measure code in the current directory
tree. But many people put their virtualenv in the current directory, so
third-party code installed into the virtualenv would still get reported.
Now, coverage.py understands where third-party code gets installed, and won’t measure code it finds there. This should produce more useful results with less work on your part.
This was a bit tricky because the
--source option can
also specify an importable name instead of a directory, and it had to still
measure that code even if it was installed where third-party code goes.
As of now, there is no way to change this new behavior. Third-party code is never measured.
This is kind of a big change, and there could easily be unusual arrangements that aren’t handled properly. I would like to find out about those before an official release. Try the new version and let me know what you find out:
pip install coverage==5.6b1
In particular, I would like to know if any of the code you wanted measured wasn’t measured, or if there is code being measured that “obviously” shouldn’t be. Testing on Debian (or a derivative like Ubuntu) would be helpful; I know they have different installation schemes.
If you see a problem, write up an issue. Thanks for helping.