[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.