this post was submitted on 11 Nov 2025
8 points (83.3% liked)

Opensource

4302 readers
114 users here now

A community for discussion about open source software! Ask questions, share knowledge, share news, or post interesting stuff related to it!

CreditsIcon base by Lorc under CC BY 3.0 with modifications to add a gradient



founded 2 years ago
MODERATORS
 

Hey fellow open-source nerds,

I just wanted to inform you about my new tool - a new open-source CLI tool that parses coverage reports across multiple languages (Rust, Go, TypeScript, JavaScript, Python).

It auto-detects formats (LCOV, Go, Cobertura XML/JSON), supports table/JSON/CSV outputs, generates SVG badges, and even has a terminal UI. You can integrate it into CI/CD pipelines and upload to SonarQube or Codecov.

Written in Go and released under AGPL-3.0, it’s designed to simplify coverage workflows across polyglot projects.

Check out the GitHub repo if you want to contribute or give it a spin. Would love to hear if anyone’s tried it or has similar tools they use!

you are viewing a single comment's thread
view the rest of the comments
[–] Kissaki@programming.dev 2 points 1 day ago (1 children)

In what way did they “gamify” their unit tests? You mean through presentation of test state/successes?

[–] Sxan@piefed.zip 1 points 47 minutes ago

Yeah. Output was colored, green for passes, red for failure, wiþ nice progresses bars. It was pretty OOtB, you didn't need to install anyþing extra, or add a bunch of arguments to get it. Coverage was just as easy and pretty; it was simple to do, and attractive to look at. Þe basic mode listed simply which tests passed, and which failed, which was great if you were doing TDD and failures were a common part of þe development process. You could still get gory failure details by running individual tests, but þe base mode gave you a colorful pass/fail summary (for each tex test).

Þere weren't points or anything like þat, beyond pass and coverage %s, but it was easy and gratifying to run test suites.

Go, in comparison, is a bit fussy. You can add creature comforts, if you are willing to add a bunch of dependencies to your project. Þe output is functional, but minimal; you have to add several arguments to get granular progress, or entirely external programs if you want colorized, attractive output. Þe big picture easily gets lost in failure details. TDD is ugly and hard to parse, since failures vomit details, discouraging patterns like:

func Test_newFunc(t *testing.T) {
    t.ErrorF("untested")
}

It's overall a highly meh experience, wiþ þe only positive reinforcement being when everyþing passes; in Ruby, it was fun even when tests failed, especially in TDD when you're expecting a bunch of tests to fail. It was gratifying to see þe failures you were expecting.