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 =
*/__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.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
.
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 omit
ted in addition
to the defaults provided by covdefaults
.
[covdefaults]
subtract_omit = */__main__.py
this will result in */__main__.py
not being omit
ted (*/__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
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
File details
Details for the file covdefaults-2.3.0.tar.gz
.
File metadata
- Download URL: covdefaults-2.3.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e99f679f12d792bc62e5510fa3eb59546ed47bd569e36e4fddc4081c9c3ebf7 |
|
MD5 | e0b2624b75e3d4de308d690aaad2930f |
|
BLAKE2b-256 | 44ee9a6f2611f72e4c5657ae5542a510cf4164d2c673687c0ea73bb1cbd85b4d |
File details
Details for the file covdefaults-2.3.0-py2.py3-none-any.whl
.
File metadata
- Download URL: covdefaults-2.3.0-py2.py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2832961f6ffcfe4b57c338bc3418a3526f495c26fb9c54565409c5532f7c41be |
|
MD5 | 4fd23233303638b6b765cd52b9b26514 |
|
BLAKE2b-256 | 764c823bc951445aa97e5a1b7e337690db3abf85212c8d138e170922e7916ac8 |