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

Pass SolutionFilterName as a property #6234

Merged
merged 2 commits into from Mar 11, 2021

Conversation

Forgind
Copy link
Member

@Forgind Forgind commented Mar 9, 2021

Fixes internally reported bug

Context

I had previously added SolutionFilterName as a property. I missed one place it needed to be added for it to be passed properly to BuildRequests. This manifested as build failures in unusual cases when the engine generated a metaproj, didn't save it to disk—only into a cache, then queried the cache to see whether a project had already been built with the same name/guid/global properties. Because the third changed, it failed to recognize it and failed the build.

Changes Made

Added the property in the one missing spot.

Testing

@jeffkl showed me it working on one repro on his computer. I intend to try it on another repro shortly.

Notes

Copy link
Contributor

@jeffkl jeffkl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change looks good. But as a best practice, any time there's a regression, we should add a unit test that definitively fails without the change. This just helps ensure it doesn't regress again. Obviously we have no unit test that covered this scenario, so I would add one now.

GlobalSection(ProjectConfigurationPlatforms) = preSolution
{"{4A727FF8-65F2-401E-95AD-7C8BBFBE3167}"}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{"{4A727FF8-65F2-401E-95AD-7C8BBFBE3167}"}.Debug|Any CPU.Build.0 = Debug|Any CPU
{"{4A727FF8-65F2-401E-95AD-7C8BBFBE3167}"}.Debug|x64.ActiveCfg = Debug|Any CPU
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

super-nit: Can the test solution file be simplified by removing x64 and/or Debug configurations, for example?

EndProject
Project(`{"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"}`) = `B`, `{proj2.Path}`, `{"{881C1674-4ECA-451D-85B6-D7C59B7F16FA}"}`
ProjectSection(ProjectDependencies) = postProject
{"{4A727FF8-65F2-401E-95AD-7C8BBFBE3167}"} = {"{4A727FF8-65F2-401E-95AD-7C8BBFBE3167}"}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The email thread that started this had two project dependencies, does testing one project dependency cover the N project dependencies scenario?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I ran this test before and after the change, and it failed before and passed after.

What's important is that it has to build a metaproj.

@Forgind Forgind added the merge-when-branch-open PRs that are approved, except that there is a problem that means we are not merging stuff right now. label Mar 10, 2021
@rokonec rokonec merged commit 38da84d into dotnet:master Mar 11, 2021
@Forgind Forgind deleted the solutionfiltername-fix branch March 11, 2021 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug merge-when-branch-open PRs that are approved, except that there is a problem that means we are not merging stuff right now. regression
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants