diff --git a/OpenConsole.sln b/OpenConsole.sln index 452a7fd95..a7a369560 100644 --- a/OpenConsole.sln +++ b/OpenConsole.sln @@ -257,6 +257,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winconpty.LIB", "src\wincon EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winconpty.DLL", "src\winconpty\dll\winconptydll.vcxproj", "{A22EC5F6-7851-4B88-AC52-47249D437A52}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestHostApp", "src\cascadia\LocalTests_TerminalApp\TestHostApp\TestHostApp.vcxproj", "{A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}" + ProjectSection(ProjectDependencies) = postProject + {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506} = {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{BDB237B6-1D1D-400F-84CC-40A58FA59C8E}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "til.unit.tests", "src\til\ut_til\til.unit.tests.vcxproj", "{767268EE-174A-46FE-96F0-EEE698A1BBC9}" EndProject Global @@ -1320,6 +1327,30 @@ Global {A22EC5F6-7851-4B88-AC52-47249D437A52}.Release|x64.Build.0 = Release|x64 {A22EC5F6-7851-4B88-AC52-47249D437A52}.Release|x86.ActiveCfg = Release|Win32 {A22EC5F6-7851-4B88-AC52-47249D437A52}.Release|x86.Build.0 = Release|Win32 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.AuditMode|Any CPU.ActiveCfg = AuditMode|x64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.AuditMode|ARM64.ActiveCfg = AuditMode|ARM64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.AuditMode|x64.ActiveCfg = AuditMode|x64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.AuditMode|x86.ActiveCfg = AuditMode|Win32 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|ARM64.Build.0 = Debug|ARM64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|x64.ActiveCfg = Debug|x64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|x64.Build.0 = Debug|x64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|x64.Deploy.0 = Debug|x64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|x86.ActiveCfg = Debug|Win32 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|x86.Build.0 = Debug|Win32 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Debug|x86.Deploy.0 = Debug|Win32 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|Any CPU.ActiveCfg = Release|Win32 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|ARM64.ActiveCfg = Release|ARM64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|ARM64.Build.0 = Release|ARM64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|ARM64.Deploy.0 = Release|ARM64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|x64.ActiveCfg = Release|x64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|x64.Build.0 = Release|x64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|x64.Deploy.0 = Release|x64 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|x86.ActiveCfg = Release|Win32 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|x86.Build.0 = Release|Win32 + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8}.Release|x86.Deploy.0 = Release|Win32 {767268EE-174A-46FE-96F0-EEE698A1BBC9}.AuditMode|Any CPU.ActiveCfg = AuditMode|Win32 {767268EE-174A-46FE-96F0-EEE698A1BBC9}.AuditMode|ARM64.ActiveCfg = AuditMode|ARM64 {767268EE-174A-46FE-96F0-EEE698A1BBC9}.AuditMode|ARM64.Build.0 = AuditMode|ARM64 @@ -1390,7 +1421,7 @@ Global {CA5CAD1A-1754-4A9D-93D7-857A9D17CB1B} = {59840756-302F-44DF-AA47-441A9D673202} {CA5CAD1A-44BD-4AC7-AC72-F16E576FDD12} = {59840756-302F-44DF-AA47-441A9D673202} {CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907} = {59840756-302F-44DF-AA47-441A9D673202} - {2C2BEEF4-9333-4D05-B12A-1905CBF112F9} = {59840756-302F-44DF-AA47-441A9D673202} + {2C2BEEF4-9333-4D05-B12A-1905CBF112F9} = {BDB237B6-1D1D-400F-84CC-40A58FA59C8E} {EF3E32A7-5FF6-42B4-B6E2-96CD7D033F00} = {E8F24881-5E37-4362-B191-A3BA0ED7F4EB} {16376381-CE22-42BE-B667-C6B35007008D} = {81C352DB-1818-45B7-A284-18E259F1CC87} {F1995847-4AE5-479A-BBAF-382E51A63532} = {89CDCC5C-9F53-4054-97A4-639D99F169CD} @@ -1399,14 +1430,16 @@ Global {34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73} = {89CDCC5C-9F53-4054-97A4-639D99F169CD} {84848BFA-931D-42CE-9ADF-01EE54DE7890} = {59840756-302F-44DF-AA47-441A9D673202} {376FE273-6B84-4EB5-8B30-8DE9D21B022C} = {59840756-302F-44DF-AA47-441A9D673202} - {CA5CAD1A-9333-4D05-B12A-1905CBF112F9} = {59840756-302F-44DF-AA47-441A9D673202} + {CA5CAD1A-9333-4D05-B12A-1905CBF112F9} = {BDB237B6-1D1D-400F-84CC-40A58FA59C8E} {CA5CAD1A-9A12-429C-B551-8562EC954746} = {59840756-302F-44DF-AA47-441A9D673202} - {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506} = {59840756-302F-44DF-AA47-441A9D673202} + {CA5CAD1A-B11C-4DDB-A4FE-C3AFAE9B5506} = {BDB237B6-1D1D-400F-84CC-40A58FA59C8E} {48D21369-3D7B-4431-9967-24E81292CF63} = {05500DEF-2294-41E3-AF9A-24E580B82836} {CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE} = {59840756-302F-44DF-AA47-441A9D673202} {B0AC39D6-7B40-49A9-8202-58549BAE1FB1} = {59840756-302F-44DF-AA47-441A9D673202} {58A03BB2-DF5A-4B66-91A0-7EF3BA01269A} = {E8F24881-5E37-4362-B191-A3BA0ED7F4EB} {A22EC5F6-7851-4B88-AC52-47249D437A52} = {E8F24881-5E37-4362-B191-A3BA0ED7F4EB} + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8} = {BDB237B6-1D1D-400F-84CC-40A58FA59C8E} + {BDB237B6-1D1D-400F-84CC-40A58FA59C8E} = {59840756-302F-44DF-AA47-441A9D673202} {767268EE-174A-46FE-96F0-EEE698A1BBC9} = {89CDCC5C-9F53-4054-97A4-639D99F169CD} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution diff --git a/src/cascadia/LocalTests_TerminalApp/ColorSchemeTests.cpp b/src/cascadia/LocalTests_TerminalApp/ColorSchemeTests.cpp index 6ca9dfe81..42804cdd5 100644 --- a/src/cascadia/LocalTests_TerminalApp/ColorSchemeTests.cpp +++ b/src/cascadia/LocalTests_TerminalApp/ColorSchemeTests.cpp @@ -29,7 +29,7 @@ namespace TerminalAppLocalTests // details on that. BEGIN_TEST_CLASS(ColorSchemeTests) TEST_CLASS_PROPERTY(L"RunAs", L"UAP") - TEST_CLASS_PROPERTY(L"UAP:AppXManifest", L"TerminalApp.LocalTests.AppxManifest.xml") + TEST_CLASS_PROPERTY(L"UAP:AppXManifest", L"TestHostAppXManifest.xml") END_TEST_CLASS() TEST_METHOD(CanLayerColorScheme); diff --git a/src/cascadia/LocalTests_TerminalApp/KeyBindingsTests.cpp b/src/cascadia/LocalTests_TerminalApp/KeyBindingsTests.cpp index 2d939aaea..42160d0b4 100644 --- a/src/cascadia/LocalTests_TerminalApp/KeyBindingsTests.cpp +++ b/src/cascadia/LocalTests_TerminalApp/KeyBindingsTests.cpp @@ -32,7 +32,7 @@ namespace TerminalAppLocalTests // details on that. BEGIN_TEST_CLASS(KeyBindingsTests) TEST_CLASS_PROPERTY(L"RunAs", L"UAP") - TEST_CLASS_PROPERTY(L"UAP:AppXManifest", L"TerminalApp.LocalTests.AppxManifest.xml") + TEST_CLASS_PROPERTY(L"UAP:AppXManifest", L"TestHostAppXManifest.xml") END_TEST_CLASS() TEST_METHOD(ManyKeysSameAction); diff --git a/src/cascadia/LocalTests_TerminalApp/ProfileTests.cpp b/src/cascadia/LocalTests_TerminalApp/ProfileTests.cpp index b99162799..c0064c6a3 100644 --- a/src/cascadia/LocalTests_TerminalApp/ProfileTests.cpp +++ b/src/cascadia/LocalTests_TerminalApp/ProfileTests.cpp @@ -29,7 +29,7 @@ namespace TerminalAppLocalTests // details on that. BEGIN_TEST_CLASS(ProfileTests) TEST_CLASS_PROPERTY(L"RunAs", L"UAP") - TEST_CLASS_PROPERTY(L"UAP:AppXManifest", L"TerminalApp.LocalTests.AppxManifest.xml") + TEST_CLASS_PROPERTY(L"UAP:AppXManifest", L"TestHostAppXManifest.xml") END_TEST_CLASS() TEST_METHOD(CanLayerProfile); diff --git a/src/cascadia/LocalTests_TerminalApp/SettingsTests.cpp b/src/cascadia/LocalTests_TerminalApp/SettingsTests.cpp index 357b1eaba..c00dd15a3 100644 --- a/src/cascadia/LocalTests_TerminalApp/SettingsTests.cpp +++ b/src/cascadia/LocalTests_TerminalApp/SettingsTests.cpp @@ -34,7 +34,7 @@ namespace TerminalAppLocalTests // details on that. BEGIN_TEST_CLASS(SettingsTests) TEST_CLASS_PROPERTY(L"RunAs", L"UAP") - TEST_CLASS_PROPERTY(L"UAP:AppXManifest", L"TerminalApp.LocalTests.AppxManifest.xml") + TEST_CLASS_PROPERTY(L"UAP:AppXManifest", L"TestHostAppXManifest.xml") END_TEST_CLASS() TEST_METHOD(TryCreateWinRTType); diff --git a/src/cascadia/LocalTests_TerminalApp/TabTests.cpp b/src/cascadia/LocalTests_TerminalApp/TabTests.cpp index 3aba9c861..f900c4a40 100644 --- a/src/cascadia/LocalTests_TerminalApp/TabTests.cpp +++ b/src/cascadia/LocalTests_TerminalApp/TabTests.cpp @@ -3,9 +3,13 @@ #include "pch.h" -#include "../TerminalApp/ColorScheme.h" +#include "../TerminalApp/TerminalPage.h" +#include "../TerminalApp/MinMaxCloseControl.h" +#include "../TerminalApp/TabRowControl.h" +#include "../TerminalApp/ShortcutActionDispatch.h" #include "../TerminalApp/Tab.h" #include "../CppWinrtTailored.h" +#include "JsonTestClass.h" using namespace Microsoft::Console; using namespace TerminalApp; @@ -19,7 +23,7 @@ namespace TerminalAppLocalTests // an updated TAEF that will let us install framework packages when the test // package is deployed. Until then, these tests won't deploy in CI. - class TabTests + class TabTests : public JsonTestClass { // For this set of tests, we need to activate some XAML content. For // release builds, the application runs as a centennial application, @@ -34,18 +38,26 @@ namespace TerminalAppLocalTests BEGIN_TEST_CLASS(TabTests) TEST_CLASS_PROPERTY(L"RunAs", L"UAP") - TEST_CLASS_PROPERTY(L"UAP:AppXManifest", L"TerminalApp.LocalTests.AppxManifest.xml") - TEST_CLASS_PROPERTY(L"UAP:Host", L"Xaml") - TEST_CLASS_PROPERTY(L"UAP:WaitForXamlWindowActivation", L"true") + TEST_CLASS_PROPERTY(L"UAP:AppXManifest", L"TestHostAppXManifest.xml") END_TEST_CLASS() // These four tests act as canary tests. If one of them fails, then they // can help you identify if something much lower in the stack has // failed. TEST_METHOD(EnsureTestsActivate); - TEST_METHOD(TryCreateLocalWinRTType); + TEST_METHOD(TryCreateSettingsType); + TEST_METHOD(TryCreateConnectionType); TEST_METHOD(TryCreateXamlObjects); TEST_METHOD(TryCreateTab); + + TEST_METHOD(CreateSimpleTerminalXamlType); + TEST_METHOD(CreateTerminalMuxXamlType); + + TEST_CLASS_SETUP(ClassSetup) + { + InitializeJsonReader(); + return true; + } }; void TabTests::EnsureTestsActivate() @@ -56,7 +68,7 @@ namespace TerminalAppLocalTests VERIFY_IS_TRUE(true); } - void TabTests::TryCreateLocalWinRTType() + void TabTests::TryCreateSettingsType() { // Verify we can create a WinRT type we authored // Just creating it is enough to know that everything is working. @@ -68,6 +80,17 @@ namespace TerminalAppLocalTests VERIFY_ARE_NOT_EQUAL(oldFontSize, newFontSize); } + void TabTests::TryCreateConnectionType() + { + // Verify we can create a WinRT type we authored + // Just creating it is enough to know that everything is working. + winrt::Microsoft::Terminal::TerminalConnection::EchoConnection conn{}; + VERIFY_IS_NOT_NULL(conn); + // We're doing this test seperately from the TryCreateSettingsType test, + // to ensure both dependent binaries (TemrinalSettings and + // TerminalConnection) both work individually. + } + void TabTests::TryCreateXamlObjects() { auto result = RunOnUIThread([]() { @@ -119,4 +142,26 @@ namespace TerminalAppLocalTests VERIFY_SUCCEEDED(result); } + void TabTests::CreateSimpleTerminalXamlType() + { + winrt::com_ptr mmcc{ nullptr }; + + auto result = RunOnUIThread([&mmcc]() { + mmcc = winrt::make_self(); + VERIFY_IS_NOT_NULL(mmcc); + }); + VERIFY_SUCCEEDED(result); + } + + void TabTests::CreateTerminalMuxXamlType() + { + winrt::com_ptr tabRowControl{ nullptr }; + + auto result = RunOnUIThread([&tabRowControl]() { + tabRowControl = winrt::make_self(); + VERIFY_IS_NOT_NULL(tabRowControl); + }); + VERIFY_SUCCEEDED(result); + } + } diff --git a/src/cascadia/LocalTests_TerminalApp/TerminalApp.LocalTests.vcxproj b/src/cascadia/LocalTests_TerminalApp/TerminalApp.LocalTests.vcxproj index b17fadd41..5c92dd5e9 100644 --- a/src/cascadia/LocalTests_TerminalApp/TerminalApp.LocalTests.vcxproj +++ b/src/cascadia/LocalTests_TerminalApp/TerminalApp.LocalTests.vcxproj @@ -1,5 +1,16 @@  + + + {CA5CAD1A-b11c-4ddb-a4fe-c3afae9b5506} Win32Proj @@ -101,85 +112,4 @@ - - - - - - - $(BeforeLinkTargets); - _LocalTestsGenerateCombinedManifests; - _LocalTestsBuildAppxManifest; - _LocalTestsCopyDependencies; - - - - - - - - - - - - - - - - - - - - <_ContinueOnError Condition="'$(BuildingProject)' == 'true'">true - <_ContinueOnError Condition="'$(BuildingProject)' != 'true'">false - - - - - - - - - - - - - - - - - - - - diff --git a/src/cascadia/LocalTests_TerminalApp/TestHostApp/Package.appxmanifest b/src/cascadia/LocalTests_TerminalApp/TestHostApp/Package.appxmanifest new file mode 100644 index 000000000..214147399 --- /dev/null +++ b/src/cascadia/LocalTests_TerminalApp/TestHostApp/Package.appxmanifest @@ -0,0 +1,27 @@ + + + + + + TestHostApp + migrie + taef.png + multiple + + + + + + + + + + + + + + + + + + diff --git a/src/cascadia/LocalTests_TerminalApp/TestHostApp/TestHostApp.vcxproj b/src/cascadia/LocalTests_TerminalApp/TestHostApp/TestHostApp.vcxproj new file mode 100644 index 000000000..63b84388e --- /dev/null +++ b/src/cascadia/LocalTests_TerminalApp/TestHostApp/TestHostApp.vcxproj @@ -0,0 +1,162 @@ + + + + {A021EDFF-45C8-4DC2-BEF7-36E1B3B8CFE8} + TestHostApp + en-US + 14.0 + true + Windows Store + 10.0.18362.0 + 10.0.18362.0 + 10.0 + Tests\Data + true + Application + true + + + false + false + + + + + + + + + + + + + false + + + + + 4453;%(DisableSpecificWarnings) + %(AdditionalIncludeDirectories) + ;$(IntermediateOutputPath) + + INLINE_TEST_METHOD_MARKUP;%(PreprocessorDefinitions) + + + $(AdditionalDependencies);windowsapp.lib + false + + + + + + + UnitTestApp.xaml + + + + + Designer + + + + + Designer + + + + + UnitTestApp.xaml + + + Create + + + + + + + {CA5CAD1A-C46D-4588-B1C0-40F31AE9100B} + + + + + + {ca5cad1a-44bd-4ac7-ac72-f16e576fdd12} + + + + + + + <_TestBinRoot>$(OpenConsoleDir)\bin\$(Platform)\$(Configuration) + <_CppWinrtBinRoot>$(OpenConsoleDir)\$(Platform)\$(Configuration) + <_CppWinrtBinRoot Condition="'$(Platform)'=='Win32'">$(OpenConsoleDir)\$(Configuration) + <_TAEFPlatformName>$(Platform) + <_TAEFPlatformName Condition="'$(Platform)'=='Win32'">x86 + + + + + $(OpenConsoleDir)\packages\Taef.Redist.Wlk.10.48.200103003-develop\lib\Microsoft.VisualStudio.TestPlatform.TestExecutor.WinRTCore.winmd + true + + + ..\build\Binaries\$(_TAEFPlatformName)\TE.AppxUnitTestClient.dll + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml b/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml new file mode 100644 index 000000000..8cd18f278 --- /dev/null +++ b/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml @@ -0,0 +1,8 @@ + + + diff --git a/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml.cpp b/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml.cpp new file mode 100644 index 000000000..84b2ec584 --- /dev/null +++ b/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml.cpp @@ -0,0 +1,27 @@ +//----------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All Rights Reserved. +//----------------------------------------------------------- +#include "pch.h" + +namespace TestHostApp +{ + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + App::App() + { + InitializeComponent(); + } + + /// + /// Invoked when the application is launched normally by the end user. Other entry points + /// will be used such as when the application is launched to open a specific file. + /// + /// Details about the launch request and process. + void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs ^ e) + { + Windows::UI::Xaml::Window::Current->Activate(); + Microsoft::VisualStudio::TestPlatform::TestExecutor::WinRTCore::UnitTestClient::Run(e->Arguments); + } +} diff --git a/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml.h b/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml.h new file mode 100644 index 000000000..9385c7c33 --- /dev/null +++ b/src/cascadia/LocalTests_TerminalApp/TestHostApp/UnitTestApp.xaml.h @@ -0,0 +1,27 @@ +//----------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All Rights Reserved. +//----------------------------------------------------------- +#pragma once + +#include "UnitTestApp.g.h" + +// NOTE: 03-Jan-2020 +// This class is horrifyingly defined in CX, _NOT_ CppWinrt. It was largely +// taken straight from the TAEF sample code. However, it does _work_, and it's +// not about to be changed ever, so it's not worth the effort to try and port it +// to cppwinrt at this time. + +namespace TestHostApp +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + ref class App sealed + { + protected: + virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs ^ e) override; + + internal : + App(); + }; +} diff --git a/src/cascadia/LocalTests_TerminalApp/TestHostApp/pch.cpp b/src/cascadia/LocalTests_TerminalApp/TestHostApp/pch.cpp new file mode 100644 index 000000000..f3963b9b1 --- /dev/null +++ b/src/cascadia/LocalTests_TerminalApp/TestHostApp/pch.cpp @@ -0,0 +1,6 @@ +// +// pch.cpp +// Include the standard header and generate the precompiled header. +// + +#include "pch.h" diff --git a/src/cascadia/LocalTests_TerminalApp/TestHostApp/pch.h b/src/cascadia/LocalTests_TerminalApp/TestHostApp/pch.h new file mode 100644 index 000000000..a93dfbbd7 --- /dev/null +++ b/src/cascadia/LocalTests_TerminalApp/TestHostApp/pch.h @@ -0,0 +1,8 @@ +// +// pch.h +// Header for standard system include files. +// + +#pragma once + +#include "UnitTestApp.xaml.h" diff --git a/src/cascadia/LocalTests_TerminalApp/pch.h b/src/cascadia/LocalTests_TerminalApp/pch.h index 708a88b53..a46986925 100644 --- a/src/cascadia/LocalTests_TerminalApp/pch.h +++ b/src/cascadia/LocalTests_TerminalApp/pch.h @@ -48,6 +48,8 @@ Author(s): #include #include #include +#include +#include #include diff --git a/src/cascadia/TerminalApp/CascadiaSettings.h b/src/cascadia/TerminalApp/CascadiaSettings.h index 983840673..9c5daecb9 100644 --- a/src/cascadia/TerminalApp/CascadiaSettings.h +++ b/src/cascadia/TerminalApp/CascadiaSettings.h @@ -29,6 +29,7 @@ namespace TerminalAppLocalTests class ProfileTests; class ColorSchemeTests; class KeyBindingsTests; + class TabTests; }; namespace TerminalAppUnitTests { @@ -119,5 +120,6 @@ private: friend class TerminalAppLocalTests::ProfileTests; friend class TerminalAppLocalTests::ColorSchemeTests; friend class TerminalAppLocalTests::KeyBindingsTests; + friend class TerminalAppLocalTests::TabTests; friend class TerminalAppUnitTests::DynamicProfileTests; }; diff --git a/src/cascadia/TerminalApp/TerminalPage.h b/src/cascadia/TerminalApp/TerminalPage.h index bca63fd2d..10278ac72 100644 --- a/src/cascadia/TerminalApp/TerminalPage.h +++ b/src/cascadia/TerminalApp/TerminalPage.h @@ -12,6 +12,12 @@ #include #include +// fwdecl unittest classes +namespace TerminalAppLocalTests +{ + class TabTests; +}; + namespace winrt::TerminalApp::implementation { struct TerminalPage : TerminalPageT @@ -159,6 +165,8 @@ namespace winrt::TerminalApp::implementation void _HandleResetFontSize(const IInspectable& sender, const TerminalApp::ActionEventArgs& args); void _HandleToggleFullscreen(const IInspectable& sender, const TerminalApp::ActionEventArgs& args); #pragma endregion + + friend class TerminalAppLocalTests::TabTests; }; } diff --git a/src/common.build.tests.props b/src/common.build.tests.props index 4b3e2187c..8e311fe52 100644 --- a/src/common.build.tests.props +++ b/src/common.build.tests.props @@ -5,11 +5,11 @@ UNIT_TESTING;%(PreprocessorDefinitions) - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + diff --git a/src/host/ft_uia/Host.Tests.UIA.csproj b/src/host/ft_uia/Host.Tests.UIA.csproj index 62136016e..27da40d9e 100644 --- a/src/host/ft_uia/Host.Tests.UIA.csproj +++ b/src/host/ft_uia/Host.Tests.UIA.csproj @@ -53,7 +53,7 @@ - ..\..\..\packages\Taef.Redist.Wlk.10.38.190610001-uapadmin\lib\net45\TE.Managed.dll + ..\..\..\packages\Taef.Redist.Wlk.10.48.200103003-develop\lib\net45\TE.Managed.dll @@ -64,10 +64,10 @@ ..\..\..\packages\Selenium.Support.3.5.0\lib\net40\WebDriver.Support.dll - ..\..\..\packages\Taef.Redist.Wlk.10.38.190610001-uapadmin\lib\net45\Wex.Common.Managed.dll + ..\..\..\packages\Taef.Redist.Wlk.10.48.200103003-develop\lib\net45\Wex.Common.Managed.dll - ..\..\..\packages\Taef.Redist.Wlk.10.38.190610001-uapadmin\lib\net45\Wex.Logger.Interop.dll + ..\..\..\packages\Taef.Redist.Wlk.10.48.200103003-develop\lib\net45\Wex.Logger.Interop.dll @@ -142,11 +142,11 @@ copy $(SolutionDir)\dep\WinAppDriver\* $(OutDir)\ - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + diff --git a/src/host/ft_uia/packages.config b/src/host/ft_uia/packages.config index ba53f7a07..5748a55a6 100644 --- a/src/host/ft_uia/packages.config +++ b/src/host/ft_uia/packages.config @@ -5,5 +5,5 @@ - + diff --git a/src/terminal/parser/ut_parser/packages.config b/src/terminal/parser/ut_parser/packages.config index 525e3e670..4d24d7785 100644 --- a/src/terminal/parser/ut_parser/packages.config +++ b/src/terminal/parser/ut_parser/packages.config @@ -1,4 +1,4 @@  - + diff --git a/tools/OpenConsole.psm1 b/tools/OpenConsole.psm1 index 90c1c63de..d2a085b91 100644 --- a/tools/OpenConsole.psm1 +++ b/tools/OpenConsole.psm1 @@ -181,14 +181,17 @@ function Invoke-OpenConsoleTests() return } $OpenConsolePlatform = $Platform + $TestHostAppPath = "$env:OpenConsoleRoot\$OpenConsolePlatform\$Configuration\TestHostApp" if ($Platform -eq 'x86') { $OpenConsolePlatform = 'Win32' + $TestHostAppPath = "$env:OpenConsoleRoot\$Configuration\TestHostApp" } $OpenConsolePath = "$env:OpenConsoleroot\bin\$OpenConsolePlatform\$Configuration\OpenConsole.exe" $RunTePath = "$env:OpenConsoleRoot\tools\runte.cmd" - $TaefExePath = "$env:OpenConsoleRoot\packages\Taef.Redist.Wlk.10.38.190610001-uapadmin\build\Binaries\$Platform\te.exe" + $TaefExePath = "$env:OpenConsoleRoot\packages\Taef.Redist.Wlk.10.48.200103003-develop\build\Binaries\$Platform\te.exe" $BinDir = "$env:OpenConsoleRoot\bin\$OpenConsolePlatform\$Configuration" + [xml]$TestConfig = Get-Content "$env:OpenConsoleRoot\tools\tests.xml" # check if WinAppDriver needs to be started @@ -222,6 +225,11 @@ function Invoke-OpenConsoleTests() { if ($t.type -eq "unit") { + if ($t.runInHostApp -eq "true") + { + & $TaefExePath "$TestHostAppPath\$($t.binary)" $TaefArgs + } + & $TaefExePath "$BinDir\$($t.binary)" $TaefArgs } elseif ($t.type -eq "ft") diff --git a/tools/razzle.cmd b/tools/razzle.cmd index e755eb95b..18cc2dadd 100644 --- a/tools/razzle.cmd +++ b/tools/razzle.cmd @@ -104,7 +104,7 @@ shift goto :ARGS_LOOP :POST_ARGS_LOOP -set TAEF=%OPENCON%\packages\Taef.Redist.Wlk.10.38.190610001-uapadmin\build\Binaries\%ARCH%\TE.exe +set TAEF=%OPENCON%\packages\Taef.Redist.Wlk.10.48.200103003-develop\build\Binaries\%ARCH%\TE.exe rem Set this envvar so setup won't repeat itself set OpenConBuild=true diff --git a/tools/runut.cmd b/tools/runut.cmd index 432048793..fd3c7084f 100644 --- a/tools/runut.cmd +++ b/tools/runut.cmd @@ -3,6 +3,16 @@ rem Run the console unit tests. rem Keep this file in sync with tests.xml +rem The TerminalApp.LocalTests are actually run from the TestHostApp path. +rem That's a cppwinrt project, that doesn't use %PLATFORM% in it's path when the +rem platform is Win32/x86. +rem set a helper for us to find that test + +set _TestHostAppPath=%OPENCON%\%PLATFORM%\%_LAST_BUILD_CONF%\TestHostApp +if "%PLATFORM%" == "Win32" ( + set _TestHostAppPath=%OPENCON%\%_LAST_BUILD_CONF%\TestHostApp +) + call %TAEF% ^ %OPENCON%\bin\%PLATFORM%\%_LAST_BUILD_CONF%\Conhost.Unit.Tests.dll ^ %OPENCON%\bin\%PLATFORM%\%_LAST_BUILD_CONF%\TextBuffer.Unit.Tests.dll ^ @@ -13,5 +23,6 @@ call %TAEF% ^ %OPENCON%\bin\%PLATFORM%\%_LAST_BUILD_CONF%\Types.Unit.Tests.dll ^ %OPENCON%\bin\%PLATFORM%\%_LAST_BUILD_CONF%\til.unit.tests.dll ^ %OPENCON%\bin\%PLATFORM%\%_LAST_BUILD_CONF%\UnitTests_TerminalApp\Terminal.App.Unit.Tests.dll ^ - %OPENCON%\bin\%PLATFORM%\%_LAST_BUILD_CONF%\LocalTests_TerminalApp\TerminalApp.LocalTests.dll ^ + %_TestHostAppPath%\TerminalApp.LocalTests.dll ^ %* + diff --git a/tools/tests.xml b/tools/tests.xml index 9239d47e1..437145b05 100644 --- a/tools/tests.xml +++ b/tools/tests.xml @@ -4,7 +4,7 @@ - +