stratis-storage / project

A holding place for issues that affect more than one repository in the project
4 stars 0 forks source link

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

Open mulkieran opened 2 years ago

mulkieran commented 1 year ago

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

mulkieran commented 1 year ago

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 commented 1 year ago

Email of inquiry sent.

mulkieran commented 1 year ago

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

mulkieran commented 1 year ago

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

mulkieran commented 11 months ago

We can gather profile data for devicemapper now, see https://github.com/stratis-storage/devicemapper-rs/pull/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 commented 1 month ago

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.