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
Support coverage builds #187
Comments
It would be nice to have, but I do not know how much effort it might be. Dwarf-fission support already brings back two files. You can probably use b3da9eb as a guide. I suspect if you expand on that you can make returning more files work. Best of luck, I haven't actually thought about the problem much. |
While this is desirable, I'm afraid it would require some significant refactoring and some pretty major design decisions. When I added debug fission support (to capture .dwo files), I had to hard code the expectation of whether a .dwo file would exist to send back or not. It is not trivial to add more possibilities of output files from a given command line without intimate knowledge of the specific tools involved, which I don't think should be added. If we were to generalize this concept by making the daemons able to communicate an arbitrary number of output files per compile job, we would need to seriously consider the mechanism for knowing how many to expect, how to find them once the compile job is complete, etc. I do not believe we can do this in a deterministic way, however. I'm sorry to rain on your parade, but you're probably better off sticking with local builds for this. :-/ |
Thanks for an answer. However I'm not giving up that fast ;-)
|
I think we are just suggesting that you to make sending files back.. I don't think johnmiked15 wants to see more places where we track which files we expect to be produced. I think I agree with him - when I looked at the patch again I see a number of places crying out for a more generic solution, but what that might be I do not know. We already have binary, the debug file, and you are adding 2 more. This is enough to call for a generic solution. A package extracted on host might work - if you can figure out which files to put in the package, preferably in a generic way so that we can easily handle the next file someone decides the compiler needs to produce. This is not easy to do in a way that is generic, deterministic, and correct. I think I want all 3. I'm fine with a rule "the compiler will always output to directory X", but only if it covers all our current cases: I don't actually know what all the possible cases are. I'm not against a plugin system, but I'm not sure how it might work which makes it hard to say I'm for it. There are a lot of ways to do it that I would reject, but not all of them. |
I have a version that has a relatively simple model to extend, are there other multiple file returns that others would want for a large system build... so I can see if those can follow the same pattern not sure how to post it up ..since I made a lot of other changes, so I need to split that out and ideally add a a build test .... |
Good to see progress on this, I hope you can figure out the next steps. |
When working on this, try to maintain support for interoperability with older clients that have the current .dwo support. Mixed networks make it a lot easier for network administrators to manage their system. |
Currently if we detect that there's a coverage flag we're falling back to local build but it should be possible to achieve it over distibuted network if *.gcno/gca files got captured.
I could try to implement that but I would love to here expert opinions first.
The text was updated successfully, but these errors were encountered: