mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 16:14:12 +01:00
Verified by the 100%-coverage tests from the previous commit, written before this seam existed. _cpu_table/_dedupe_ram/_ram_table/_gpu_table move to _usage_report_tables.py with the two constants they own. _md_escape and _fmt_h move to _usage_report_format.py: both the tables module and the render module need them, so a third module is what avoids a cycle. Import sites name the owning module; no re-export barrel. usage_report.py needed no edit - it imports _fmt_h and _render_report from the render module, and both names still resolve there. Evidence the move was verbatim: an AST comparison of all 10 functions against HEAD reports 10 identical, 0 mismatches. That matters because I retyped rather than cut-and-pasted, and did briefly introduce a literal × where the original had × - ruff's RUF001 caught it. Coverage stays 100% line+branch on all three (15/55/54 stmts, 4/10/14 branches, 0 missed). Test count 43 before and after, summed across the five files it now lives in - the check that matters for a test split, since a file outside the runner's glob is silently never collected. Directory total 143 passed, unchanged. Ran the real program: a full report from today's atop + pmon logs, every section rendering through the new boundaries including the RAM sibling dedupe and its (+20 more) truncation. Over-cap 41 -> 39. No suppressions; a shared test-helper module was tried and abandoned because name-tests-test would have needed an exclusion. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
19 lines
1.8 KiB
JSON
19 lines
1.8 KiB
JSON
{
|
|
"title": "Split _usage_report_render.py along a functional seam",
|
|
"objective": "_usage_report_render.py was 310 lines against a 250-line cap. The preceding commit took it from 21% to 100% line and branch coverage precisely so this split could be verified against tests that predate the seam. Success means the file drops under the cap, every moved function is provably unchanged, coverage stays at 100%, the test count is identical, and the program still generates a real report.",
|
|
"acceptance_criteria": [
|
|
"_usage_report_render.py is under 250 lines and the over-cap total drops (41 -> 39)",
|
|
"Every moved function is AST-identical to its HEAD version - verbatim movement, not a rewrite",
|
|
"All three resulting modules hold 100% line and branch coverage, matching the pre-split single-file figure",
|
|
"The test count is exactly 43 both before and after, summed across the split test files, so no test was lost to a collection glob",
|
|
"usage_report.py still runs and produces a complete report from the machine's real atop/pmon logs",
|
|
"No suppression of any kind, and no re-export barrel in _usage_report_render"
|
|
],
|
|
"out_of_scope": [
|
|
"_usage_report_parsing.py and usage_report.py, both still 425 lines and over cap - each needs its own coverage-first commit",
|
|
"Any behaviour change to the report output",
|
|
"The pacman_wrapper.sh source-text test rewrite and the installer deploy-lib work, which are separate tasks in this session's brief"
|
|
],
|
|
"verifier": "python3 scratchpad/verify_split.py for the AST-identity claim; pytest linux_configuration/tests with --cov of the three modules and --cov-branch for coverage; pytest --collect-only per file for the test count; python usage_report.py --date <today> for the runtime check; check_file_length.sh --all for the cap; pre-commit run --files for lint."
|
|
}
|