6 Commits
Author SHA1 Message Date
Robert C. Martin 6fd92c4c9b Fix Python coverage for top-level modules
Why: for a top-level file like carddav.py, crapper passed --source=carddav.py
to coverage.py, which expects a module name, so the file always scored 0%.
What: python_sources now converts files to module names via _source_name.
Proof: new failing test in tests/test_runners.py, then fix; suite 146/146;
carddav.py now measured at 100% in family-and-friends-store.
2026-10-21 09:16:07 -05:00
Robert C. Martin 9f1bead298 Fix the coverage, git, and Clojure bugs, and bring CRAP under 10.
A path in a built-in coverage command is one argument, a failed custom coverage command does not read a stale report, and git failures exit with git's status. The Clojure reader honors discards, metadata, and character literals. Long functions are split so every score is under 10 except the option switch.
2026-10-03 17:27:59 -05:00
Robert C. Martin f0cb973110 Count ?? and ?., Express handlers, and JavaScript files, and score missing coverage as 0%. 2026-10-03 08:49:10 -05:00
Robert C. Martin ce3895211e Add tests for the branches the first mutation run left alive. 2026-10-02 10:36:31 -05:00
Robert C. Martin bd91c20ebf Route function extraction through a Language type.
Each language implements functions. An unknown language returns nothing.
2026-09-30 08:38:14 -05:00
Robert C. Martin a4b5fc2aed Add a multi-language CRAP tool that writes .metrics/crap.edn for uml-viewer.
Score Clojure, Java, Go, TypeScript, Rust, and Python with each language's complexity rules and coverage report.
2026-09-30 08:21:44 -05:00