[html]
show_contexts = true
skip_covered = false

[paths]
_site-packages-to-src-mapping =
  src
  */src
  *\src
  */lib/pypy*/site-packages
  */lib/python*/site-packages
  *\Lib\site-packages

[report]
skip_covered = true
skip_empty = true
show_missing = true
exclude_also =
  ^\s*@pytest\.mark\.xfail

[run]
branch = true
cover_pylib = false
# NOTE: Coveragepy is incompatible with dynamic context that gets enabled via
# NOTE: `pytest-cov` through a CLI arg to pytest. Refs:
# * https://github.com/aio-libs/multidict/pull/1393
# * https://github.com/pytest-dev/pytest-cov/issues/755
# * https://coverage.rtfd.io/en/latest/changes.html#version-7-15-3-2026-08-02
# * https://github.com/coveragepy/coveragepy/issues/2200
# * https://github.com/coveragepy/coveragepy/pull/2234
core = ${COVERAGE_CORE-ctrace}
# https://coverage.rtfd.io/en/latest/contexts.html#dynamic-contexts
# dynamic_context = test_function  # conflicts with `pytest-cov` if set here
parallel = true
plugins =
  covdefaults
relative_files = true
source =
  .
source_pkgs =
  normalize_needed_jobs_status
