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

llvm-cov support pt1 #653

Merged
merged 10 commits into from
Feb 18, 2021
Merged

llvm-cov support pt1 #653

merged 10 commits into from
Feb 18, 2021

Conversation

xd009642
Copy link
Owner

Work in progress branch for #549. Ideally I'd like to have the parsing of the files done in rust so we don't need to get users to pull in all the llvm tools just to parse a report. Some things that need figuring out:

  1. Running multiple tests what happens to the default.profraw?
  2. Tests that exec other binaries in the project, what happens to the default.profraw?
  3. Parsing profraw and converting to the internal TraceMap
  4. Detecting if the nightly version is new enough for llvm-cov - probably need to check the date in the version string 😬

@xd009642 xd009642 marked this pull request as draft December 29, 2020 23:15
@xd009642
Copy link
Owner Author

xd009642 commented Jan 1, 2021

can confirm doc tests work as expected, two reports generated as there isn't a no-run option for doctests

Report naming clashes would cause issues with reports being overwritten so now add the process PID into the report filename. Also use a regex to get the version of rust being used and make sure it's >= 1.50.0-nightly
It's currently hardcoded to Ptrace to enable this to be merged but it
will allow switching between the two and eventual smart default
selection
Added the future TraceEngine option with current options Auto, Llvm and
Ptrace. Check it before doing the coverage instrumentation compiler
flags and warn if the user selects Llvm but they don't have a current
enough compiler
Rework LLVM cov detection to be contained within the CargoVersionInfo
type and refactor tests. Improve version regex to handle stable and
beta
Remove llvm args and set engine pre-release
@xd009642 xd009642 changed the title WIP llvm-cov support llvm-cov support pt1 Feb 18, 2021
@xd009642 xd009642 marked this pull request as ready for review February 18, 2021 19:23
@xd009642 xd009642 merged commit b2b8801 into develop Feb 18, 2021
@xd009642 xd009642 deleted the feature/llvm-cov branch October 14, 2021 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant