Ctrl K
ComunidadGuías…

setup.cfg

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[tool:pytest]
testpaths = tests eval/tests
addopts = -v
markers =
    integration: opt-in test requiring a live database (see tests/integration/test_executor_live.py). Skipped by default; set RUN_LIVE_DB_TESTS=1 to run.
    domain_data: asserts a specific real IME domain value (a real table/column name, a real ring name, a real synonym, the eval golden set, ...) that project_config.example/ deliberately does not contain. Auto-skipped (see rootdir conftest.py's pytest_collection_modifyitems) whenever PROJECT_CONFIG_DIR resolves to project_config.example/; runs normally against the real project_config/.

[coverage:run]
branch = True
source = .
omit =
    tests/*
    eval/tests/*
    scripts/*
    web/*
    .venv/*
    */__pycache__/*
    # ── Interactive tooling: excluded by policy, not by neglect ──────────
    # These are operator-driven wizards and CLI front-ends. Their value is
    # in being run by a human, and unit-testing an interactive prompt flow
    # buys close to nothing. Excluded so the gate below measures the engine.
    setup_project.py
    llm/wizard_llm.py
    database/schema_inspector_cli.py
    # ── Ratchet: still out of scope after Phase 4 ────────────────────────
    # Phase 4 extracted and tested schema_data/{tables,columns,relationships}.py
    # (now schema_data/registry.py, loading project_config/schema.yaml — see
    # tests/test_schema_registry_loader.py and
    # tests/test_schema_registry_snapshot.py). schema_inspector.py (275 stmts)
    # and relationship_map.py (73 stmts) were NOT part of that phase's scope
    # and remain untouched, untested, and at 0% today. Including them now
    # would put the achievable gate at 74%, which would mean lowering the bar
    # rather than holding it. They enter scope whenever a future phase
    # extracts and tests them (relationship_map.py in particular is not
    # currently imported by any application code — see its own module
    # docstring), and the gate does not move down to accommodate them.
    database/schema_inspector.py
    database/relationship_map.py

[coverage:report]
show_missing = True
skip_covered = False
# Raised 85 -> 90 when the README started advertising the measured figure.
# A badge that says 92% with a gate at 85 is a number nobody is holding:
# coverage could fall seven points and every build would stay green while
# the README kept claiming otherwise. 90 leaves real headroom under the
# 92.84% measured at 4.10.1 without letting the claim rot silently.
fail_under = 90
exclude_also =
    if TYPE_CHECKING:
    raise NotImplementedError
    \.\.\.$
    if __name__ == .__main__.: