Simple `coverage` Exclusions
Project description
Simple coverage
Exclusions
This is a simple plugin for Coverage.py.
When you enable it, for example in pyproject.toml
:
[tool.coverage.run]
plugins = ["coverage_simple_excludes"]
Then, in addition to the default # pragma: no cover
, you get several more comments in the format
# cover-...
that you can use to specify that lines or blocks of code should be excluded from
coverage, for example:
if sys.platform != 'win32': # cover-not-win32
print("This code is only executed on non-win32 systems")
else: # cover-only-win32
print("This code is only executed on win32 systems")
if sys.hexversion < 0x03_0C_00_00: # cover-req-lt3.12
print("This code is only executed on a version of Python before 3.12")
else: # cover-req-ge3.12
print("This code is only executed on Python 3.12 or later")
# cover-req-ltX.Y
and# cover-req-geX.Y
, where:X
andY
are the major and minor Python version, respectivelylt
means "a Python version less than (<
)X.Y
is required for this line or block of code to be executed and included in the coverage check"ge
means "a Python version greater than or equal to (>=
)X.Y
is required"
# cover-not-Z
and# cover-only-Z
, where:not
means "this code is not executed on this OS / platform / implementation"only
means "this code is only executed on this OS / platform / implementation"Z
may be any of the following values:os.name
: "posix", "nt", "java"sys.platform
: "aix", "emscripten", "linux", "wasi", "win32", "cygwin", "darwin"sys.implementation.name
: "cpython", "ironpython", "jython", "pypy"
Note the comments are case-sensitive. Any amount of whitespace is allowed between
the #
and cover
, including no space. The comments must always be followed by
whitespace or end-of-line. If you put any other comments after these comments,
for best forward compatibility it is strongly recommended you use another #
,
for example: some_code() # cover-req-win32 # only executed on Windows
.
Author, Copyright, and License
Copyright (c) 2024 Hauke Dämpfling (haukex@zero-g.net) at the Leibniz Institute of Freshwater Ecology and Inland Fisheries (IGB), Berlin, Germany, https://www.igb-berlin.de/
This library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/
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
File details
Details for the file coverage_simple_excludes-1.0.0.tar.gz
.
File metadata
- Download URL: coverage_simple_excludes-1.0.0.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20f06e9a649839517f58ed795f3cd9bb4fe7f4ee24088d5482b8462cc0e041dd |
|
MD5 | fe6ec1c6fa8cf9f09779f33e3e1456a5 |
|
BLAKE2b-256 | 928d083fcb62443f8771bdc1f0e2a5bcc9bf54a5874bf312abe94cb0c1389101 |