-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
Fix the TabTests! #3833
Fix the TabTests! #3833
Conversation
(cherry picked from commit b392ba0)
This helper doesn't solve our problems, but it's there.
1. Make TerminalAppLib _not_ build App.xaml. I moved it to TerminalApp.vcxproj, so only the DLL builds it. No idea if that actually builds the DLL, package correctly, I'm just trying to get the XAML test to work. 2. This causes weird bugs trying to import the TerminalAppLib project, for whatever reason. Unfortunately, it causes the TerminalApp types to not appear in the final manifest, so I think we'll need to reference that winmd manually. 3. Make sure to include the `("UAP:Host", "Xaml")` bit in the test metadata. 4. Now, the `RunOnUIThread` test actually passes. It won't work with our types, but _progress_
I need to revert the App.xaml->TerminalApp change, because that's going to totally mess up the build. Full stop, that needs to happen. The problem we're running into now is that _ConsoleGenerateAdditionalWinmdManifests doesn't generate a .manifest for TerminalAppLib, so it never gets included into the Appxmanifest. I could try manually adding the TerminalApp types to the manifest prototype again. That's an option. But since I'll need to revert the App change anyways, idk if that'll matter. Maybe if we manually _don't_ include App.xbf in the output, and TerminalApp.App in the manifest?
This reverts commit 80e9e73.
This reverts commit 51bc3e7.
Just don't include the App.xbf and it magic works? Somewhere after we create the TermControl we crash, but that's _so_ good man. We're so close.
(draft PRs don't run the CI but treat this as a draft) |
They didn't work, and won't till we get an updated TAEF
(this guy is ready for review now) |
src/cascadia/LocalTests_TerminalApp/TerminalApp.LocalTests.vcxproj
Outdated
Show resolved
Hide resolved
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.
Couple of questions before I sign.
src/cascadia/LocalTests_TerminalApp/TerminalApp.LocalTests.AppxManifest.prototype.xml
Show resolved
Hide resolved
src/cascadia/LocalTests_TerminalApp/TerminalApp.LocalTests.vcxproj
Outdated
Show resolved
Hide resolved
src/cascadia/LocalTests_TerminalApp/TerminalApp.LocalTests.vcxproj
Outdated
Show resolved
Hide resolved
@miniksa @carlos-zamora @DHowett-MSFT @leonMSFT Heads up, if you want to run the LocalTests after merging this - you'll need to manually delete the old |
@@ -77,7 +76,7 @@ | |||
<DisableSpecificWarnings>4702;%(DisableSpecificWarnings)</DisableSpecificWarnings> | |||
</ClCompile> | |||
<Link> | |||
<AdditionalDependencies>User32.lib;WindowsApp.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies> | |||
<AdditionalDependencies>onecoreuap.lib;%(AdditionalDependencies)</AdditionalDependencies> |
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.
I mean, wait, if this is using the cppwinrt pre props you don't even need the link block at all.
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.
🤦
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.
wait no though I do?
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.
The cppwinrt preprops only was WindowsApp.lib...
Hello @zadjii-msft! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
Summary of the Pull Request
Fix the
TabTests
, and enable testing of types with XAML content. TheTabTests
were written many, many moons ago. they were intended to be our tests of XAML-like content within the Terminal app, so we could have unittests of Tabs, Panes, etc. Between their initial authoring and the day they were checked in, we had a bunch of build changes come in and break them irreperably.We've gotten them fixed now with one weird trick doctors hate me. As long as there isn't an
App.xbf
in the test's output directory, then the tests will deploy just fine.We also needed a bit of magic, cribbed straight from TAEF, to enable running test code synchronously on the UI thread. Hence,
CppwinrtTailored.h
.References
PR Checklist
Validation Steps Performed