-
Notifications
You must be signed in to change notification settings - Fork 341
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Coverage #240
Comments
I think this is relatively doable nowadays, as a far bit of infrastructure in this area has stabilized: Instrumentation-based Code Coverage The LLVM coverage data in particular is pretty nice. Might be a good first issue now? |
Maybe not a good "first" issue, since I assume it will involve some fighting with the build system. But yeah seems worth promoting this a bit so maybe someone can look into it. What is not clear at all to me is how to best get this into CI. Ideally we'd somehow know when a line that used to be covered is no longer covered, but that requires keeping state across CI runs... not sure how that would work / what people usually do here. |
I would be interested in trying this. I would need to do some research first though. I haven't done anything similar before. |
Yeah, definitely -- we'd want to know what is even possible in this space and what the final result would look like before investing into any kind of polished solution. |
I finally found some time to work on this. Just by adding
I was able to generate the
(the I got this report:
I guess we can create a |
That's cool! Yeah |
I created this draft PR #3954 It requires that cargo-binutils is installed to generated the reports. It's so that we use the correct llvm version, compatible with what rustc is using. There is also llvm_profparser that tarpaulin is using. Maybe we can use that if we want to generate more complicated reports. But as a first step maybe the PR is good enough as it is. |
Figure out a way to run gcov on miri, so we know if we aren't testing something or if some hack becomes obsolete
The text was updated successfully, but these errors were encountered: