2 Commits
Author SHA1 Message Date
willemjan 7f4377329a Add CI test-coverage gate at 80%, backfill remaining logic-module gaps
willemjan/glucose-dashboard/pipeline/head This commit looks good
pytest-cov + pyproject.toml [tool.coverage.*] measure reporting.py,
nightscout_client.py, data_processing.py, pdf_export.py, profile_data.py,
ui_common.py, and auth.py; app.py and pages/*.py are omitted (thin
Streamlit UI scripts, not meaningfully unit-testable without a running
Streamlit session — the handful of similarly UI-coupled functions left
in ui_common.py/auth.py are marked "# pragma: no cover" with the same
rationale, since the logic they call into is already fully tested).

The Gitea Actions test job now runs with --cov and fails the build
below 80%; the coverage XML is uploaded as a build artifact and fed
into the SonarQube scan (closing the gap flagged in
homelab-cicd-werkinstructie.md). Backfilled a few missing branches
(get_colors() theme fallback, secondary-y-axis overlay traces) to reach
98% on the measured modules — comfortable headroom above the 80% gate.

Builds on #29/#30/#31.
2026-09-05 22:52:29 +02:00
willemjanandClaude Sonnet 5 566a817365 fix pytest module discovery in CI
CI invokes the pytest console script directly (pytest tests/ -v), which
unlike `python -m pytest` does not add the repo root to sys.path. That
broke imports of the top-level data_processing/nightscout_client
modules from the test files. Add pythonpath = ["."] so it works
regardless of invocation style.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-07-25 21:09:48 +02:00