A coverage plugin to provide sensible default settings
Project description
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 =
*/.tox/*
*/__main__.py
*/setup.py
*/venv*/*
[coverage:report]
show_missing = True
skip_covered = True
fail_under = 100
exclude =
# 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
^if (False|TYPE_CHECKING):
: \.\.\.$
-> ['"]?NoReturn['"]?:
# non-runnable code
if __name__ == ['"]__main__['"]:$
# additional platform related pragmas (see below)
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.name
nt
(windows)posix
(linux, macOs, cygwin, etc.)
sys.platform
cygwin
darwin
(macOs)linux
msys
win32
sys.implementation.name
cpython
pypy
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
.
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 omit
ted in addition
to the defaults provided by covdefaults
.
[covdefaults]
subtract_omit = */.tox/*
this will result in */.tox/*
not being omit
ted (*/.tox/*
is among the
defaults provided by covdefaults
).
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for covdefaults-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00968ad8d8f4bdf309c06814a1c98590bdaaf376ab03f8bbc69918f217c5f0b4 |
|
MD5 | 88000abc507490e545ddf47de0de74ef |
|
BLAKE2b-256 | 8fc3bc38ae520b442bd6653c6413e8bec6799895de18df60fa83882f2e93dd5a |