-
Notifications
You must be signed in to change notification settings - Fork 128
Add analyzer bootstrap phase #2540
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
Conversation
The existing integration test build will now also use the live analyzer built first.
<Import Project="$(BootstrapBuildPath)/Microsoft.NET.ILLink.Analyzers.props" Condition="'$(BootstrapBuildPath)' != ''" /> | ||
|
||
<!-- Don't enable for Cecil, as they can't be suppressed --> | ||
<PropertyGroup Condition="'$(BootstrapBuildPath)' != '' and '$(MSBuildProjectName)' != 'Mono.Cecil.Pdb'"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why just Mono.Cecil.Pdb
and not the other cecil projects (mainly the Mono.Cecil
itself)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mono.Cecil.PDB has a warning (COM) that I need to file a bug for.
We also can't disable it because it sets <NoWarn>
without using $(NoWarn)
inside, so it overrides the higher warnings. None of the other projects do, so we can temporarily disable warnings for them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could push a change to the project to correctly pick up NoWarn
from the outside.
Once we have XML support it should be possible to get rid of the warning that way.
I'm not sure how much value this adds. Wouldn't be better to write integration tests with e.g. SPC where different code patterns actually exist? |
@marek-safar /runtime is definitely a good test suite, but our changes take longer to flow there. Since this already found a crash, I think it's worth bringing in. |
The existing integration test build will now also use the live analyzer built first. Commit migrated from dotnet/linker@5fca8b8
Should run by default in CI and catch analyzer crashes. Adding this already found one -- the fix is in the second commit.