<feed xmlns='http://www.w3.org/2005/Atom'>
<title>duet/tests/test-duet-coverage-summary.el, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.cjennings.net/duet/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/duet/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/duet/'/>
<updated>2026-06-06T17:19:44+00:00</updated>
<entry>
<title>test: cover the coverage-summary tooling</title>
<updated>2026-06-06T17:19:44+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-06T17:19:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/duet/commit/?id=8d7a988feb84cd42344afc9eec43f53a3e4d20c3'/>
<id>urn:sha1:8d7a988feb84cd42344afc9eec43f53a3e4d20c3</id>
<content type='text'>
scripts/coverage-summary.el carries real JSON parsing and report-formatting logic, but make coverage instruments only duet.el, so the tool itself had no tests. This adds them, mirroring the pattern from the other package's suite: synthetic SimpleCov reports written to temp files, so the tests are pure and need no prior coverage run.

The cases cover the normal percentage path, a fully covered file, a file with no executable lines, a multi-key union, basename-versus-path key matching, a tracked source absent from the report counting as 0%, missing and malformed JSON erroring as a user-error, and the formatted summary text.

There is no new target. The test file requires the script and runs under make test like every other suite, holding the tooling to the same bar as the package.
</content>
</entry>
</feed>
