Introducing CoverMe: find the most called MediaWiki code lacking test coverage
By Kunal MehtaCoverMe, hosted on Wikimedia Toolforge
Test coverage is a useful metric, but it can be difficult to figure out exactly where to start. That's where CoverMe is useful - it sorts functions by how often they're called on Wikimedia production servers, and then displays their coverage status.
Try it out! You can filter by Git repository and entry point (index.php, load.php, etc.). So if you look at the api.php entry point, you'll see mostly API related code. If I look at the Linter extension, I can see that the RecordLintJob::run
is well covered, while ApiRecordLint::run
is not covered at all. If some extensions simply aren't called that frequently, there might not be any function call data at all.
The function call data comes from the daily Xenon logs that are used for profiling FlameGraphs, and the CI test coverage data. CoverMe fetches updated data on the hour if it's available.
The source code is published on Phabricator and licensed under the AGPL v3, or any later version.