googleforgames / quilkin

Quilkin is a non-transparent UDP proxy specifically designed for use with large scale multiplayer dedicated game server deployments, to ensure security, access control, telemetry data, metrics and more.
Apache License 2.0
1.28k stars 92 forks source link

Add Code Coverage Reporting #426

Open XAMPPRocky opened 2 years ago

XAMPPRocky commented 2 years ago

Currently it can be difficult to know how much testing is needed for a PR. Especially when it's a type used across the codebase, as there can already be enough tests in other areas to not warrant adding more tests. So I'd like to propose that we add some code coverage reporting to PRs so that we can get insight into how much untested code is being added.

I'm not proposing that we actually require 100% coverage in PRs (or requiring any percentage), only that we expose that information in the PR through something like a bot to help the reviewer and author.

markmandel commented 2 years ago

Love it!

Is there specific tooling for Rust that you would recommend?

Given that we have some Go code in our examples, should we try and combine or just focus on the Rust code for now?

XAMPPRocky commented 2 years ago

Is there specific tooling for Rust that you would recommend?

Given that we have some Go code in our examples, should we try and combine or just focus on the Rust code for now?

No I have no recommendations, I admit I don't have much experience with code coverage tools. This idea came from watching the https://github.com/russelltg/srt-rs repository and seeing them using codecov.

XAMPPRocky commented 2 years ago

Was recently made aware of this code coverage tool by Mozilla. https://github.com/mozilla/grcov