-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Code-coverage should be more precise in disabling package images #48071
Comments
Do you mean that because setting If that's true, then the check should be something like
Am I following correctly? |
Yeah, but I am not sure we can write that condition since a package can include lots of files and while it should only be the package source you could also include across packages |
Would it be possible to ahead of time figure out all the files By ahead of time I mean ahead of the point in which the decision to use pkgimages needs to be made? |
I'm not fully certain if analyze include ahead of time would help. But I also thought about this before, since This was part of reason why I have been advocating an explicit static syntax for local module/file loading (#4600). So one cannot call it from a function dynamically. |
So you could look at the cache file, determine all the files it includes (which we do as a validity check) and reject the cachefile if it includes a path we care about, that wouldn't be to horrid |
And you'd only need to do it if |
The relevant code is here Line 2621 in 79e29e3
|
This has been shown to be a cause of +50s in every |
Currently using anyform of code-coverage turns of support for package images.
Code-coverage is implemented by emitting LLVM IR that tracks the use of lines,
and it wasn't clear for me if this is something we would want to cache.
Most of the user CI is run with code-coverage enabled and as such does not use pkgimages yet, giving us little coverage outside PkgEval of how this feature interacts with users. So we are not testing the default user experience on package CI.
I was thinking about how we could fix that and we recently introduced
--code-coverage=@path
which only filters the paths on which we will enable code-coverage. Sadly this is still a global flag.Ideally we would be able to create and load a pkgimage for a dependency of the user package that is being instrumented.
cc: @timholy @IanButterworth
The text was updated successfully, but these errors were encountered: