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

Fixes to try and improve stability of validation tests #112

Merged
merged 6 commits into from
Feb 11, 2022

Conversation

robmen
Copy link
Member

@robmen robmen commented Feb 8, 2022

No description provided.

@rseanhall
Copy link
Contributor

Close and reopen to trigger Appveyor.

@rseanhall rseanhall closed this Feb 8, 2022
@rseanhall rseanhall reopened this Feb 8, 2022
@github-actions github-actions bot locked and limited conversation to collaborators Feb 8, 2022
@wixtoolset wixtoolset unlocked this conversation Feb 8, 2022
@rseanhall
Copy link
Contributor

The build failed on Appveyor: https://ci.appveyor.com/project/wixtoolset/wix4/builds/42501364. The test WixToolsetTest.Sdk.MsbuildFixture.CanBuildSimpleMsiPackageWithMergeModule is failing on both x86 and x64 MSBuild.

@rseanhall
Copy link
Contributor

Those tests fail for me locally as well.

@robmen robmen force-pushed the robmen/validation-test-fixes branch from bfd5bd8 to 8320584 Compare February 9, 2022 17:14
@robmen robmen force-pushed the robmen/validation-test-fixes branch 2 times, most recently from f5ddd3f to f015246 Compare February 10, 2022 17:11
@rseanhall
Copy link
Contributor

Did you see that yesterday's Appveyor build had a failing test (WixToolsetTest.Sdk.MsbuildFixture.CannotBuildMsiPackageWithIceWarningsAsErrors(buildSystem: MSBuild))? https://ci.appveyor.com/project/wixtoolset/wix4/builds/42516699

Exceptions could cross process boundaries given the callback nature
of validation so try to write error messages as soon as errors
happen instead of throwing.
This should prevent validation from running in parallel.
When the validation tests are run repeatedly, they will expose an issue
in the Windows Installer where ICE validations will occasionally
fail to send all error/warning messages. The inconsistency obviously
wreaks havoc on the tests.

The tests are still interesting (and complex) enough to keep around
for manual testing. So they were placed behind an #if for easy manual
inclusion.

Note that these are "negative tests" that expose the Windows Installer
inconsistency when expected failures are missing. Other validation tests
are "positive tests" that look for success and thus will always
succeed. Therefore, the positive tests stay active.
@robmen robmen force-pushed the robmen/validation-test-fixes branch from d71b125 to bca5c66 Compare February 11, 2022 03:24
@robmen
Copy link
Member Author

robmen commented Feb 11, 2022

Committing based on build https://ci.appveyor.com/project/wixtoolset/wix4/builds/42533941

@robmen robmen merged commit 4049297 into develop Feb 11, 2022
@robmen robmen deleted the robmen/validation-test-fixes branch February 11, 2022 04:47
@github-actions github-actions bot locked and limited conversation to collaborators Feb 11, 2022
@@ -193,7 +193,7 @@ string ReplacePathsInMessage(string message)
}
}

[Theory(Skip = "Flaky")]
[Theory]
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't know why you reenabled this test in this PR. This test flakiness is due to wixtoolset/issues#6720 and the associated MSBuild issue, not validation.

Copy link
Member Author

Choose a reason for hiding this comment

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

You said the AppVeyor reproduced the issue. I re-enabled it to see if it reproduced. It didn't. If you still hit it intermittently due to not using the VS command prompt, do feel free to add the Skip back but be sure to include the link to the MSBuild issue since that has a good chance of living longer. I'm investigating wixtoolset/issues#6720 today.

Copy link
Contributor

Choose a reason for hiding this comment

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

It worked because I changed Appveyor to temporarily use the VS command prompt: https://github.com/wixtoolset/wix4/pull/113/files#diff-92ab9a36df5d8e9f7076f2fdec59492d1ac2d9cf27ea046767a7fc4d542ef3dc. I expect it to start failing for everyone when 6720 is fixed.

Copy link
Member Author

Choose a reason for hiding this comment

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

Awesome! Good to know I have a test already available to tell me when I have 6720 fixed. 👍🏻

Copy link
Contributor

Choose a reason for hiding this comment

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

Well, yes. This test should have been failing this whole time. I'm pretty sure it was working properly when I set it up in the Tools micro repo, but either I didn't verify that it was actually running the 32-bit and 64-bit tasks or the MSBuild issue was introduced at the same time that we switched to the new repo.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants