Skip to main content

Tools for coverage threshold limits

Project description

coverage threshold

A command line tool for checking coverage reports against configurable coverage minimums. Currently built for use around python's coverage

Installation

pip install coverage-threshold

also recommended:

pip install coverage

Usage

Typical execution:

coverage run -m pytest tests/  # or any test runner here
coverage json
coverage-threshold

cli command options:

> coverage-threshold --help
usage: coverage-threshold [-h] [--line-coverage-min LINE_COVERAGE_MIN]
                          [--branch-coverage-min BRANCH_COVERAGE_MIN]
                          [--combined-coverage-min COMBINED_COVERAGE_MIN]
                          [--file-line-coverage-min FILE_LINE_COVERAGE_MIN]
                          [--file-branch-coverage-min FILE_BRANCH_COVERAGE_MIN]
                          [--file-combined-coverage-min FILE_COMBINED_COVERAGE_MIN]
                          [--coverage-json COVERAGE_JSON] [--config CONFIG]

A command line tool for checking coverage reports against configurable coverage minimums

optional arguments:
  -h, --help            show this help message and exit
  --line-coverage-min LINE_COVERAGE_MIN
                        minimum global average line coverage threshold
  --branch-coverage-min BRANCH_COVERAGE_MIN
                        minimum global average branch coverage threshold
  --combined-coverage-min COMBINED_COVERAGE_MIN
                        minimum global average combined line and branch coverage threshold
  --file-line-coverage-min FILE_LINE_COVERAGE_MIN
                        the line coverage threshold for each file
  --file-branch-coverage-min FILE_BRANCH_COVERAGE_MIN
                        the branch coverage threshold for each file
  --file-combined-coverage-min FILE_COMBINED_COVERAGE_MIN
                        the combined line and branch coverage threshold for each file
  --coverage-json COVERAGE_JSON
                        path to coverage json (default: ./coverage.json)
  --config CONFIG       path to config file (default: ./pyproject.toml)

Config

the current expected config file format is toml the default config file used is pyproject.toml but and alternative path can be specified with --config

example config:

[tool.coverage-threshold]
line_coverage_min = 95
file_line_coverage_min = 95
branch_coverage_min = 50

[tool.coverage-threshold.modules."src/cli/"]
file_line_coverage_min = 40

[tool.coverage-threshold.modules."src/cli/my_command.py"]
file_line_coverage_min = 100

[tool.coverage-threshold.modules."src/lib/"]
file_line_coverage_min = 100
file_branch_coverage_min = 100

[tool.coverage-threshold.modules."src/model/"]
file_line_coverage_min = 100

[tool.coverage-threshold.modules."src/__main__.py"]
file_line_coverage_min = 0

Each string key in config.modules is treated as a path prefix, where the longest matching prefix is used to configure the coverage thresholds for each file

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coverage_threshold-0.6.2.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coverage_threshold-0.6.2-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file coverage_threshold-0.6.2.tar.gz.

File metadata

  • Download URL: coverage_threshold-0.6.2.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.19

File hashes

Hashes for coverage_threshold-0.6.2.tar.gz
Algorithm Hash digest
SHA256 a56bfd6148a01177776f28fcabd754d1ee34ad5c112366c5e346ad1c12ad1fd8
MD5 fd2fc32538e806b94957fe8ca549ebff
BLAKE2b-256 7ce94c71f8ed66d0bcfe0d0eba4abfa82b1394040404c4cf0ae52db6c99a865c

See more details on using hashes here.

File details

Details for the file coverage_threshold-0.6.2-py3-none-any.whl.

File metadata

File hashes

Hashes for coverage_threshold-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2610daf03a04c0bed7d64b9aff70616ef204c6ca989965f4fd296c351d897626
MD5 4a5f37a069a66c2a45b3f9418c46b928
BLAKE2b-256 d094511548af8257b0d7da228aeecb6a177a614aaa68009f563ac032162b1b47

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page