100% Coverage

This commit is contained in:
Renn F
2026-05-06 21:02:31 +02:00
parent 64c48356d0
commit 9aa30fb945
106 changed files with 28143 additions and 423 deletions
+7 -11
View File
@@ -162,17 +162,8 @@ select = [
"roboco/services/*.py" = ["PLC0415"]
"roboco/api/routes/*.py" = ["PLC0415"]
"roboco/runtime/*.py" = ["PLC0415"]
# Tests freely use magic values (status codes, indices), lazy imports for
# dependency-isolation, and many fixture parameters — these style rules
# are noise in test files.
"tests/**/*.py" = [
"PLR2004", # magic values (status codes, indices) are normal in tests
"PLC0415", # lazy imports for dependency-isolation in tests
"PLR0913", # many fixture parameters are normal in tests
"ARG001", # unused fixture parameters (db_session for autouse, caplog) are normal
"SIM105", # contextlib.suppress vs try/except/pass — both fine in tests
"E501", # long lines in test fixtures/payloads are common
]
# Test fixtures that reload modules to test env-var-at-import-time behavior
"tests/unit/mcp_servers/*.py" = ["PLC0415"]
# =============================================================================
# MyPy Configuration
@@ -223,6 +214,11 @@ asyncio_default_fixture_loop_scope = "function"
addopts = "--cov=roboco --cov-report=term-missing"
[tool.coverage.run]
# Coverage core. Python 3.12+ supports sys.monitoring; the legacy `pytrace`
# core loses trace events across `await` boundaries on 3.13, under-counting
# every async route by ~30%. `sysmon` is the only core that gives accurate
# coverage for async route handlers.
core = "sysmon"
# Modules excluded from the coverage gate because they require live
# infrastructure (Ollama, real audio/video stacks, real workspaces,
# Docker daemon, Claude Code CLI) that the unit-coverage gate does not