[pytest]
testpaths = tests
python_files = test_*.py
python_functions = test_*
asyncio_mode = auto
# Coverage config moved here from .github/workflows/ci.yml so local
# `pytest` matches CI without operator-typed flags. cov-fail-under
# pins the floor at 86% — 5pp below the 91.11% measured on staging
# (run 24957664272, 2026-04-26). Floor exists so a regression that
# drops coverage doesn't sneak past CI; tightening above 86% should
# follow real measurement, not aspiration. See issue #1817.
#
# Why 86 not 92: the earlier 97% measurement was without the
# .coveragerc omit list. Once `*/__init__.py`, `*/tests/*`, and
# `plugins_registry/*` are excluded (the issue's prescribed omit
# set, more meaningful since those files don't carry behavior),
# the actual measurement of behavior-bearing code is 91.11% — and
# 86% sits at the issue's prescribed `current - 5pp` margin.
addopts =
    -q
    --cov=.
    --cov-report=term-missing
    --cov-fail-under=86
markers =
    no_default_adapter: opt out of preflight tests' autouse fake-adapter fixture (for tests that exercise the no-adapter / broken-adapter failure paths)
# Coverage omit / report config lives in workspace/.coveragerc — coverage.py
# only reads .coveragerc / setup.cfg / tox.ini / pyproject.toml, NOT
# pytest.ini, so [coverage:*] sections here would be silently ignored.
