diff --git a/build/AzurePipelinesTemplates/WindowsAppSDK-BuildAndTestMRT-Steps.yml b/build/AzurePipelinesTemplates/WindowsAppSDK-BuildAndTestMRT-Steps.yml index b1c9d49a47..f6b807f216 100644 --- a/build/AzurePipelinesTemplates/WindowsAppSDK-BuildAndTestMRT-Steps.yml +++ b/build/AzurePipelinesTemplates/WindowsAppSDK-BuildAndTestMRT-Steps.yml @@ -18,6 +18,7 @@ steps: artifactName: binlogs # Run the test locally on the Azure VM. +# Note arm is currently not exercised. - task: VSTest@2 displayName: 'test MRT: ManagedTests' condition: and(succeeded(), or(eq(variables['buildPlatform'], 'x86'), eq(variables['buildPlatform'], 'x64'))) @@ -31,7 +32,10 @@ steps: - task: VSTest@2 displayName: 'test MRT: UnitTests' - condition: and(succeeded(), or(eq(variables['buildPlatform'], 'x86'), eq(variables['buildPlatform'], 'x64'))) + # These 3 MRT test suites were previously being run in Helix, but they are now being run via WindowsAppSDK-RunTestsInPipeline-Job.yml instead. + # Resort to running these tests right here on the current job agent if and only if we've got here from ProjectReunion-CI.yml, because we won't + # be running these tests via WindowsAppSDK-RunTestsInPipeline-Job.yml later in this specific flow. Otherwise, we can generally skip these tests. + condition: and(and(succeeded(), or(eq(variables['buildPlatform'], 'x86'), eq(variables['buildPlatform'], 'x64'))), in(variables['Build.Reason'], 'IndividualCI', 'BatchCI')) inputs: testSelector: 'testAssemblies' testAssemblyVer2: '**\MrmUnitTest.dll' @@ -42,7 +46,7 @@ steps: - task: VSTest@2 displayName: 'test MRT: BaseUnitTests' - condition: and(succeeded(), or(eq(variables['buildPlatform'], 'x86'), eq(variables['buildPlatform'], 'x64'))) + condition: and(and(succeeded(), or(eq(variables['buildPlatform'], 'x86'), eq(variables['buildPlatform'], 'x64'))), in(variables['Build.Reason'], 'IndividualCI', 'BatchCI')) inputs: testSelector: 'testAssemblies' testAssemblyVer2: '**\MrmBaseUnitTests.dll' @@ -53,7 +57,7 @@ steps: - task: VSTest@2 displayName: 'test MRT: UnpackagedTests' - condition: and(succeeded(), or(eq(variables['buildPlatform'], 'x86'), eq(variables['buildPlatform'], 'x64'))) + condition: and(and(succeeded(), or(eq(variables['buildPlatform'], 'x86'), eq(variables['buildPlatform'], 'x64'))), in(variables['Build.Reason'], 'IndividualCI', 'BatchCI')) inputs: testSelector: 'testAssemblies' testAssemblyVer2: '**\MRTCoreUnpackagedTests.dll' diff --git a/build/AzurePipelinesTemplates/WindowsAppSDK-RunHelixTests-Job.yml b/build/AzurePipelinesTemplates/WindowsAppSDK-RunHelixTests-Job.yml deleted file mode 100644 index ca9dba0728..0000000000 --- a/build/AzurePipelinesTemplates/WindowsAppSDK-RunHelixTests-Job.yml +++ /dev/null @@ -1,252 +0,0 @@ -parameters: - jobName: 'RunTestsInHelix' - dependsOn: '' - condition: '' - maxParallel: 10 - matrix: - Release_x86: - buildPlatform: 'x86' - buildConfiguration: 'Release' - Release_x64: - buildPlatform: 'x64' - buildConfiguration: 'Release' - -jobs: -- job: ${{ parameters.jobName }} - dependsOn: ${{ parameters.dependsOn }} - condition: ${{ parameters.condition }} - pool: - vmImage: 'windows-2022' - timeoutInMinutes: 80 - strategy: - maxParallel: ${{ parameters.maxParallel }} - matrix: ${{ parameters.matrix }} - variables: - # This version number should be kept in sync with the value in these files: - # build\Helix\packages.config - # test\WindowsAppSDK.Helix.TestCommon\WindowsAppSDK.Helix.TestCommon.csproj - winUIHelixVer: 0.5.4 - winUIHelixPipelineScripts: build\Helix\packages\Microsoft.Internal.WinUI.Helix.$(winUIHelixVer)\scripts\pipeline - - # The target queues to run the tests on. - # Note: %3b is the escape sequence for ';' which is used as the delimiter - helixTargetQueuesOpen: 'Windows.10.Amd64.ClientRS5.Open.reunion%3bWindows.10.Amd64.Client20h2.Open.reunion%3bWindows.10.Amd64.Client.Open.reunion%3bwindows.11.amd64.client.open.reunion' - helixTargetQueuesClosed: 'windows.10.amd64.client20h2.reunion%3bwindows.10.amd64.clientrs5.reunion%3bWindows.10.Amd64.Client.reunion%3bWindows.11.Amd64.client.Reunion' - - # When a test fails, it is re-run 10 times. This variable specifies how many times out of 10 it is required to pass - rerunPassesRequiredToAvoidFailure: 8 - - # This must be unique for each test pass that is run in a given Pipeline execution. - helixType: devtest.$(buildPlatform).$(buildConfiguration) - - helixTestOutputBaseDir: $(Build.SourcesDirectory)\HelixTestOutput - helixTestOutputDir: $(helixTestOutputBaseDir)\$(buildConfiguration)\$(buildPlatform) - - # This directory contains the Test payload, Helix test binaries and scripts. It is sent to the Helix machines. - # Note: TAEF must be present in this directory, as GenerateHelixWorkItems.ps1 expects to invoke te.exe from here. - # We download the BuildOutput artifact from the prior build stage(s) under this path. - # However, the artifacts also has it's down folder structure, which makes the resulting directory structure look like this: - # $(Build.SourcesDirectory)\BuildOutput\$(buildConfiguration)\$(buildPlatform)\HelixTests\BuildOutput\$(buildConfiguration)\$(buildPlatform) - testPayloadDir: $(Build.SourcesDirectory)\BuildOutput\$(buildConfiguration)\$(buildPlatform)\HelixTests - - # The generated .proj files are placed here. - helixWorkItemsDir: $(Build.SourcesDirectory)\build\Helix\GeneratedWorkItems - - # Shared arguments for both open and closed Helix queues. - helixCommonArgs: '/p:HelixBuild=$(Build.BuildId).$(buildPlatform).$(buildConfiguration) /p:Platform=$(buildPlatform) /p:Configuration=$(buildConfiguration) /p:TestPayloadDir=$(testPayloadDir) /p:HelixType=$(helixType) /p:rerunPassesRequiredToAvoidFailure=$(rerunPassesRequiredToAvoidFailure)' - - steps: - - task: CmdLine@1 - displayName: 'Display build machine environment variables' - inputs: - filename: 'set' - - - task: NuGetToolInstaller@1 - - - task: NuGetAuthenticate@1 - - - task: powershell@2 - displayName: 'DevCheck: Setup/Verify development environment' - inputs: - targetType: filePath - filePath: DevCheck.ps1 - arguments: -NoInteractive -Offline -Verbose -CertPassword 'BuildPipeline' -CheckTestPfx -Clean -CheckDependencies - workingDirectory: '$(Build.SourcesDirectory)' - - - task: powershell@2 - displayName: 'Install test certificate for MSIX test packages (DevCheck)' - inputs: - targetType: filePath - filePath: DevCheck.ps1 - arguments: -NoInteractive -Offline -Verbose -CheckTestCert - workingDirectory: '$(Build.SourcesDirectory)' - - - template: WindowsAppSDK-BuildSolution-Steps.yml - parameters: - displayName: WindowsAppSDK.Helix.Test - solutionPath: test\WindowsAppSDK.Helix.Test\WindowsAppSDK.Helix.Test.sln - - # Note: 'NuGetCommand@2' is ambiguous so the specific task GUID must be used instead. - - task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2 - displayName: 'NuGet restore build/Helix/packages.config' - inputs: - command: 'restore' - restoreSolution: build/Helix/packages.config - feedsToUse: config - nugetConfigPath: nuget.config - restoreDirectory: packages - - # Download the BuildOutput from the Build stage(s). - # We only bring down the relevant content for this build config (Debug/Release) & platform, to save some space and time. - - task: DownloadBuildArtifacts@0 - displayName: 'Download: BuildOutput' - inputs: - artifactName: 'BuildOutput' - downloadPath: $(testPayloadDir) - itemPattern: 'BuildOutput/$(buildConfiguration)/$(buildPlatform)/**/*' - - # Discover the TAEF test binaries to run and generate the Helix Work Items for them. - # Note: There are 4 test suites for MRT Core. We currently run 3 of them in Helix. - - task: powershell@2 - displayName: 'Discover MRT Core UnitTests' - inputs: - targetType: filePath - filePath: $(winUIHelixPipelineScripts)\GenerateHelixWorkItems.ps1 - arguments: -TestFilePattern 'BuildOutput\$(buildConfiguration)\$(buildPlatform)\MrmUnitTest\*.dll' -TestBinaryDirectoryPath '$(testPayloadDir)' -OutputProjFile '$(helixWorkItemsDir)\MrtCore-MrmUnitTests.proj' -WorkItemPrefix 'MrtCore.MrmUnitTests.$(buildPlatform).$(buildConfiguration)' -TestNamePrefix 'MrtCore.MrmUnitTests.$(buildPlatform).$(buildConfiguration)' - - - task: powershell@2 - displayName: 'Discover MRT Core BaseUnitTests' - inputs: - targetType: filePath - filePath: $(winUIHelixPipelineScripts)\GenerateHelixWorkItems.ps1 - arguments: -TestFilePattern 'BuildOutput\$(buildConfiguration)\$(buildPlatform)\MrmBaseUnitTests\*.dll' -TestBinaryDirectoryPath '$(testPayloadDir)' -OutputProjFile '$(helixWorkItemsDir)\MrtCore-MrmBaseUnitTests.proj' -WorkItemPrefix 'MrtCore.MrmBaseUnitTests.$(buildPlatform).$(buildConfiguration)' -TestNamePrefix 'MrtCore.MrmBaseUnitTests.$(buildPlatform).$(buildConfiguration)' - - - task: powershell@2 - displayName: 'Discover MRT Core UnpackagedTests' - inputs: - targetType: filePath - filePath: $(winUIHelixPipelineScripts)\GenerateHelixWorkItems.ps1 - arguments: -TestFilePattern 'BuildOutput\$(buildConfiguration)\$(buildPlatform)\MrtCoreUnpackagedTests\*.dll' -TestBinaryDirectoryPath '$(testPayloadDir)' -OutputProjFile '$(helixWorkItemsDir)\MrtCore-MrtCoreUnpackagedTests.proj' -WorkItemPrefix 'MrtCore.MrtCoreUnpackagedTests.$(buildPlatform).$(buildConfiguration)' -TestNamePrefix 'MrtCore.MrtCoreUnpackagedTests.$(buildPlatform).$(buildConfiguration)' - - # In Helix, test folders are under subfolders of TAEF. MRTCore UnpackagedTests use reg-free WinRT activation. It requires the winmd file - # under same folder as the executable. - - task: CopyFiles@2 - displayName: 'Copy Microsoft.Windows.ApplicationModel.Resources.winmd to test root' - inputs: - sourceFolder: $(testPayloadDir)\BuildOutput\$(buildConfiguration)\$(buildPlatform)\MrtCoreUnpackagedTests - contents: | - Microsoft.Windows.ApplicationModel.Resources.winmd - targetFolder: $(testPayloadDir) - - # TODO: This test needs to be converted to TAEF to run in Helix. - # - task: powershell@2 - # displayName: 'Discover MRT Core Managed tests' - # inputs: - # targetType: filePath - # filePath: $(winUIHelixPipelineScripts)\GenerateHelixWorkItems.ps1 - # arguments: -TestFilePattern 'mrtcore_test_binaries_x64\MrtCoreManagedTest\*.dll' -TestBinaryDirectoryPath '$(testPayloadDir)' -OutputProjFile '$(helixWorkItemsDir)\MrtCore-MrtCoreManagedTest.proj' -WorkItemPrefix 'MrtCore-MrtCoreManagedTest-$(buildPlatform)-$(buildConfiguration)' -TestNamePrefix 'MrtCore.MrtCoreManagedTest.$(buildPlatform).$(buildConfiguration)' - - # Publish the generated test work items (*.proj file) as Pipeline artifact(s). - # This is not required, but it is useful for debugging purposes to see what tests were discovered. - - task: PublishBuildArtifacts@1 - displayName: 'Publish generated test work items' - inputs: - PathtoPublish: $(helixWorkItemsDir) - artifactName: HelixWorkItems_$(buildPlatform)_$(buildConfiguration) - - - task: NuGetToolInstaller@1 - - - task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2 - displayName: 'NuGet restore Helix/RunTestsInHelix.proj' - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - inputs: - restoreSolution: build\Helix\RunTestsInHelix.proj - feedsToUse: config - nugetConfigPath: nuget.config - restoreDirectory: packages - - # Run the tests in Helix - # By executing 'dotnet msbuild' against RunTestsInHelix.proj the test payload and the work items to execute get sent to Helix. - - task: DotNetCoreCLI@2 - displayName: 'Run tests in Helix (open queues)' - condition: and(succeeded(), eq(variables['System.CollectionUri'],'https://dev.azure.com/ms/')) - timeoutInMinutes: 45 - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - inputs: - command: custom - projects: build\Helix\RunTestsInHelix.proj - custom: msbuild - arguments: '$(helixCommonArgs) /p:IsExternal=true /p:Creator=WindowsAppSDK /p:HelixTargetQueues=$(helixTargetQueuesOpen)' - - - task: DotNetCoreCLI@2 - displayName: 'Run tests in Helix (closed queues)' - condition: and(succeeded(), ne(variables['System.CollectionUri'],'https://dev.azure.com/ms/')) - timeoutInMinutes: 45 - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - HelixAccessToken: $(HelixApiAccessToken) - inputs: - command: custom - projects: build\Helix\RunTestsInHelix.proj - custom: msbuild - arguments: '$(helixCommonArgs) /p:HelixTargetQueues=$(helixTargetQueuesClosed)' - - # This script updates the test results based on the retry logic. It updates the test results in the Pipeline to show 'sub results' in cases where a test was re-run. - - task: powershell@2 - displayName: 'UpdateUnreliableTests.ps1' - condition: succeededOrFailed() - timeoutInMinutes: 15 - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - HelixAccessToken: $(HelixApiAccessToken) - inputs: - targetType: filePath - filePath: $(winUIHelixPipelineScripts)\UpdateUnreliableTests.ps1 - arguments: -RerunPassesRequiredToAvoidFailure $(rerunPassesRequiredToAvoidFailure) -HelixTypeJobFilter $(helixType) - - # This outputs any failed test to the build log. It is not required, but it makes it easier to see at a glance what failed. - - task: powershell@2 - displayName: 'OutputTestResults.ps1' - condition: succeededOrFailed() - timeoutInMinutes: 15 - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - HelixAccessToken: $(HelixApiAccessToken) - inputs: - targetType: filePath - filePath: $(winUIHelixPipelineScripts)\OutputTestResults.ps1 - arguments: -HelixTypeJobFilter $(helixType) - - # This downloads files from Helix so that they can be published as a Pipeline artifact. This makes debugging test failures a lot easier since the - # full logs and any supporting files can be downloaded from the Pipeline. - - task: powershell@2 - displayName: 'ProcessHelixFiles.ps1' - condition: succeededOrFailed() - timeoutInMinutes: 15 - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - HelixAccessToken: $(HelixApiAccessToken) - inputs: - targetType: filePath - filePath: $(winUIHelixPipelineScripts)\ProcessHelixFiles.ps1 - # Remove -ProcessAllJobs to only download the files from work items with failing tests - arguments: -OutputFolder '$(helixTestOutputDir)' -ProcessAllJobs -HelixTypeJobFilter $(helixType) - errorActionPreference: continue - failOnStderr: false - - - task: PublishBuildArtifacts@1 - displayName: 'Publish Helix files' - condition: succeededOrFailed() - inputs: - PathtoPublish: $(helixTestOutputBaseDir) - artifactName: HelixTestOutput_$(buildPlatform)_$(buildConfiguration) - - - task: powershell@2 - displayName: 'Remove test certificate for MSIX test packages (DevCheck)' - inputs: - targetType: filePath - filePath: DevCheck.ps1 - arguments: -NoInteractive -Offline -Verbose -RemoveTestCert -RemoveTestPfx - workingDirectory: '$(Build.SourcesDirectory)' diff --git a/build/Helix/RunTestsInHelix.proj b/build/Helix/RunTestsInHelix.proj deleted file mode 100644 index 3b02d147a4..0000000000 --- a/build/Helix/RunTestsInHelix.proj +++ /dev/null @@ -1,31 +0,0 @@ - - - pr/WindowsAppSDK/$(BUILD_SOURCEBRANCH)/ - $(HelixType) - true - true - true - - - $(HelixPreCommands);set rerunPassesRequiredToAvoidFailure=$(rerunPassesRequiredToAvoidFailure) - - - - - $(HelixTargetQueues) - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/build/Helix/global.json b/build/Helix/global.json deleted file mode 100644 index 99e69e70c6..0000000000 --- a/build/Helix/global.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "msbuild-sdks": { - "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.20529.1" - } -} \ No newline at end of file diff --git a/build/Helix/packages.config b/build/Helix/packages.config deleted file mode 100644 index eddea8851d..0000000000 --- a/build/Helix/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/build/ProjectReunion-BuildFoundation.yml b/build/ProjectReunion-BuildFoundation.yml index bac3d67572..8bc2c0fad2 100644 --- a/build/ProjectReunion-BuildFoundation.yml +++ b/build/ProjectReunion-BuildFoundation.yml @@ -266,15 +266,6 @@ jobs: PathtoPublish: '$(build.SourcesDirectory)\BuildOutput' artifactName: 'BuildOutput' -- template: AzurePipelinesTemplates\WindowsAppSDK-RunHelixTests-Job.yml - parameters: - jobName: 'TestInHelix' - dependsOn: - - Build - - BuildAnyCPU - - BuildAndTestMRT - condition: eq(variables['Build.SourceBranch'], 'refs/heads/develop') - # Arm64 uses a different VM type than x64, thus requiring them to be in different # pools, hence, we spilt the two scenarios into separate jobs. - template: AzurePipelinesTemplates\WindowsAppSDK-RunTestsInPipeline-Job.yml @@ -296,9 +287,6 @@ jobs: pool: ProjectReunionESPool-2022 timeoutInMinutes: 120 dependsOn: - - ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/develop') }}: - - TestInHelix - - ${{ if ne(variables['Build.SourceBranch'], 'refs/heads/develop') }}: - Build - BuildAnyCPU - BuildAndTestMRT diff --git a/build/ProjectReunion-CI.yml b/build/ProjectReunion-CI.yml index 24a6fea4c8..cea47a175c 100644 --- a/build/ProjectReunion-CI.yml +++ b/build/ProjectReunion-CI.yml @@ -143,13 +143,8 @@ jobs: artifactName: BuildOutput PathtoPublish: '$(buildOutputDir)' -- template: AzurePipelinesTemplates\WindowsAppSDK-RunHelixTests-Job.yml - parameters: - name: 'RunTestsInHelix' - dependsOn: - - Build - - BuildMRT - condition: in(dependencies.Build.result, 'Succeeded', 'SucceededWithIssues') +# We no longer run MRT tests in Helix here, due to dwindling Helix support. But one MRT test suite +# is still being run in WindowsAppSDK-BuildAndTestMRT-Steps.yml. - job: StageAndPack pool: @@ -188,7 +183,6 @@ jobs: [xml]$publicNuspec = Get-Content -Path $(Build.SourcesDirectory)\build\NuSpecs\Microsoft.WindowsAppSDK.Foundation.nuspec $publicNuspec.package.metadata.version = $packageVersion Set-Content -Value $publicNuspec.OuterXml $(Build.SourcesDirectory)\build\NuSpecs\Microsoft.WindowsAppSDK.Foundation.nuspec - - task: PowerShell@2 name: PackNuget inputs: diff --git a/dev/MRTCore/mrt/Core/unittests/MrmUnitTest.testdef b/dev/MRTCore/mrt/Core/unittests/MrmUnitTest.testdef new file mode 100644 index 0000000000..a778ee4e77 --- /dev/null +++ b/dev/MRTCore/mrt/Core/unittests/MrmUnitTest.testdef @@ -0,0 +1,11 @@ +{ + "Tests": [ + { + "Description": "Mrm Unit Tests (TAEF)", + "Filename": "MrmUnitTest.dll", + "Parameters": "", + "Architectures": ["x64", "x86", "arm64"], + "Status": "Enabled" + } + ] +} \ No newline at end of file diff --git a/dev/MRTCore/mrt/Core/unittests/MrmUnitTest.vcxproj b/dev/MRTCore/mrt/Core/unittests/MrmUnitTest.vcxproj index 971b924580..b7a5d90dcc 100644 --- a/dev/MRTCore/mrt/Core/unittests/MrmUnitTest.vcxproj +++ b/dev/MRTCore/mrt/Core/unittests/MrmUnitTest.vcxproj @@ -212,4 +212,7 @@ + + + diff --git a/dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/UnpackagedTests/MrtCoreUnpackagedTests.csproj b/dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/UnpackagedTests/MrtCoreUnpackagedTests.csproj index 7ac6024a4a..6217b310d0 100644 --- a/dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/UnpackagedTests/MrtCoreUnpackagedTests.csproj +++ b/dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/UnpackagedTests/MrtCoreUnpackagedTests.csproj @@ -1,4 +1,4 @@ - + @@ -104,4 +104,7 @@ --> + + + diff --git a/dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/UnpackagedTests/MrtCoreUnpackagedTests.testdef b/dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/UnpackagedTests/MrtCoreUnpackagedTests.testdef new file mode 100644 index 0000000000..8da7d5d469 --- /dev/null +++ b/dev/MRTCore/mrt/Microsoft.Windows.ApplicationModel.Resources/UnpackagedTests/MrtCoreUnpackagedTests.testdef @@ -0,0 +1,11 @@ +{ + "Tests": [ + { + "Description": "MRTCore Unpackaged Tests (TAEF)", + "Filename": "MrtCoreUnpackagedTests.dll", + "Parameters": "", + "Architectures": ["x64", "x86", "arm64"], + "Status": "Enabled" + } + ] +} diff --git a/dev/MRTCore/mrt/mrm/UnitTests/MrmBaseUnitTests.testdef b/dev/MRTCore/mrt/mrm/UnitTests/MrmBaseUnitTests.testdef new file mode 100644 index 0000000000..0090b3e06b --- /dev/null +++ b/dev/MRTCore/mrt/mrm/UnitTests/MrmBaseUnitTests.testdef @@ -0,0 +1,11 @@ +{ + "Tests": [ + { + "Description": "Mrm Base Unit Tests (TAEF)", + "Filename": "MrmBaseUnitTests.dll", + "Parameters": "", + "Architectures": ["x64", "x86", "arm64"], + "Status": "Enabled" + } + ] +} diff --git a/dev/MRTCore/mrt/mrm/UnitTests/MrmBaseUnitTests.vcxproj b/dev/MRTCore/mrt/mrm/UnitTests/MrmBaseUnitTests.vcxproj index 3916b944d4..50e7979252 100644 --- a/dev/MRTCore/mrt/mrm/UnitTests/MrmBaseUnitTests.vcxproj +++ b/dev/MRTCore/mrt/mrm/UnitTests/MrmBaseUnitTests.vcxproj @@ -1,4 +1,4 @@ - + @@ -242,4 +242,7 @@ + + + diff --git a/test/WindowsAppSDK.Helix.Test.NetCore/Program.cs b/test/WindowsAppSDK.Helix.Test.NetCore/Program.cs deleted file mode 100644 index 31f622f4dc..0000000000 --- a/test/WindowsAppSDK.Helix.Test.NetCore/Program.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -using System; - -namespace WindowsAppSDK.Helix.Test.App -{ - // This app justs exists as a convenient way to output the .net 5 runtime binaries to BuildOutput - class Program - { - static void Main(string[] args) - { - Console.WriteLine("Hello World!"); - } - } -} diff --git a/test/WindowsAppSDK.Helix.Test.NetCore/WindowsAppSDK.Helix.Test.NetCore.csproj b/test/WindowsAppSDK.Helix.Test.NetCore/WindowsAppSDK.Helix.Test.NetCore.csproj deleted file mode 100644 index 42859b8765..0000000000 --- a/test/WindowsAppSDK.Helix.Test.NetCore/WindowsAppSDK.Helix.Test.NetCore.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - Exe - net6.0 - win10-$(Platform) - win10-x86 - false - $(BaseOutputPath)\HelixTests\net6 - False - x86;x64;arm64 - - - diff --git a/test/WindowsAppSDK.Helix.Test/WindowsAppSDK.Helix.Test.sln b/test/WindowsAppSDK.Helix.Test/WindowsAppSDK.Helix.Test.sln deleted file mode 100644 index 4ca270e373..0000000000 --- a/test/WindowsAppSDK.Helix.Test/WindowsAppSDK.Helix.Test.sln +++ /dev/null @@ -1,51 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.2.32616.157 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WindowsAppSDK.Helix.TestCommon", "..\WindowsAppSDK.Helix.TestCommon\WindowsAppSDK.Helix.TestCommon.csproj", "{8F41529B-ECA3-4D71-9E3F-DE91D8103B78}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WindowsAppSDK.Helix.Test.NetCore", "..\WindowsAppSDK.Helix.Test.NetCore\WindowsAppSDK.Helix.Test.NetCore.csproj", "{F323A6C2-7CA1-4BE5-ACA2-310596FF1111}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|arm64 = Debug|arm64 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|arm64 = Release|arm64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Debug|arm64.ActiveCfg = Debug|arm64 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Debug|arm64.Build.0 = Debug|arm64 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Debug|x64.ActiveCfg = Debug|x64 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Debug|x64.Build.0 = Debug|x64 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Debug|x86.ActiveCfg = Debug|x86 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Debug|x86.Build.0 = Debug|x86 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Release|arm64.ActiveCfg = Release|arm64 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Release|arm64.Build.0 = Release|arm64 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Release|x64.ActiveCfg = Release|x64 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Release|x64.Build.0 = Release|x64 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Release|x86.ActiveCfg = Release|x86 - {8F41529B-ECA3-4D71-9E3F-DE91D8103B78}.Release|x86.Build.0 = Release|x86 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Debug|arm64.ActiveCfg = Debug|arm64 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Debug|arm64.Build.0 = Debug|arm64 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Debug|x64.ActiveCfg = Debug|x64 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Debug|x64.Build.0 = Debug|x64 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Debug|x86.ActiveCfg = Debug|x86 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Debug|x86.Build.0 = Debug|x86 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Release|arm64.ActiveCfg = Release|arm64 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Release|arm64.Build.0 = Release|arm64 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Release|x64.ActiveCfg = Release|x64 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Release|x64.Build.0 = Release|x64 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Release|x86.ActiveCfg = Release|x86 - {F323A6C2-7CA1-4BE5-ACA2-310596FF1111}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {4BF140BF-237F-463C-A6D5-60538A9419DE} - EndGlobalSection -EndGlobal diff --git a/test/WindowsAppSDK.Helix.TestCommon/TestAssembly.cs b/test/WindowsAppSDK.Helix.TestCommon/TestAssembly.cs deleted file mode 100644 index 5bf3e9a772..0000000000 --- a/test/WindowsAppSDK.Helix.TestCommon/TestAssembly.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. All rights reserved. -// Licensed under the MIT License. See LICENSE in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using WEX.Logging.Interop; -using WEX.TestExecution; -using WEX.TestExecution.Markup; - -namespace WindowsAppSDK.TestCommon -{ - [TestClass] - class TestAssembly - { - [AssemblyInitialize] - // This attribute is used by GenerateHelixWorkItems.ps1 to control how it creates the work items. - // The default is CreateWorkItemPerModule - [TestProperty("HelixWorkItemCreation", "CreateWorkItemPerTestClass")] - [TestProperty("CoreClrProfile", "net6")] - [TestProperty("IsolationLevel", "Class")] - public static void AssemblyInitialize(TestContext testContext) - { - Log.Comment("AssemblyInitialize"); - } - } -} diff --git a/test/WindowsAppSDK.Helix.TestCommon/TestMachineSetup.cmd b/test/WindowsAppSDK.Helix.TestCommon/TestMachineSetup.cmd deleted file mode 100644 index 9e5dbab2d5..0000000000 --- a/test/WindowsAppSDK.Helix.TestCommon/TestMachineSetup.cmd +++ /dev/null @@ -1,2 +0,0 @@ -powershell -NonInteractive -ExecutionPolicy Bypass .\TestPass-OneTimeMachineSetupCore.ps1 -powershell -NonInteractive -ExecutionPolicy Bypass .\TestPass-PreRunCore.ps1 diff --git a/test/WindowsAppSDK.Helix.TestCommon/TestPass-EnsureMachineState.ps1 b/test/WindowsAppSDK.Helix.TestCommon/TestPass-EnsureMachineState.ps1 deleted file mode 100644 index bd38e843eb..0000000000 --- a/test/WindowsAppSDK.Helix.TestCommon/TestPass-EnsureMachineState.ps1 +++ /dev/null @@ -1,10 +0,0 @@ -Write-Host "TestPass-EnsureMachineState.ps1" - -# This script is run on the test machine before executing the tests. -# In the cases of failing tests getting re-run, this script is also run before the retries. - -# This script is called by TestPass-EnsureMachineStateCore.ps1 which is a part of the WinUI.Helix package. - -# It is a good place to add any code that ensures the machine is in a good state to run the tests. -# For example, if you know of a Windows process that might interfere with your tests, here is a good place -# to end that process. \ No newline at end of file diff --git a/test/WindowsAppSDK.Helix.TestCommon/TestPass-OneTimeMachineSetup.ps1 b/test/WindowsAppSDK.Helix.TestCommon/TestPass-OneTimeMachineSetup.ps1 deleted file mode 100644 index e30ce0b225..0000000000 --- a/test/WindowsAppSDK.Helix.TestCommon/TestPass-OneTimeMachineSetup.ps1 +++ /dev/null @@ -1,93 +0,0 @@ -Write-Host "TestPass-OneTimeMachineSetup.ps1" - -# This script is run once on a test machine. -# It is a good place to add any logic to install test dependencies, etc. - -# This script is called by TestPass-OneTimeMachineSetupCore.ps1 which is a part of the WinUI.Helix package. - -$packagesToFind = @( - "Microsoft.VCLibs.*.appx", - "Microsoft.NET.CoreRuntime.*.appx", - "Microsoft.NET.CoreFramework.*.appx", - "Microsoft.NET.Native.Framework.*.appx", - "Microsoft.NET.Native.Runtime.*.appx" -) - -foreach($pattern in $packagesToFind) -{ - foreach($package in (Get-ChildItem $pattern)) - { - Write-Host "Installing $package" - Add-AppxPackage $package -ErrorVariable appxerror -ErrorAction SilentlyContinue - if($appxerror) - { - foreach($error in $appxerror) - { - # In the case where the package does not install becasuse a higher version is already installed - # we don't want to print an error message, since that is just noise. Filter out such errors. - if(($error.Exception.Message -match "0x80073D06") -or ($error.Exception.Message -match "0x80073CFB")) - { - Write-Host "The same or higher version of this package is already installed." - } - else - { - Write-Error $error - } - } - } - } -} - -# Install any .cer files that were included in the payload: -foreach($cerFile in (Get-ChildItem "*.cer")) -{ - Write-Host "Adding cert '$cerFile'" - certutil -addstore TrustedPeople "$cerFile" -} - -if(Test-Path .\dotnet-windowsdesktop-runtime-installer.exe) -{ - Write-Host "Install dotnet runtime" - .\dotnet-windowsdesktop-runtime-installer.exe /quiet /install /norestart /log dotnetinstalllog.txt |Out-Null - Get-Content .\dotnetinstalllog.txt - if($env:HELIX_WORKITEM_UPLOAD_ROOT) - { - Copy-Item .\dotnetinstalllog.txt $env:HELIX_WORKITEM_UPLOAD_ROOT -Force - } -} - - -# If we set the registry from a 32-bit process on a 64-bit machine, we will set the "virtualized" syswow registry. -# For crash dump collection we always want to set the "native" registry, so we make sure to invoke the native cmd.exe -$nativeCmdPath = "$env:SystemRoot\system32\cmd.exe" -if([Environment]::Is64BitOperatingSystem -and ![Environment]::Is64BitProcess) -{ - # The "sysnative" path is a 'magic' path that allows a 32-bit process to invoke the native 64-bit cmd.exe. - $nativeCmdPath = "$env:SystemRoot\sysnative\cmd.exe" -} - -$dumpFolder = $env:HELIX_DUMP_FOLDER -if(!$dumpFolder) -{ - $dumpFolder = "C:\dumps" -} - -function Enable-CrashDumpsForProcesses { - Param([string[]]$namesOfProcessesForDumpCollection) - - foreach($procName in $namesOfProcessesForDumpCollection ) - { - Write-Host "Enabling local crash dumps for $procName" - & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpFolder /t REG_EXPAND_SZ /d $dumpFolder /f - & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpType /t REG_DWORD /d 2 /f - & $nativeCmdPath /c reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\$procName" /v DumpCount /t REG_DWORD /d 3 /f - } -} - -# Note: te.exe and te.processhost.exe are already enabled for dump collection by TestPass-OneTimeMachineSetupCore.ps1 - -# Enable dump collection for any additional apps/processes below: -$namesOfProcessesForDumpCollection = @( -) - -Enable-CrashDumpsForProcesses $namesOfProcessesForDumpCollection diff --git a/test/WindowsAppSDK.Helix.TestCommon/TestPass-PostRun.ps1 b/test/WindowsAppSDK.Helix.TestCommon/TestPass-PostRun.ps1 deleted file mode 100644 index eb38ad4e2c..0000000000 --- a/test/WindowsAppSDK.Helix.TestCommon/TestPass-PostRun.ps1 +++ /dev/null @@ -1,6 +0,0 @@ -Write-Host "TestPass-PostRun.ps1" - -# This script is run on the test machine for each work item that executes there. -# It runs after executing the tests. - -# This script is called by TestPass-PostRunCore.ps1 which is a part of the WinUI.Helix package. \ No newline at end of file diff --git a/test/WindowsAppSDK.Helix.TestCommon/TestPass-PreRun.ps1 b/test/WindowsAppSDK.Helix.TestCommon/TestPass-PreRun.ps1 deleted file mode 100644 index 5a1b44bff2..0000000000 --- a/test/WindowsAppSDK.Helix.TestCommon/TestPass-PreRun.ps1 +++ /dev/null @@ -1,7 +0,0 @@ -Write-Host "TestPass-PreRun.ps1" - -# This script is run on the test machine for each work item that executes there. -# It runs just before executing the test. - -# This script is called by TestPass-PreRunCore.ps1 which is a part of the WinUI.Helix package. - diff --git a/test/WindowsAppSDK.Helix.TestCommon/WindowsAppSDK.Helix.TestCommon.csproj b/test/WindowsAppSDK.Helix.TestCommon/WindowsAppSDK.Helix.TestCommon.csproj deleted file mode 100644 index b8dcabe47d..0000000000 --- a/test/WindowsAppSDK.Helix.TestCommon/WindowsAppSDK.Helix.TestCommon.csproj +++ /dev/null @@ -1,48 +0,0 @@ - - - - net6.0-windows10.0.18362 - win10-x86;win10-x64;win10-arm64 - $(BaseOutputPath)\HelixTests\ - False - x86;x64;arm64 - - - - - false - - - - - - - - - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - - - - - - - - - - \ No newline at end of file