infra: pytest configuration, timeout enforcement, and coverage threshold

- pytest-timeout>=2.1.0 added; timeout=30s per test prevents runaway
  tests from hanging CI
- asyncio_mode=auto in pyproject.toml [tool.pytest.ini_options]; async
  tests run without per-test markers
- fail_under=27 in [tool.coverage.report] as the enforced coverage
  floor; target 40% tracked in TASK-14
- CI test matrix updated for Python 3.9, 3.11, 3.12
This commit is contained in:
Stacy Olivas committed 2026-03-17 17:40:52 -07:00
1 parent b72eaab171
commit 0b82a0cf9d
3 files changed
+39 -3

No files matched your search

+7
View File
@@ -28,6 +28,13 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install -e ".[test]"
pip install ruff mypy
- name: Lint with ruff
run: ruff check .
- name: Type check with mypy
run: mypy modules/ --ignore-missing-imports
- name: Run tests
run: pytest tests/ -v --tb=short