covdefaults
A coverage plugin to provide sensible default settings
installation
pip install covdefaults
usage
to enable the plugin, add covdefaults to your coverage plugins
in .coveragerc:
[run]
plugins = covdefaults
in setup.cfg / tox.ini:
[coverage:run]
plugins = covdefaults
in pyproject.toml:
[tool.coverage.run]
plugins = ["covdefaults"]
default settings
[coverage:run]
branch = True
source = .
omit =
*/__main__.py
*/setup.py
[coverage:report]
show_missing = True
skip_covered = True
fail_under = 100
exclude_lines =
# a more strict default pragma
\# pragma: no cover\b
# allow defensive code
^\s*raise AssertionError\b
^\s*raise NotImplementedError\b
^\s*return NotImplemented\b
^\s*raise$
# typing-related code
^\s*if (False|TYPE_CHECKING):
: \.\.\.(\s*#.*)?$
^ +\.\.\.$
-> ['"]?NoReturn['"]?:
# non-runnable code
if __name__ == ['"]__main__['"]:$
# additional platform related pragmas (see below)
# additional version related pragmas (see below)
partial_branches =
# a more strict default pragma
\# pragma: no cover\b
# out platform pragmas
\# pragma: (nt|posix|cygwin|darwin|linux|msys|win32|cpython|pypy) (no )?cover\b
# our version pragmas
\# pragma: (>=?|<=?|==|!=)\d+\.\d+ cover\b
platform specific # pragma: no cover
several # pragma: no cover tags will be added automatically based on the
platform and implementation.
these will be in the form of:
# pragma: TAG no cover
or
# pragma: TAG cover
these tags will be generated by the following values:
os.nament(windows)posix(linux, macOs, cygwin, etc.)
sys.platformcygwindarwin(macOs)linuxmsyswin32
sys.implementation.namecpythonpypy
for every tag which does not match, you can use negation. here's an example:
if sys.platform == 'win32': # pragma: win32 cover
bin_dir = 'Scripts'
else: # pragma: win32 no cover
bin_dir = 'bin'
note here that # pragma: win32 cover will become a "no cover" for everything
which is not win32 -- whereas the # pragma: win32 no cover will be a
"no cover" only on win32.
version specific # pragma: no cover
several # pragma: no cover tags will be added automatically based on the
platform and implementation.
these will be in the form of:
# pragma: >=#.# cover
where the comparison operator is one of >, >=, <, <=, ==, !=
for example:
if sys.version_info >= (3, 9): # pragma: >=3.9 cover
print('3.9+')
else: # pragma: <3.9 cover
print('old')
overriding options
several of the options can be overridden / extended in your coverage
configuration. the examples below assume .coveragerc however any of the
files coverage supports work as well.
run:omit
[run]
omit =
pre_commit/resources/*
this will result in the pre_commit/resources/* being omitted in addition
to the defaults provided by covdefaults.
[covdefaults]
subtract_omit = */__main__.py
this will result in */__main__.py not being omitted (*/__main__.py is
among the defaults provided by covdefaults).
run:source
[run]
source = $PWD
covdefaults will not override this value to . if it is set manually.
report:exclude_lines
[report]
exclude_lines =
^if MYPY:$
this will result in lines matching ^if MYPY:$ to additionally be excluded
from coverage in addition to the defaults provided by covdefaults.
report:fail_under
[report]
fail_under = 90
covdefaults will not change the value if you provide one for fail_under
Release files for covdefaults 2.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| covdefaults-2.3.0.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| covdefaults-2.3.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 10.0 kB
Release files / covdefaults-2.3.0.tar.gz
| Download URL | covdefaults-2.3.0.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e99f679f12d792bc62e5510fa3eb59546ed47bd569e36e4fddc4081c9c3ebf7
|
|
BLAKE2b-256 checksum How to use checksums |
44ee9a6f2611f72e4c5657ae5542a510cf4164d2c673687c0ea73bb1cbd85b4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.6
|
Release files / covdefaults-2.3.0-py2.py3-none-any.whl
| Download URL | covdefaults-2.3.0-py2.py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
2832961f6ffcfe4b57c338bc3418a3526f495c26fb9c54565409c5532f7c41be
|
|
BLAKE2b-256 checksum How to use checksums |
764c823bc951445aa97e5a1b7e337690db3abf85212c8d138e170922e7916ac8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.6
|