Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions TestAll.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,10 @@ param(
[Switch]$ShowSystemInfo=$true,

[Parameter(Mandatory=$true)]
[string]$wprProfilePath
[string]$wprProfilePath,

[Parameter(Mandatory=$false)]
[string]$callingStage = ''
)

$StartTime = Get-Date
Expand Down Expand Up @@ -120,6 +123,15 @@ function Get-Tests
}
}

if ($callingStage -eq 'TestSampleApps')
{
$tests = $tests | Where-Object { $_.Filename -like "WindowsAppSDK.Test.SampleTests.dll" }
}
else
{
$tests = $tests | Where-Object { $_.Filename -notlike "WindowsAppSDK.Test.SampleTests.dll" }
}

$tests
}

Expand All @@ -140,7 +152,7 @@ function Run-TaefTest
$teLogFile = (Join-Path $env:Build_SourcesDirectory "BuildOutput\$Configuration\$Platform\Te.wtl")
$teLogPathTo = (Join-Path $env:Build_SourcesDirectory "TestOutput\$Configuration\$Platform")

& $tePath $dllFile $test.Parameters /enableWttLogging /appendWttLogging /screenCaptureOnError /logFile:$teLogFile $/testMode:EtwLogger /EtwLogger:WprProfile=WDGDEPAdex /EtwLogger:SavePoint=TestFailure /EtwLogger:RecordingScope=Execution /EtwLogger:WprProfileFile=$wprProfilePath
& $tePath $dllFile $test.Parameters /enableWttLogging /appendWttLogging /screenCaptureOnError /logFile:$teLogFile /testMode:EtwLogger /EtwLogger:WprProfile=WDGDEPAdex /EtwLogger:SavePoint=TestFailure /EtwLogger:RecordingScope=Execution /EtwLogger:WprProfileFile=$wprProfilePath
}

function Run-PowershellTest
Expand Down Expand Up @@ -218,6 +230,9 @@ function Get-SystemInfo
Write-Host "Powershell : $($PSVersionTable.PSEdition) $($PSVersionTable.PSVersion)"
}

$env:Build_Platform = $Platform.ToLower()
$env:Build_Configuration = $Configuration.ToLower()

if ($ShowSystemInfo -eq $true)
{
Get-SystemInfo
Expand Down
38 changes: 38 additions & 0 deletions WindowsAppRuntime.sln
Original file line number Diff line number Diff line change
Expand Up @@ -742,6 +742,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mrmmin", "dev\MRTCore\mrt\m
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MRM", "dev\MRTCore\mrt\Core\src\MRM.vcxproj", "{CF03CC8D-FFF1-4CDC-B773-D219AD4E6F76}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsAppSDK.Test.NetCore", "test\WindowsAppSDK.Test.NetCore\WindowsAppSDK.Test.NetCore.csproj", "{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsAppSDK.Test.SampleTests", "test\WindowsAppSDK.Test.SampleTests\WindowsAppSDK.Test.SampleTests.csproj", "{346E099B-45E4-FF40-E63D-8B34915223C1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -2588,6 +2592,38 @@ Global
{CF03CC8D-FFF1-4CDC-B773-D219AD4E6F76}.Release|x64.Build.0 = Release|x64
{CF03CC8D-FFF1-4CDC-B773-D219AD4E6F76}.Release|x86.ActiveCfg = Release|Win32
{CF03CC8D-FFF1-4CDC-B773-D219AD4E6F76}.Release|x86.Build.0 = Release|Win32
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Debug|Any CPU.ActiveCfg = Debug|x64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Debug|Any CPU.Build.0 = Debug|x64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Debug|ARM64.ActiveCfg = Debug|arm64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Debug|ARM64.Build.0 = Debug|arm64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Debug|x64.ActiveCfg = Debug|x64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Debug|x64.Build.0 = Debug|x64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Debug|x86.ActiveCfg = Debug|x86
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Debug|x86.Build.0 = Debug|x86
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Release|Any CPU.ActiveCfg = Release|x64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Release|Any CPU.Build.0 = Release|x64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Release|ARM64.ActiveCfg = Release|arm64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Release|ARM64.Build.0 = Release|arm64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Release|x64.ActiveCfg = Release|x64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Release|x64.Build.0 = Release|x64
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Release|x86.ActiveCfg = Release|x86
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D}.Release|x86.Build.0 = Release|x86
{346E099B-45E4-FF40-E63D-8B34915223C1}.Debug|Any CPU.ActiveCfg = Debug|x64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Debug|Any CPU.Build.0 = Debug|x64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Debug|ARM64.ActiveCfg = Debug|arm64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Debug|ARM64.Build.0 = Debug|arm64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Debug|x64.ActiveCfg = Debug|x64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Debug|x64.Build.0 = Debug|x64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Debug|x86.ActiveCfg = Debug|x86
{346E099B-45E4-FF40-E63D-8B34915223C1}.Debug|x86.Build.0 = Debug|x86
{346E099B-45E4-FF40-E63D-8B34915223C1}.Release|Any CPU.ActiveCfg = Release|x64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Release|Any CPU.Build.0 = Release|x64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Release|ARM64.ActiveCfg = Release|arm64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Release|ARM64.Build.0 = Release|arm64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Release|x64.ActiveCfg = Release|x64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Release|x64.Build.0 = Release|x64
{346E099B-45E4-FF40-E63D-8B34915223C1}.Release|x86.ActiveCfg = Release|x86
{346E099B-45E4-FF40-E63D-8B34915223C1}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -2811,6 +2847,8 @@ Global
{E9C055BB-6AE4-497A-A354-D07841E68976} = {022E355A-AB24-48EE-9CC0-965BEFDF5E8C}
{DC453DE3-18FD-43E7-8103-20763C8B97C8} = {5012149E-F09F-4F18-A03C-FFE597203821}
{C40AE1D8-FD5F-472E-86B5-DDA5ABA6FF99} = {8630F7AA-2969-4DC9-8700-9B468C1DC21D}
{BF580B26-B869-3AF1-43EC-D0FD55A49E4D} = {8630F7AA-2969-4DC9-8700-9B468C1DC21D}
{346E099B-45E4-FF40-E63D-8B34915223C1} = {8630F7AA-2969-4DC9-8700-9B468C1DC21D}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4B3D7591-CFEC-4762-9A07-ABE99938FB77}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# Note: In Foundation, the approach to test launching sample apps differs slightly from Aggregator:
# 1. In Foundation, we only exercises a subset of the sample apps that are tested in Aggregator.
# 2. All sample apps in Foundation are built and tested in SelfContained mode.
# The reason for this difference is: sample apps only use component package in Foundation. There is no associated framework package, Runtime package is not generated until Aggregator.
# 3. Foundation pipeline only supports running sample app testing in one specific stage.

parameters:
- name: "IsOneBranch"
type: boolean
default: true
- name: TestSampleApps
displayName: "Test launch of Sample apps separately in the TestSampleApps Stage"
type: boolean
default: true
- name: TestOnArm64
type: boolean
default: true
- name: SamplesBuildOutputArtifactName
displayName: "Base name for Samples build output artifacts"
type: string
default: 'SamplesBuildOutput'
- name: runStaticAnalysis
type: boolean
default: true
- name: maxParallel_x64
type: number
default: 10
- name: maxParallel_arm64
type: number
default: 10
# sampleFeatureAreasList param have the same naming rule and pattern as Aggregator repo:
# https://microsoft.visualstudio.com/ProjectReunion/_git/WindowsAppSDKAggregator?path=/build/AzurePipelinesTemplates/WindowsAppSDK-BuildWindowsAppSDK-Stages.yml
- name: "sampleFeatureAreasList"
type: object
default:
SamplesCompatTest:
- 'Installer'
- 'Unpackaged'
- 'Notifications-Push'
- 'Insights'
- 'AppLifecycle-Activation-cpp-cpp--console--unpackaged'
- 'AppLifecycle-Activation-cpp-cpp--win32--unpackaged'
- 'AppLifecycle-Activation-cs'
- 'AppLifecycle-Instancing-cpp-cpp--console--unpackaged'
- 'AppLifecycle-Instancing-cpp-cpp--win32--packaged'
- 'AppLifecycle-Instancing-cpp-cpp--win32--unpackaged'
- 'AppLifecycle-Instancing-cs'
- 'AppLifecycle-Instancing-cs1'
- 'AppLifecycle-StateNotifications-cpp-cpp--console--unpackaged'
- 'AppLifecycle-StateNotifications-cpp-cpp--win32--packaged'
- 'AppLifecycle-StateNotifications-cpp-cpp--win32--unpackaged'
- 'AppLifecycle-StateNotifications-cs'
- 'AppLifecycle-StateNotifications-cs1'
- 'AppLifecycle-EnvironmentVariables'
- 'AppLifecycle-Restart-cpp--console--unpackaged'
- 'ResourceManagement-cpp-cpp--console--unpackaged'
- 'ResourceManagement-cs-cs--winforms--unpackaged'
- 'ResourceManagement-cs1'
- 'Mica-cpp--win32'
- 'Windowing-cpp-cpp--win32'
- 'Windowing-cs-cs--winforms--unpackaged'
- 'SelfContainedDeployment-cpp-cpp--console--unpackaged'
- 'SelfContainedDeployment-cs'

stages:
- stage: BuildSampleApps_x64
dependsOn: Pack
variables:
SamplesRepoName: 'WindowsAppSDK-Samples'
SelfRepoName: 'WindowsAppSDK'
FoundationVersion: $[ stageDependencies.Pack.NugetPackage.outputs['DetermineComponentNugetPackageVersion.componentPackageVersion'] ]
jobs:
- template: WindowsAppSDK-BuildSamplesCompat-Job.yml
parameters:
IsOneBranch: ${{ parameters.IsOneBranch }}
JobName: "SamplesCompatTest"
FeatureAreas: ${{ parameters.sampleFeatureAreasList.SamplesCompatTest }}
BuildConfig:
- 'Release'
- 'Debug'
BuildPlatform:
- 'x64'
${{ if eq(parameters.TestSampleApps, 'true') }}:
SamplesArtifactName: ${{ parameters.SamplesBuildOutputArtifactName }}_x64
${{ if ne(parameters.TestSampleApps, 'true') }}:
SamplesArtifactName: ''
runStaticAnalysis : ${{ parameters.runStaticAnalysis }}
maxParallel: ${{ parameters.maxParallel_x64 }}

- stage: BuildSampleApps_arm64
dependsOn: Pack
variables:
SamplesRepoName: 'WindowsAppSDK-Samples'
SelfRepoName: 'WindowsAppSDK'
FoundationVersion: $[ stageDependencies.Pack.NugetPackage.outputs['DetermineComponentNugetPackageVersion.componentPackageVersion'] ]
jobs:
- template: WindowsAppSDK-BuildSamplesCompat-Job.yml
parameters:
IsOneBranch: ${{ parameters.IsOneBranch }}
JobName: "SamplesCompatTest"
FeatureAreas: ${{ parameters.sampleFeatureAreasList.SamplesCompatTest }}
BuildConfig:
- 'Release'
- 'Debug'
BuildPlatform:
- 'arm64'
${{ if eq(parameters.TestSampleApps, 'true') }}:
SamplesArtifactName: ${{ parameters.SamplesBuildOutputArtifactName }}_arm64
${{ if ne(parameters.TestSampleApps, 'true') }}:
SamplesArtifactName: ''
runStaticAnalysis : ${{ parameters.runStaticAnalysis }}
maxParallel: ${{ parameters.maxParallel_arm64 }}

- ${{ if eq( parameters.TestSampleApps, true ) }}:
- stage: TestSampleApps_x64
dependsOn:
- BuildSampleApps_x64
- Build_x64
variables:
SamplesRepoName: 'WindowsAppSDK-Samples'
SelfRepoName: 'WindowsAppSDK'
jobs:
- template: WindowsAppSDK-RunTestsInPipeline-Job.yml
parameters:
jobName: TestSamplesX64
samplesArtifactName: ${{ parameters.SamplesBuildOutputArtifactName }}_x64
callingStage: 'TestSampleApps'
sampleFeatureAreasList: ${{ parameters.sampleFeatureAreasList }}
IsOneBranch: ${{ parameters.IsOneBranch }}
TestMatrix: $[ variables.SampleAppsTests ]

- ${{ if eq(parameters.TestOnArm64, true)}}:
- stage: TestSampleApps_arm64
dependsOn:
- BuildSampleApps_arm64
- Build_arm64
variables:
SamplesRepoName: 'WindowsAppSDK-Samples'
SelfRepoName: 'WindowsAppSDK'
jobs:
- template: WindowsAppSDK-RunTestsInPipeline-Job.yml
parameters:
jobName: TestSamplesArm64
samplesArtifactName: ${{ parameters.SamplesBuildOutputArtifactName }}_arm64
callingStage: 'TestSampleApps'
sampleFeatureAreasList: ${{ parameters.sampleFeatureAreasList }}
IsOneBranch: ${{ parameters.IsOneBranch }}
TestMatrix: $[ variables.SampleAppsTestsArm64 ]
Loading
Loading