-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Initial provisions for semantic Crossgen2 PDB validation #97090
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ghost
assigned trylek
Jan 17, 2024
trylek
force-pushed
the
PdbTest
branch
3 times, most recently
from
January 18, 2024 00:18
1a066ad
to
779c017
Compare
This was referenced Jan 18, 2024
2 tasks
trylek
changed the title
WIP: Initial provisions for semantic Crossgen2 PDB validation
Initial provisions for semantic Crossgen2 PDB validation
Jan 18, 2024
@jkoritzinsky / @markples - I think this mostly works now so I'm opening this for review. As you probably know, I'm about to move to a different org so I'll either need to get this in quickly or finalizing this PR will likely fall on one of you. I think we shouldn't drop the ball on this as it's already got broken twice. |
jkoritzinsky
approved these changes
Jan 18, 2024
brianrob
approved these changes
Jan 18, 2024
This Quality Week work item is motivated by my findings from a few months back that Crossgen2 PDB generator had been producing bogus symbol files for almost half a year due to a trivial bug and no testing in place was able to catch that. This change adds initial provisions for semantic PDB validation. In this initial commit I'm adding a new managed app PdbChecker that uses the DIA library to read a given PDB and optionally check it for the presence of given symbols. In parallel I'm making test infra changes that enable selective PDB validation support in individual tests including checks for the presence of expected symbols. This change by itself introduces rudimentary PR / CI validation of PDB files produced by Crossgen2. As next step I plan to introduce additional provisions for running this logic for all tests to be added to one of the Crossgen2-specific pipelines, and validation of PDBs produced during compilation of the framework assemblies. Thanks Tomas
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After I fixed PDB generation in Crossgen2 for the second time, I have revived my old PR
#75172
for semantic PDB validation (the GitHub bot doesn't let me reopen the pull request even after unlocking the conversation claiming it can no longer track the rebased branch).
Thanks
Tomas
P.S. In this iteration the test is instrumented to fail to let me see the list of symbols in the log. Once I verify that, I'll remove the instrumentation and the change should be ready for review.