Skip to content
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

Drop use of whatever coverage tools are being used currently, start using source level ones introduced in Rust 1.60 #451

Open
mulkieran opened this issue Apr 8, 2022 · 7 comments
Assignees

Comments

@mulkieran
Copy link
Member

No description provided.

@mulkieran mulkieran self-assigned this Aug 10, 2022
@mulkieran
Copy link
Member Author

I think it might be quite straightforward to do this for the stratis-min tests that we will be merging soon.

@mulkieran
Copy link
Member Author

Doing stratis-min tests is a good idea, but using the coverage tools is somewhat complex: https://doc.rust-lang.org/rustc/instrument-coverage.html.

The first obstacle is getting a version of Rust built with the profiler runtime. The default nightly version is built that way, but stable isn't. So, for a user to do there profiling, they:

  1. Have to use the nightly compiler.
  2. Build their own Rust toolchain.
  3. Persuade Fedora packagers to build Rust w/ the profiler runtime. This last would be the most convenient.

@mulkieran
Copy link
Member Author

Email of inquiry sent.

@mulkieran
Copy link
Member Author

The work has been scheduled, might be ready in Rust 1.71.

@mulkieran
Copy link
Member Author

It looks like it went in, so profiling should be a go.

@mulkieran
Copy link
Member Author

We can gather profile data for devicemapper now, see stratis-storage/devicemapper-rs#891 . We would like to be able to use cargo-llvm-cov, which does a lot of management work, but it may not be flexible enough.

@mulkieran
Copy link
Member Author

We're using the coverage in stratisd to guide testing. For libblkid-rs, just merged, we can see if we can get an out of the box tool, like llvm-cov to work for us.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: misc
Development

No branches or pull requests

1 participant