Support TAEF testing in foundation pipeline (#3367)

* Initial commit

* Test run

* Update ProjectReunion-BuildFoundation.yml

* Update ProjectReunion-BuildFoundation.yml

* Update ProjectReunion-BuildFoundation.yml

* Update ProjectReunion-BuildFoundation.yml

* Update ProjectReunion-BuildFoundation.yml

* Update ProjectReunion-BuildFoundation.yml

* Learning yml

* Update ProjectReunion-BuildFoundation.yml

* Update WindowsAppSDK-RunTestsInPipeline-Job.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Run tests after the build phases

* Add dependency

* Update WindowsAppSDK-RunTestsInPipeline-Job.yml

* Update WindowsAppSDK-RunTestsInPipeline-Job.yml

* Update WindowsAppSDK-RunTestsInPipeline-Job.yml

* Update WindowsAppSDK-RunTestsInPipeline-Job.yml

* Update WindowsAppSDK-RunTestsInPipeline-Job.yml

* Move some folders around

* Trying 1 test

* Update TestAll.ps1

* Update TestAll.ps1

* Update TestAll.ps1

* Update TestAll.ps1

* Install VSWhere

* Update TestAll.ps1

* Give it internet

* Update DevCheck.ps1

* Update TestAll.ps1

* Update TestAll.ps1

* Update WindowsAppSDK-RunTests-Steps.yml

* Publish test stuff

* Install the cert

* Try to get TE.Service

* Update WindowsAppSDK-RunTests-Steps.yml

* Use Powershell task

* Update WindowsAppSDK-RunTests-Steps.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Trust in root

* Update WindowsAppSDK-RunTests-Steps.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Install dotnet/vcredist

* Update ProjectReunion-BuildFoundation.yml

* Update ProjectReunion-BuildFoundation.yml

* Update ProjectReunion-BuildFoundation.yml

* Update WindowsAppSDK-RunTests-Steps.yml

* Install VCLibs desktop

* Update ProjectReunion-BuildFoundation.yml

* Make it a string duh

* Testing test schema test

* Loop through current plat/config

* Cleanup scripts

* Update ProjectReunion-BuildFoundation.yml

* Address PR comments

* Move displayInfo

* Better practices in scripts

* Update DownloadVCRedistInstaller.ps1

* Only get installers for x64/x86

* Check architectures

* Addressing nits

* Update TestAll.ps1

* Add testdef to ProjectTemplate

* Add -List feature

* Update description

* Update DevCheck.ps1

* Match devcheck in develop

* Enable installers for arm64
This commit is contained in:
Paul Purifoy 2023-02-07 17:29:16 -08:00 коммит произвёл GitHub
Родитель c1bf4da226
Коммит d23991a0f0
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
14 изменённых файлов: 599 добавлений и 1 удалений

5
TestAll.cmd Normal file
Просмотреть файл

@ -0,0 +1,5 @@
@echo off
powershell -ExecutionPolicy Unrestricted -NoLogo -NoProfile -File %~dp0\TestAll.ps1 %*
exit /b %ERRORLEVEL%

132
TestAll.ps1 Normal file
Просмотреть файл

@ -0,0 +1,132 @@
<#
.SYNOPSIS
Run the TAEF dlls generated by WinAppSDK
.DESCRIPTION
The TestAll script will take the folder input and look for subfolders containing a .testdef file. WinAppSDK
components define a testdef with the following schema and runs the TAEF dll in the subfolder.
Example:
{
"Tests": [
{
"Description": "This module tests the push notifications component in WinAppSDK.",
"Filename": "PushNotificationTests.dll",
"Parameters": "",
"Architectures": ["x86", "x64", "arm64"],
"Status": "Enabled"
}
]
}
.PARAMETER OutputFolder
Set the base folder for the script to look for testdefs
.PARAMETER Platform
Only run tests for the selected platform
.PARAMETER Configuration
Only run tests the selected configuration
.PARAMETER List
List the tests available in BuildOutput with their settings
.PARAMETER Test
Runs the tests available in BuildOutput
#>
param(
[Parameter(Mandatory=$true)]
[string]$OutputFolder,
[Parameter(Mandatory=$true)]
[string]$Platform,
[Parameter(Mandatory=$true)]
[string]$Configuration,
[Parameter(Mandatory=$false)]
[Switch]$Test,
[Parameter(Mandatory=$false)]
[Switch]$List
)
$StartTime = Get-Date
$lastexitcode = 0
Set-StrictMode -Version 3.0
function Get-TaefTests
{
$configPlat = Join-Path $Configuration $Platform
$outputFolderPath = Join-Path $OutputFolder $configPlat
$tests = @()
foreach ($testdef in (Get-ChildItem -Recurse -Filter "*.testdef" $outputFolderPath))
{
$testJson = Get-Content -Raw $testdef.FullName | ConvertFrom-Json
$count = 0
$baseId = $testdef.BaseName
foreach ($testConfig in $testJson.Tests)
{
$id = $baseId + "-Test$count"
$t = [PSCustomObject]@{}
$t | Add-Member -MemberType NoteProperty -Name 'Test' -Value $id
$t | Add-Member -MemberType NoteProperty -Name 'Description' -Value $testConfig.Description
$t | Add-Member -MemberType NoteProperty -Name 'Filename' -Value $testConfig.Filename
$t | Add-Member -MemberType NoteProperty -Name 'Parameters' -Value $testConfig.Parameters
$t | Add-Member -MemberType NoteProperty -Name 'Architectures' -Value $testConfig.Architectures
$t | Add-Member -MemberType NoteProperty -Name 'Status' -Value $testConfig.Status
$t | Add-Member -MemberType NoteProperty -Name 'TestDef' -Value $testdef.FullName
$tests += $t
$count += 1
}
}
$tests
}
function List-TaefTests
{
$tests = Get-TaefTests
$tests | Sort-Object -Property Test | Format-Table Test,Description,Filename,Parameters,Architectures,Status -AutoSize | Out-Default
}
function Run-TaefTests
{
$tests = Get-TaefTests
foreach ($test in $tests)
{
Write-Host "$($test.Filename) - $($test.Description)"
$validPlatform = $test.Architectures.Contains($Platform)
$testEnabled = $test.Status -eq "Enabled"
if ($validPlatform -and $testEnabled)
{
$testFolder = Split-Path -parent $test.TestDef
$tePath = Join-Path $testFolder "te.exe"
$dllFile = Join-Path $testFolder $test.Filename
& $tePath $dllFile $test.Parameters
}
elseif (-not($validPlatform))
{
Write-Host "$Platform not listed in supported architectures."
}
elseif (-not($testEnabled))
{
Write-Host "Test is disabled. Not running."
}
}
}
if ($List -eq $true)
{
$null = List-TaefTests
}
if ($Test -eq $true)
{
Run-TaefTests
}
$TotalTime = (Get-Date)-$StartTime
$TotalMinutes = $TotalTime.Minutes
$TotalSeconds = $TotalTime.Seconds
Write-Host "Total Running Time: $TotalMinutes minutes and $TotalSeconds seconds"

Просмотреть файл

@ -0,0 +1,143 @@
parameters:
buildPlatform: ''
buildConfiguration: ''
ImageName: ''
TaefSelect: '*'
BinaryCompatSwitch: ''
testLocale: ''
steps:
# 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: $(Build.SourcesDirectory)\BuildOutput
# 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: Test dependencies'
inputs:
artifactName: 'packages'
downloadPath: $(Build.SourcesDirectory)
# 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: WinAppSDK Test Certificate'
inputs:
artifactName: 'TestCert'
downloadPath: $(Build.SourcesDirectory)\BuildOutput
- task: powerShell@2
displayName: 'Enable developer mode'
inputs:
targetType: 'inline'
script: |
$RegistryKeyPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock"
if (-not(Test-Path -Path $RegistryKeyPath))
{
New-Item -Path $RegistryKeyPath -ItemType Directory -Force
}
New-ItemProperty -Path $RegistryKeyPath -Name AllowDevelopmentWithoutDevLicense -PropertyType DWORD -Value 1 -Force
reg add HKLM\Software\Policies\Microsoft\Windows\Appx /v AllowDevelopmentWithoutDevLicense /t REG_DWORD /d 1 /f
- task: powerShell@2
displayName: 'Install certificates in payload'
inputs:
targetType: 'inline'
script: |
foreach($cerFile in (Get-ChildItem -Path '$(Build.SourcesDirectory)\BuildOutput' '*.cer' -Recurse))
{
Write-Host "Adding cert $($cerFile.FullName)"
certutil -addstore TrustedPeople $($cerFile.FullName)
certutil -addstore root $($cerFile.FullName)
}
- task: powerShell@2
displayName: 'Run dotnet installer'
inputs:
targetType: 'inline'
script: |
$(Build.SourcesDirectory)\packages\dotnet-windowsdesktop-runtime-installer.exe /quiet /install /norestart
- task: powerShell@2
displayName: 'Install VCLibs.Desktop'
inputs:
targetType: 'inline'
script: |
$package = "$(Build.SourcesDirectory)\packages\Microsoft.VCLibs.${{ parameters.buildPlatform }}.14.00.Desktop.appx"
Add-AppxPackage $package -ErrorAction SilentlyContinue
- task: powerShell@2
displayName: 'Install vc_redist'
inputs:
targetType: 'inline'
script: |
$(Build.SourcesDirectory)\packages\vc_redist.${{ parameters.buildPlatform }}.exe /quiet /install /norestart
- task: powershell@2
displayName: 'Run TE.Service'
inputs:
targetType: filePath
filePath: DevCheck.ps1
arguments: -NoInteractive -Offline -Verbose -CheckTAEFService
workingDirectory: '$(Build.SourcesDirectory)'
- task: VisualStudioTestPlatformInstaller@1
inputs:
versionSelector: latestStable
- task: PowerShell@2
displayName: Add test locale to User Language List
inputs:
targetType: 'inline'
script: |
$langToAdd = "${{ parameters.testLocale }}"
Write-Host "Adding $langToAdd to user language list"
$langList = Get-WinUserLanguageList
$langList.Insert(0, $langToAdd)
Set-WinUserLanguageList -LanguageList $langList -Force
Write-Host "Get-WinUserLanguageList:"
Get-WinUserLanguageList
- task: PowerShell@2
displayName: Display OS build/version/language info
inputs:
targetType: 'inline'
script: |
Get-Item -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion'
Write-Host (reg query "HKLM\SYSTEM\CurrentControlSet\Control\MUI" /s)
Write-Host (reg query "HKLM\SYSTEM\CurrentControlSet\Control\Nls" /s)
Write-Host (reg query "HKCU\Control Panel\International" /s)
Write-Host "Get-WmiObject -Class Win32_OperatingSystem"
$OSInfo = Get-WmiObject -Class Win32_OperatingSystem
$languagePacks = $OSInfo.MUILanguages
$languagePacks
Write-Host "dism /online /Get-Intl"
dism /online /Get-Intl
Write-Host "Get-WinUserLanguageList"
Get-WinUserLanguageList
Write-Host "Get-WinUILanguageOverride"
Get-WinUILanguageOverride
Write-Host "Get-WinSystemLocale"
Get-WinSystemLocale
- task: PowerShell@2
displayName: 'Run TAEF Tests'
inputs:
filePath: 'TestAll.ps1'
arguments: >
-OutputFolder "$(Build.SourcesDirectory)\BuildOutput\BuildOutput"
-Platform "${{ parameters.buildPlatform }}"
-Configuration "${{ parameters.buildConfiguration }}"
-Test
-List

Просмотреть файл

@ -0,0 +1,120 @@
# This runs the integration tests directly in the pipeline on the images hosted by the 'WinAppSDK-Test-Pool'.
# This pool is a 1ES Hosted Pool with custom images, which lets us run tests on builds beyond what is
# supported by Helix or the Azure DevOps Microsoft hosted agents. In case of arm64, we use the
# 'WinAppSDK-Test-Pool-Arm64' pool instead, and use parameter isArm64Platfrom to drive pool selection.
parameters:
- name: jobName
type: string
default: PipelineTests
- name: isArm64Platfrom
type: boolean
default: false
- name: dependsOn
type: object
default:
- ''
jobs:
- job: ${{ parameters.jobName }}
dependsOn: ${{ parameters.dependsOn }}
strategy:
# Debug/Release buildConfiguration below refers to the build of the tests/apps. The OS image bits are always Release build.
matrix:
# The test matrix for x64 is currently larger; this is where we exercise most variations.
${{ if not( parameters.isArm64Platfrom ) }}:
RS5_x86fre:
imageName: Windows.10.Enterprise.RS5
buildPlatform: x86
buildConfiguration: release
testLocale: en-US
19H2_de-DE_x64fre:
imageName: Windows.10.Enterprise.19H2.de-DE
buildPlatform: x86
buildConfiguration: release
testLocale: de-DE
20H2_x64fre:
imageName: Windows.10.Enterprise.20H2
buildPlatform: x64
buildConfiguration: release
testLocale: en-US
20H2_fr-FR_x64fre:
imageName: Windows.10.Enterprise.20H2.fr-FR
buildPlatform: x64
buildConfiguration: release
testLocale: fr-FR
20H2_zh-CN_x86fre:
imageName: Windows.10.Enterprise.20H2.zh-CN
buildPlatform: x86
buildConfiguration: release
testLocale: zh-CN
20H2_ja-JP_x64fre:
imageName: Windows.10.Enterprise.20H2.ja-JP
buildPlatform: x64
buildConfiguration: release
testLocale: ja-JP
21H1_x64fre:
imageName: Windows.10.Enterprise.21h1
buildPlatform: x64
buildConfiguration: release
testLocale: en-US
21H2_MS_x64fre:
imageName: Windows.11.Enterprise.MultiSession.21h2
buildPlatform: x64
buildConfiguration: release
testLocale: en-US
22H2_x86fre:
imageName: Windows.10.Enterprise.22h2
buildPlatform: x86
buildConfiguration: release
testLocale: en-US
co_refresh_x64fre:
imageName: co_refresh
buildPlatform: x64
buildConfiguration: release
testLocale: en-US
rs_prerelease_x64fre:
imageName: rs_prerelease
buildPlatform: x64
buildConfiguration: release
testLocale: en-US
Server22_DC_x64fre:
imageName: Windows.Server.2022.DataCenter.WestUS3
buildPlatform: x64
buildConfiguration: release
testLocale: en-US
# The arm64 test matrix starts here.
${{ if parameters.isArm64Platfrom }}:
Win11_Professional_arm64fre:
imageName: Windows.11.Professional.Arm64
buildPlatform: arm64
buildConfiguration: release
testLocale: en-US
Win11_Enterprise_arm64fre:
imageName: Windows.11.Enterprise.arm64
buildPlatform: arm64
buildConfiguration: release
testLocale: en-US
Server22_DC_arm64fre:
imageName: Windows.11.Server2022.DataCenter.arm64
buildPlatform: arm64
buildConfiguration: release
testLocale: en-US
pool:
# arm64 and amd64 use different pools because their VM types are different.
${{ if not( parameters.isArm64Platfrom ) }}:
name: 'WinAppSDK-Test-Pool'
demands: ImageOverride -equals $(imageName)
${{ if parameters.isArm64Platfrom }}:
name: 'WinAppSDK-Test-Pool-Arm64'
demands: ImageOverride -equals $(imageName)
timeoutInMinutes: 60
variables:
testPayloadArtifactDir: $(Build.SourcesDirectory)\BuildOutput\$(buildConfiguration)\$(buildPlatform)
steps:
- template: WindowsAppSDK-RunTests-Steps.yml
parameters:
buildPlatform: $(buildPlatform)
buildConfiguration: $(buildConfiguration)
testLocale: $(testLocale)
ImageName: $(imageName)

Просмотреть файл

@ -38,6 +38,30 @@ steps:
-ProductMajor "$(major)"
-ProductMinor "$(minor)"
- task: PowerShell@2
displayName: 'Download dotnet installer'
condition: or(eq(variables['buildPlatform'], 'x86'), eq(variables['buildPlatform'], 'x64'), eq(variables['buildPlatform'], 'arm64'))
inputs:
targetType: filePath
filePath: '$(Build.SourcesDirectory)\build\scripts\DownloadDotNetRuntimeInstaller.ps1'
arguments: -Platform "$(buildPlatform)" -OutputDirectory "$(build.SourcesDirectory)\packages"
- task: PowerShell@2
displayName: 'Download vcredist installer'
condition: or(eq(variables['buildPlatform'], 'x86'), eq(variables['buildPlatform'], 'x64'), eq(variables['buildPlatform'], 'arm64'))
inputs:
targetType: filePath
filePath: '$(Build.SourcesDirectory)\build\scripts\DownloadVCRedistInstaller.ps1'
arguments: -Platform "$(buildPlatform)" -OutputDirectory "$(build.SourcesDirectory)\packages"
- task: PowerShell@2
displayName: 'Download desktop bridge CRT'
condition: or(eq(variables['buildPlatform'], 'x86'), eq(variables['buildPlatform'], 'x64'), eq(variables['buildPlatform'], 'arm64'))
inputs:
targetType: filePath
filePath: '$(Build.SourcesDirectory)\build\scripts\DownloadVCLibsDesktop.ps1'
arguments: -Platform "$(buildPlatform)" -OutputDirectory "$(build.SourcesDirectory)\packages"
- task: powershell@2
displayName: 'Create DynamicDependencies TerminalVelocity features'
inputs:

Просмотреть файл

@ -148,6 +148,18 @@ jobs:
PathtoPublish: '$(build.SourcesDirectory)\BuildOutput'
artifactName: 'BuildOutput'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifact: Test dependencies'
inputs:
PathtoPublish: '$(build.SourcesDirectory)\packages'
artifactName: 'packages'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifact: Test cert'
inputs:
PathtoPublish: '$(build.SourcesDirectory)\.user'
artifactName: 'TestCert'
- job: BuildAnyCPU
# For now, this job just builds Microsoft.WindowsAppRuntime.Bootstrap.Net.dll in AnyCPU
# Can be expanded to add any other binary as needed
@ -263,6 +275,23 @@ jobs:
- 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
parameters:
jobName: PipelineTestsX64
isArm64Platfrom: false
dependsOn:
- Build
- BuildAndTestMRT
- template: AzurePipelinesTemplates\WindowsAppSDK-RunTestsInPipeline-Job.yml
parameters:
jobName: PipelineTestsArm64
isArm64Platfrom: true
dependsOn:
- Build
- BuildAndTestMRT
- job: StageAndPack
pool: ProjectReunionESPool-2022
timeoutInMinutes: 120

Просмотреть файл

@ -0,0 +1,49 @@
param(
[Parameter(Mandatory=$true)]
[string]$Platform,
[Parameter(Mandatory=$true)]
[string]$OutputDirectory
)
$ProgressPreference = "SilentlyContinue"
$ErrorActionPreference = "Stop"
Set-StrictMode -Version 3.0
$outputPath = Join-Path $OutputDirectory "dotnet-windowsdesktop-runtime-installer.exe"
if(-not(Test-Path $OutputDirectory))
{
$null = New-Item -ItemType Directory -Path $OutputDirectory
}
# Find direct download links at https://dotnet.microsoft.com/download/dotnet/5.0
$downloadurlx86 = "https://download.visualstudio.microsoft.com/download/pr/c089205d-4f58-4f8d-ad84-c92eaf2f3411/5cd3f9b3bd089c09df14dbbfb64124a4/windowsdesktop-runtime-5.0.5-win-x86.exe"
$downloadurlx64 = "https://download.visualstudio.microsoft.com/download/pr/c1ef0b3f-9663-4fc5-85eb-4a9cadacdb87/52b890f91e6bd4350d29d2482038df1c/windowsdesktop-runtime-5.0.5-win-x64.exe"
$downloadurlArm64 = "https://download.visualstudio.microsoft.com/download/pr/1201ea91-3344-4745-9143-ad4f7eb0a88d/f04108de4f95817aa1b832061a467be0/dotnet-runtime-5.0.5-win-arm64.exe"
if($Platform -eq "x86")
{
$downloadurl = $downloadurlx86
}
elseif($Platform -eq "x64")
{
$downloadurl = $downloadurlx64
}
elseif($Platform -eq "arm64")
{
$downloadurl = $downloadurlArm64
}
else
{
Write-Host "dotnet Desktop runtime not available for arch $Platform"
return
}
if(-not(Test-Path $outputPath))
{
Write-Host "Downloading $downloadurl to $outputPath"
Invoke-WebRequest $downloadurl -OutFile $outputPath
}
else
{
Write-Host "The file '$outputPath' already exists. Skipping download."
}

Просмотреть файл

@ -0,0 +1,29 @@
param(
[Parameter(Mandatory=$true)]
[string]$Platform,
[Parameter(Mandatory=$true)]
[string]$OutputDirectory
)
$ProgressPreference = "SilentlyContinue"
$ErrorActionPreference = "Stop"
Set-StrictMode -Version 3.0
$outputPath = Join-Path $OutputDirectory "Microsoft.VCLibs.$Platform.14.00.Desktop.appx"
if(-not(Test-Path $OutputDirectory))
{
$null = New-Item -ItemType Directory -Path $OutputDirectory
}
# Find direct download links at https://learn.microsoft.com/en-us/troubleshoot/developer/visualstudio/cpp/libraries/c-runtime-packages-desktop-bridge
$downloadurl = "https://aka.ms/Microsoft.VCLibs.$Platform.14.00.Desktop.appx"
if(-not(Test-Path $outputPath))
{
Write-Host "Downloading $downloadurl to $outputPath"
Invoke-WebRequest $downloadurl -OutFile $outputPath
}
else
{
Write-Host "The file '$outputPath' already exists. Skipping download."
}

Просмотреть файл

@ -0,0 +1,29 @@
param(
[Parameter(Mandatory=$true)]
[string]$Platform,
[Parameter(Mandatory=$true)]
[string]$OutputDirectory
)
$ProgressPreference = "SilentlyContinue"
$ErrorActionPreference = "Stop"
Set-StrictMode -Version 3.0
$outputPath = Join-Path $OutputDirectory "vc_redist.$Platform.exe"
if(-not(Test-Path $OutputDirectory))
{
$null = New-Item -ItemType Directory -Path $OutputDirectory
}
# Find direct download links at https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170
$downloadurl = "https://aka.ms/vs/17/release/vc_redist.$Platform.exe"
if(-not(Test-Path $outputPath))
{
Write-Host "Downloading $downloadurl to $outputPath"
Invoke-WebRequest $downloadurl -OutFile $outputPath
}
else
{
Write-Host "The file '$outputPath' already exists. Skipping download."
}

Просмотреть файл

@ -0,0 +1,18 @@
{
"Tests": [
{
"Description": "Test unpackaged scenarios for PushNotifications",
"Filename": "PushNotificationTests.dll",
"Parameters": "/name:UnpackagedTests#metadataSet1::VerifyForegroundHandlerFails",
"Architectures": ["x64"],
"Status": "Disabled"
},
{
"Description": "Test packaged scenarios for PushNotifications",
"Filename": "PushNotificationTests.dll",
"Parameters": "/name:PackagedTests#metadataSet1::VerifyForegroundHandlerFails",
"Architectures": ["x64"],
"Status": "Disabled"
}
]
}

Просмотреть файл

@ -122,6 +122,7 @@
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="PushNotificationTests.testmd" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Windows.PushNotifications">
@ -151,6 +152,7 @@
<Target Name="CopyFiles" AfterTargets="AfterBuild">
<Copy SourceFiles="$(OutDir)\..\WindowsAppRuntime_BootstrapDLL\Microsoft.WindowsAppRuntime.Bootstrap.dll" DestinationFolder="$(OutDir)" />
<Copy SourceFiles="$(OutDir)\..\WindowsAppRuntime_DLL\Microsoft.WindowsAppRuntime.dll" DestinationFolder="$(OutDir)" />
<Copy SourceFiles="PushNotificationTests.testdef" DestinationFolder="$(OutDir)" />
</Target>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
@ -161,4 +163,4 @@
<Error Condition="!Exists('$(NugetPackageDirectory)\Microsoft.Windows.CppWinRT.$(MicrosoftWindowsCppWinRTVersion)\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NugetPackageDirectory)\Microsoft.Windows.CppWinRT.$(MicrosoftWindowsCppWinRTVersion)\build\native\Microsoft.Windows.CppWinRT.targets'))" />
<Error Condition="!Exists('$(NugetPackageDirectory)\Microsoft.Windows.ImplementationLibrary.$(MicrosoftWindowsImplementationLibraryVersion)\build\native\Microsoft.Windows.ImplementationLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NugetPackageDirectory)\Microsoft.Windows.ImplementationLibrary.$(MicrosoftWindowsImplementationLibraryVersion)\build\native\Microsoft.Windows.ImplementationLibrary.targets'))" />
</Target>
</Project>
</Project>

Просмотреть файл

@ -50,6 +50,7 @@
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="PushNotificationTests.testmd" />
</ItemGroup>
<ItemGroup>
<CopyFileToFolders Include="$(TestPkgOutputFile)" />
@ -61,4 +62,7 @@
<Filter>Source Files</Filter>
</Xml>
</ItemGroup>
<ItemGroup>
<Natvis Include="$(MSBuildThisFileDirectory)..\..\natvis\wil.natvis" />
</ItemGroup>
</Project>

Просмотреть файл

@ -123,6 +123,9 @@
<IsWinMDFile>true</IsWinMDFile>
</Reference>
</ItemGroup>
<Target Name="CopyFiles" AfterTargets="AfterBuild">
<Copy SourceFiles="Test.testdef" DestinationFolder="$(OutDir)" />
</Target>
<ItemGroup>
<ProjectReference Include="$(RepoRoot)\dev\WindowsAppRuntime_BootstrapDLL\WindowsAppRuntime_BootstrapDLL.vcxproj">
<Project>{f76b776e-86f5-48c5-8fc7-d2795ecc9746}</Project>

Просмотреть файл

@ -0,0 +1,11 @@
{
"Tests": [
{
"Description": "PurojekutoTenpuret tests for feature Tokucho",
"Filename": "PurojekutoTenpuret.dll",
"Parameters": "",
"Architectures": ["x86", "x64", "arm64"],
"Status": "Enabled",
}
]
}