From de9098a7c4619c66f8c2a0cdb5d25bc74462b2b3 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 23 Apr 2019 15:24:54 -0700 Subject: [PATCH 01/72] adding initial helix support note: this definitely won't work, it's just some basic initial infrastructure for us to build on once we have a better idea of what to do use dummy HelixWorkItem initially updating pipeline.yml fix Release only condition --- eng/Build.props | 8 ++ eng/Version.Details.xml | 4 + eng/helix/configure-helix-machine.ps1 | 18 ++++ eng/helix/helixpublish.proj | 127 ++++++++++++++++++++++++++ eng/helix/prepare-helix-payload.ps1 | 51 +++++++++++ eng/helix/runtests.cmd | 5 + eng/pipeline.yml | 66 ++++++++++++- eng/pre-build.ps1 | 7 ++ global.json | 3 +- 9 files changed, 287 insertions(+), 2 deletions(-) create mode 100644 eng/Build.props create mode 100644 eng/helix/configure-helix-machine.ps1 create mode 100644 eng/helix/helixpublish.proj create mode 100644 eng/helix/prepare-helix-payload.ps1 create mode 100644 eng/helix/runtests.cmd create mode 100644 eng/pre-build.ps1 diff --git a/eng/Build.props b/eng/Build.props new file mode 100644 index 00000000000..da83de21674 --- /dev/null +++ b/eng/Build.props @@ -0,0 +1,8 @@ + + + + <_NuGetRestoreTargets>$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets + true + true + + \ No newline at end of file diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 75c429b0092..4fe84c9faec 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -95,5 +95,9 @@ https://github.com/dotnet/coreclr 89df4b9d928c7f21550d487328f5db000a498bdf + + https://github.com/dotnet/arcade + 851e36df83d3361e4bd8a70a2a8a89f762469f9a + diff --git a/eng/helix/configure-helix-machine.ps1 b/eng/helix/configure-helix-machine.ps1 new file mode 100644 index 00000000000..3790623965a --- /dev/null +++ b/eng/helix/configure-helix-machine.ps1 @@ -0,0 +1,18 @@ +# This file prepares the helix machine for our tests runs + +$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" + +Write-Output "Adding dotnet location to path: $dotnetLocation" +Write-Output "Path before: $env:path" +# Prepend the path to ensure that dotnet.exe is called from there. +$env:path="$dotnetLocation;$env:path" + +Write-Output "Path after: $env:path" +# Don't look outside the TestHost to resolve best match SDKs. +$env:DOTNET_MULTILEVEL_LOOKUP = 0 + +# Disable first run since we do not need all ASP.NET packages restored. +$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + +# Ensure that the dotnet installed at our dotnetLocation is used +$env:DOTNET_ROOT=$dotnetLocation \ No newline at end of file diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj new file mode 100644 index 00000000000..819ddbc4a93 --- /dev/null +++ b/eng/helix/helixpublish.proj @@ -0,0 +1,127 @@ + + + + + netcoreapp3.0 + $(MSBuildThisFileDirectory)packages + + + + false + true + true + true + $(HelixPreCommands); + + + true + + $(RestoreSources); + https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json + + + + + + + + 00:20:00 + %HELIX_CORRELATION_PAYLOAD%\runtests.cmd + + + + + \ No newline at end of file diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 new file mode 100644 index 00000000000..8339d9a6782 --- /dev/null +++ b/eng/helix/prepare-helix-payload.ps1 @@ -0,0 +1,51 @@ +[CmdLetBinding()] +Param( + [string]$platform, + [string]$configuration +) + +$payloadDir = "HelixPayload\$configuration\$platform" + +$nugetPackagesDir = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "packages" + +# TODO: Once we have the nuget package from the dotnet-wpf-test, we can better understand what we +# need to do here. +# Create the payload directory. Remove it if it already exists. +if(Test-Path $payloadDir) +{ + Remove-Item $payloadDir -Recurse +} +New-Item -ItemType Directory -Force -Path $payloadDir + +function CopyFolderStructure($from, $to) +{ + if(Test-Path $to) + { + Remove-Item $to -Recurse + } + New-Item -ItemType Directory -Force -Path $to + + if (Test-Path $from) + { + Get-ChildItem $from | Copy-Item -Destination $to -Recurse + } + else + { + Write-Output "Location doesn't exist: $from" + } + +} + +# Copy files from nuget packages +$testNugetLocation = Join-Path $nugetPackagesDir "qv.wpf.test\1.0.0\tools\win-$platform\" +$testPayloadLocation = Join-Path $payloadDir "Test" +CopyFolderStructure $testNugetLocation $testPayloadLocation + +# Copy local dotnet install +$localDotnetInstall = Join-Path $env:BUILD_SOURCESDIRECTORY '.dotnet' +$dotnetPayloadLocation = Join-Path $payloadDir "dotnet" +CopyFolderStructure $localDotnetInstall $dotnetPayloadLocation + +# Copy scripts +Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir +Copy-Item "eng\helix\runtests.cmd" $payloadDir \ No newline at end of file diff --git a/eng/helix/runtests.cmd b/eng/helix/runtests.cmd new file mode 100644 index 00000000000..ef3923df0df --- /dev/null +++ b/eng/helix/runtests.cmd @@ -0,0 +1,5 @@ +@echo off +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0configure-helix-machine.ps1""" " +exit /b %ErrorLevel% + +dotnet --info \ No newline at end of file diff --git a/eng/pipeline.yml b/eng/pipeline.yml index 0a0d445c293..e2f05cb5eda 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -11,6 +11,7 @@ parameters: # Needed because runAsPublic is used in template expressions, which can't read from user-defined variables # Defaults to true runAsPublic: true + repoName: dotnet/wpf jobs: - template: /eng/common/templates/jobs/jobs.yml @@ -21,7 +22,7 @@ jobs: enablePublishBuildAssets: true enablePublishUsingPipelines: $(_PublishUsingPipelines) enableTelemetry: true - helixRepo: dnceng/wpf + helixRepo: $(repoName) jobs: - job: Windows_NT @@ -48,6 +49,16 @@ jobs: value: x86 - name: _PlatformArgs value: /p:Platform=$(_Platform) + - name: _TestHelixAgentPool + value: 'Windows.10.Amd64.Open' + - name: _HelixStagingDir + value: $(BUILD.STAGINGDIRECTORY)\helix\functests + - name: _HelixSource + value: ${{ parameters.repoName }}/$(Build.SourceBranch) + - name: _HelixToken + value: '' + - name: _HelixCreator + value: ${{ parameters.repoName }} # Override some values if we're building internally - ${{ if eq(parameters.runAsPublic, 'false') }}: @@ -60,6 +71,7 @@ jobs: value: true - group: DotNet-Blob-Feed - group: DotNet-Symbol-Server-Pats + - group: DotNet-HelixApi-Access - name: _PublishBlobFeedUrl value: https://dotnetfeed.blob.core.windows.net/dotnet-windowsdesktop/index.json @@ -78,6 +90,12 @@ jobs: /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat) - name: _OfficialBuildIdArgs value: /p:OfficialBuildId=$(BUILD.BUILDNUMBER) + - name: _HelixSource + value: official/${{ parameters.repoName }}/$(Build.SourceBranch) + - name: _HelixToken + value: '$(HelixApiAccessToken)' # from DotNet-HelixApi-Access group + - name: _HelixCreator + value: '' #if _HelixToken is set, Creator must be empty strategy: matrix: Build_Debug_x86: @@ -101,6 +119,11 @@ jobs: steps: - checkout: self clean: true + + # Set VSO Variable(s) + - powershell: eng\pre-build.ps1 + displayName: Pre-Build - Set VSO Variables + # Use utility script to run script command dependent on agent OS. - script: eng\common\cibuild.cmd -configuration $(_BuildConfig) @@ -110,3 +133,44 @@ jobs: $(_OfficialBuildIdArgs) $(_PlatformArgs) displayName: Windows Build / Publish + + - powershell: eng\common\build.ps1 + -restore + -configuration $(_BuildConfig) + $(_OfficialBuildIdArgs) + $(_PlatformArgs) + -projects $(Build.SourcesDirectory)\eng\helix\helixpublish.proj + displayName: Restoring Nuget Dependencies for Helix + env: + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + HelixSource: $(_HelixSource) + HelixType: 'tests/drt' + HelixBuild: $(Build.BuildNumber) + HelixTargetQueues: $(_TestHelixAgentPool) + HelixAccessToken: $(_HelixToken) # only defined for internal CI + Creator: $(_HelixCreator) + condition: and(succeeded(), eq(variables['_BuildConfig'], 'Release')) # on helix machine (with real signing) + + # Prepare the helix payload + - powershell: eng\helix\prepare-helix-payload.ps1 + -configuration $(_BuildConfig) -platform $(_Platform) + displayName: Preparing Helix Payload + condition: and(succeeded(), eq(variables['_BuildConfig'], 'Release')) # on helix machine (with real signing) + + # Run DRTs + - powershell: eng\common\cibuild.cmd + -configuration $(_BuildConfig) + $(_OfficialBuildIdArgs) + $(_PlatformArgs) + -projects $(Build.SourcesDirectory)\eng\helix\helixpublish.proj + /bl:$(BUILD.SOURCESDIRECTORY)\artifacts\log\$(_BuildConfig)\HelixUnit.binlog + displayName: Run Developer Regression Tests on Helix Machine (Release) + env: + HelixSource: $(_HelixSource) + HelixType: 'tests/drt' + HelixBuild: $(Build.BuildNumber) + HelixTargetQueues: $(_TestHelixAgentPool) + HelixAccessToken: $(_HelixToken) # only defined for internal CI + Creator: $(_HelixCreator) + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + condition: and(succeeded(), eq(variables['_BuildConfig'], 'Release')) # on helix machine (with real signing) diff --git a/eng/pre-build.ps1 b/eng/pre-build.ps1 new file mode 100644 index 00000000000..baad60ccbd9 --- /dev/null +++ b/eng/pre-build.ps1 @@ -0,0 +1,7 @@ +# Open global.json +$globaljsonpath = Join-Path $env:BUILD_SOURCESDIRECTORY 'global.json' +$jsondata = Get-Content -Raw -Path $globaljsonpath | ConvertFrom-Json + +# Set DotNetCliVersion to global.json.tools.dotnet +$dotnetcliver = $jsondata.tools.dotnet +Write-Host "##vso[task.setvariable variable=DotNetCliVersion;]$dotnetcliver" \ No newline at end of file diff --git a/global.json b/global.json index e355737c6e8..cdb96d0bd38 100644 --- a/global.json +++ b/global.json @@ -12,7 +12,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19304.23" + "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19304.23", + "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19222.2" }, "native-tools": { "strawberry-perl": "5.28.1.1-1" From 70a4fb28b6ede65f1deedc70d28960656ffeda43 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Thu, 2 May 2019 15:43:07 -0700 Subject: [PATCH 02/72] move to using Microsoft.DotNet.Wpf.DncEng.Test package name --- eng/helix/configure-helix-machine.ps1 | 11 +++++------ eng/helix/helixpublish.proj | 26 ++++++++++---------------- eng/helix/helixrun.cmd | 12 ++++++++++++ eng/helix/prepare-helix-payload.ps1 | 4 ++-- eng/helix/runtests.cmd | 5 ----- 5 files changed, 29 insertions(+), 29 deletions(-) create mode 100644 eng/helix/helixrun.cmd delete mode 100644 eng/helix/runtests.cmd diff --git a/eng/helix/configure-helix-machine.ps1 b/eng/helix/configure-helix-machine.ps1 index 3790623965a..4074e20679f 100644 --- a/eng/helix/configure-helix-machine.ps1 +++ b/eng/helix/configure-helix-machine.ps1 @@ -3,16 +3,15 @@ $dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" Write-Output "Adding dotnet location to path: $dotnetLocation" -Write-Output "Path before: $env:path" + # Prepend the path to ensure that dotnet.exe is called from there. -$env:path="$dotnetLocation;$env:path" +[System.Environment]::SetEnvironmentVariable("PATH", "$dotnetLocation;$env:path", [System.EnvironmentVariableTarget]::User) -Write-Output "Path after: $env:path" # Don't look outside the TestHost to resolve best match SDKs. -$env:DOTNET_MULTILEVEL_LOOKUP = 0 +[System.Environment]::SetEnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0", [System.EnvironmentVariableTarget]::User) # Disable first run since we do not need all ASP.NET packages restored. -$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 +[System.Environment]::SetEnvironmentVariable("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", "1", [System.EnvironmentVariableTarget]::User) # Ensure that the dotnet installed at our dotnetLocation is used -$env:DOTNET_ROOT=$dotnetLocation \ No newline at end of file +[System.Environment]::SetEnvironmentVariable("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", "$dotnetLocation", [System.EnvironmentVariableTarget]::User) diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 819ddbc4a93..4cf69645c6d 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -4,35 +4,29 @@ netcoreapp3.0 $(MSBuildThisFileDirectory)packages - - + true + + $(RestoreSources); + https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json + + false true true true - $(HelixPreCommands); - - true - - $(RestoreSources); - https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json - + + $(HelixPreCommands); powershell %HELIX_CORRELATION_PAYLOAD%\configure-helix-machine.ps1; - + 00:20:00 - %HELIX_CORRELATION_PAYLOAD%\runtests.cmd + call %HELIX_CORRELATION_PAYLOAD%\helixrun.cmd - - $(HelixPreCommands); powershell %HELIX_CORRELATION_PAYLOAD%\configure-helix-machine.ps1; + $(HelixPreCommands); + + + Windows.10.Amd64.Open;Windows.7.Amd64.Open;Windows.10.Amd64.ServerRS5.Open @@ -30,91 +33,91 @@ diff --git a/eng/helix/helixrun.cmd b/eng/helix/helixrun.cmd index 1dd2d3d4e98..de4ef5db581 100644 --- a/eng/helix/helixrun.cmd +++ b/eng/helix/helixrun.cmd @@ -1,5 +1,6 @@ @echo off setlocal ENABLEDELAYEDEXPANSION +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0configure-helix-machine.ps1""" " REM Run the tests dotnet --info From 8d3c7b67e7933d46de741049c9b872fbba15ca5c Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Thu, 2 May 2019 20:53:29 -0700 Subject: [PATCH 04/72] run test in powershell script --- eng/helix/helixpublish.proj | 48 ++++++++++++++--------------- eng/helix/helixrun.cmd | 13 -------- eng/helix/prepare-helix-payload.ps1 | 2 +- eng/helix/runtests.ps1 | 13 ++++++++ 4 files changed, 38 insertions(+), 38 deletions(-) delete mode 100644 eng/helix/helixrun.cmd create mode 100644 eng/helix/runtests.ps1 diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 4bc641568af..75037efd768 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -28,96 +28,96 @@ 00:20:00 - call %HELIX_CORRELATION_PAYLOAD%\helixrun.cmd + powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\runtests.ps1" diff --git a/eng/helix/helixrun.cmd b/eng/helix/helixrun.cmd deleted file mode 100644 index de4ef5db581..00000000000 --- a/eng/helix/helixrun.cmd +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal ENABLEDELAYEDEXPANSION -powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0configure-helix-machine.ps1""" " - -REM Run the tests -dotnet --info - -REM We can use %HELIX_PYTHONPATH% %HELIX_SCRIPT_ROOT%\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. -REM For example: %HELIX_PYTHONPATH% %HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg -REM Then, links to these artifacts can then be included in the xUnit logs. - -REM Need to copy the xUnit log to a known location that helix can understand -REM copy Test\Drts\testResults.xml ..\testResults.xml \ No newline at end of file diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index ea2d9aed842..675a95ddb74 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -48,4 +48,4 @@ CopyFolderStructure $localDotnetInstall $dotnetPayloadLocation # Copy scripts Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir -Copy-Item "eng\helix\helixrun.cmd" $payloadDir \ No newline at end of file +Copy-Item "eng\helix\runtests.ps1" $payloadDir \ No newline at end of file diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 new file mode 100644 index 00000000000..29ec11c15e3 --- /dev/null +++ b/eng/helix/runtests.ps1 @@ -0,0 +1,13 @@ + +# Configure the machine before running tests +& "$PSScriptRoot\configure-helix-machine.ps1" + +# Run the tests +dotnet --info + +# We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. +# For example: $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg +# Then, links to these artifacts can then be included in the xUnit logs. + +# Need to copy the xUnit log to a known location that helix can understand +# Copy-Item .\Test\Drts\testResults.xml ..\testResults.xml \ No newline at end of file From 688c35109b8e5fb0bb493a525fe7174f9f4f8cf8 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 3 May 2019 10:05:52 -0700 Subject: [PATCH 05/72] updating dependencies and removing workaround --- eng/Build.props | 8 -------- eng/Version.Details.xml | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) delete mode 100644 eng/Build.props diff --git a/eng/Build.props b/eng/Build.props deleted file mode 100644 index da83de21674..00000000000 --- a/eng/Build.props +++ /dev/null @@ -1,8 +0,0 @@ - - - - <_NuGetRestoreTargets>$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets - true - true - - \ No newline at end of file diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4fe84c9faec..f0ab04e2ca5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -95,9 +95,9 @@ https://github.com/dotnet/coreclr 89df4b9d928c7f21550d487328f5db000a498bdf - + https://github.com/dotnet/arcade - 851e36df83d3361e4bd8a70a2a8a89f762469f9a + e31dd0f6fd12a136a2310a308d235c360703b221 From 80df343978154d353abe1107fe38d862ead35f75 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 3 May 2019 10:46:37 -0700 Subject: [PATCH 06/72] adding documentation --- Documentation/developer-guide.md | 1 + Documentation/testing-in-helix.md | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 Documentation/testing-in-helix.md diff --git a/Documentation/developer-guide.md b/Documentation/developer-guide.md index 5ad54ab8041..b8386a38cc3 100644 --- a/Documentation/developer-guide.md +++ b/Documentation/developer-guide.md @@ -162,3 +162,4 @@ Follow the steps defined [here](https://github.com/dotnet/arcade/blob/master/Doc * [up-for-grabs WPF issues](https://github.com/dotnet/wpf/issues?q=is%3Aopen+is%3Aissue+label%3Aup-for-grabs) * [easy WPF issues](https://github.com/dotnet/wpf/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3Aeasy) * [Code generation in dotnet/wpf](codegen.md) +* [Testing in Helix](testing-in-helix.md) diff --git a/Documentation/testing-in-helix.md b/Documentation/testing-in-helix.md new file mode 100644 index 00000000000..5cbd402f7ad --- /dev/null +++ b/Documentation/testing-in-helix.md @@ -0,0 +1,13 @@ +# Testing in Helix + +I'd recommend seeing the official Helix [readme](https://github.com/dotnet/arcade/blob/master/src/Microsoft.DotNet.Helix/Sdk/Readme.md) if you are interested in some of the general Helix concepts. I'll briefly outline what we are doing that is a bit unique: + +1. Helix has built-in support for running xUnit tests. Since we are not using xUnit, we have to manually setup our machines so that they work with QualityVault and STI. +We manually restore the helixpublish.proj project during CI builds; this is done in `pipeline.yml`. This allows us to package reference the `Microsoft.DotNet.Wpf.DncEng.Test` package to pull down the binaries that we need. We can extract them into a local folder using the MSBuild property `RestorePackagesPath`, so that when the project is restored, we know the exact relative location of the packages. +2. We need to create a "TestHost" installation of dotnet on the Helix machine. The default Helix support for installing dotnet only installs version 2.x, and only installs the `Microsoft.NETCore.App` runtime, and not the M`icrosoft.WindowsDesktop.App` or `Microsoft.AspNetCore.App` runtimes. I opted to doing this manually and copy it out of the `.dotnet` folder that gets created as part of ci builds, rather than running an installer on the Helix machine. I figured reducing the number of dependencies on making external network calls and downloading items from the internet the better. +3. We copy both the nuget packages we care care about and the dotnet install in the `prepare-helix-payload.ps1` script. This gets invoked before we actually run tests in the `pipeline-yml` file located in the `eng` directory. Helix allows you to specify a `HelixCorrelationPayload` directory, where this directory gets deployed to the Helix machine, and is made available in your various helix commands with the `HELIX_CORRELATION_PAYLOAD` environment variable. +4. Helix and Azure Pipelines can report xUnit logs, so we will be updating QualityVault to produce an xUnit compatible log. We will then need to copy that log to a known location for it to be picked up. + +## How we are running tests +1. Currently, the `HelixQueues` that we selected are Windows.10.Amd64.Open;Windows.7.Amd64.Open;Windows.10.Amd64.ServerRS5.Open. Essentially, this translates to: "Latest Windows 10", "Windows 7", and "Windows 10 RS5 Server" addition. This enables tests to run on some of the most interesting and important SKUs, without overloading the Helix servers and/or making CI runs take an unnecessarily long time to run. +2. In similar vain, we only run test passes for Release builds, mainly to save time and resources running duplicate tests in a near-identical environment. \ No newline at end of file From d7c04b997a979a153f0c416e7da79485a0bfd553 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 3 May 2019 10:59:08 -0700 Subject: [PATCH 07/72] reverting dependency update --- eng/Version.Details.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f0ab04e2ca5..4fe84c9faec 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -95,9 +95,9 @@ https://github.com/dotnet/coreclr 89df4b9d928c7f21550d487328f5db000a498bdf - + https://github.com/dotnet/arcade - e31dd0f6fd12a136a2310a308d235c360703b221 + 851e36df83d3361e4bd8a70a2a8a89f762469f9a From 3e9542a9cc4ad793c8f24ac984b650f33e560ec4 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 10 May 2019 15:52:53 -0700 Subject: [PATCH 08/72] switching back to true DrtXaml --- .../test/Common/DRT/dirs.proj | 19 + .../test/Common/Directory.Build.props | 6 + .../test/Common/TestServices/DrtBase.cs | 5 - .../test/Common/keys/TestTrusted.snk | Bin 0 -> 596 bytes .../test/Common/keys/TestUntrusted.snk | Bin 0 -> 596 bytes src/Microsoft.DotNet.Wpf/test/DRT.Build.props | 5 + .../test/DRT/Directory.Build.props | 6 + .../BamlAvoidXmlTest/BamlAvoidXmlTest.csproj | 10 +- .../BamlTestClasses40/BCMarkupExtension.cs | 3 - .../test/DRT/DrtXaml/Directory.Build.props | 4 + .../test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs | 77 -- .../XamlTestClasses.FriendWithKey.csproj | 12 + .../XamlTestClasses.FriendWithoutKey.csproj | 13 + .../DrtXaml.PartialTrustTests.csproj | 20 + .../XamlTestClasses/XamlTestClasses.csproj | 2 +- .../test/DRT/DrtXaml/dirs.proj | 18 + .../test/Directory.Build.props | 59 +- .../test/Directory.Build.targets | 6 + src/Microsoft.DotNet.Wpf/test/Publish.props | 12 + .../test/PublishAfterBuild.targets | 11 + .../test/SourceLocations.props | 1072 +++++++++++++++++ .../test/StrongName.props | 17 + .../test/StrongName.targets | 12 + 23 files changed, 1293 insertions(+), 96 deletions(-) create mode 100644 src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj create mode 100644 src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props create mode 100644 src/Microsoft.DotNet.Wpf/test/Common/keys/TestTrusted.snk create mode 100644 src/Microsoft.DotNet.Wpf/test/Common/keys/TestUntrusted.snk create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT.Build.props create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj create mode 100644 src/Microsoft.DotNet.Wpf/test/Directory.Build.targets create mode 100644 src/Microsoft.DotNet.Wpf/test/Publish.props create mode 100644 src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets create mode 100644 src/Microsoft.DotNet.Wpf/test/SourceLocations.props create mode 100644 src/Microsoft.DotNet.Wpf/test/StrongName.props create mode 100644 src/Microsoft.DotNet.Wpf/test/StrongName.targets diff --git a/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj b/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj new file mode 100644 index 00000000000..72dcacf30b3 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props new file mode 100644 index 00000000000..7e783514db2 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props @@ -0,0 +1,6 @@ + + + + $(WpfTestBasePublishPath)\Common + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs b/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs index 59d384c5013..37bd98942c6 100644 --- a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs +++ b/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs @@ -22,7 +22,6 @@ using System.Text; using Microsoft.Win32; -using Xunit.Abstractions; using MS.Internal; /************************************************************************ @@ -422,7 +421,6 @@ protected virtual bool HandleCommandLineArgument(string arg, bool option, string case "help": PrintUsage(); - Xunit.Assert.True(true); Environment.Exit(0); break; @@ -1138,7 +1136,6 @@ public void Assert(bool cond, string message, params object[] arg) // Write any delayed output for debugging purposes WriteDelayedOutput(); - Xunit.Assert.True(cond, s); if (_loudAsserts) { @@ -2051,7 +2048,6 @@ void RunNextTest() _testIndex++; } - Xunit.Assert.False(aborting); // Schedule the next test. // Special situation: The current test may have called Suspend() and then @@ -2099,7 +2095,6 @@ private void ReportException(object o) ReportDrtInfo(); - Xunit.Assert.True(_retcode == 0); Environment.Exit(_retcode); } diff --git a/src/Microsoft.DotNet.Wpf/test/Common/keys/TestTrusted.snk b/src/Microsoft.DotNet.Wpf/test/Common/keys/TestTrusted.snk new file mode 100644 index 0000000000000000000000000000000000000000..425dc4d7c7b74af91147890c2c856ee5e3a457b5 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097h+Xr;b{``olreQNO<-QW38`CP=elD#{ z1f2iOVubpaT-93wk#mAam`wci2T5?mOdX<|2Ot{{ko$WqVA7@p#H*?M!3M287&zM0 zmUs&eMHtXU{&2+JPL^XeNr}&zE>D`>LBH>ULw%!MiyRsaZLGB+MQls4i>;!*bO*x? z-ZT!EJnN1o04^45o-ow$iKKx<%b7#VJuo`O*}9wM?waJmD$Fr(%Q0)) z4@9WjxvBK;>;EnL8w%^)}u&d0H8y1F&-4*@5&sNR%ghvl%*)kq3)B>+#U=jbs2V|#Trv);Tgx#BS`SQ$#&t6!4)PXAJYvnK)T%gSX4Xo-H`n!CT)S7kEqTm?_?}^X zJDZ|h;dEe9W4t%dt2UJ3TlGjuXjLXK iT<;)^w4m{N+c4%9t^F>L|ceMMnRTBlh`DS$RJwbVGZ?(Ke(2mC*TM=BA{b zEF|Gv%>7a>On-1vKUNU+)v^?qTZkdYS>|vVrpckXVSwhwH`$D{T;=}-`<_*6pTz6S zla(S_@?`a3cyZNr?bQF)bhR69cAMP!vb5CG|FWbqYE4873?Yib>(5m{c5^a512o=S zespg_F-va8{NBnYCF%u9R&*>&N)5$g3ZwVl + + $(WpfDrtTestBasePublishPath) + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props new file mode 100644 index 00000000000..7e783514db2 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props @@ -0,0 +1,6 @@ + + + + $(WpfTestBasePublishPath)\Common + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj index e5778ec5e8f..288c956924a 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj @@ -1,6 +1,13 @@ - + BamlAvoidXmlTest + console + WCP + false + true + + + true BamlAvoidXmlTest AnyCPU;x64 @@ -12,6 +19,7 @@ + diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BCMarkupExtension.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BCMarkupExtension.cs index 90e3c53b5bc..d0f514bfc81 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BCMarkupExtension.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BCMarkupExtension.cs @@ -32,7 +32,6 @@ public override object ProvideValue( { return string.Format("Path: {0} , Mode: {1}", Path, Mode); } - [CLSCompliant(false)] [MarkupExtensionBracketCharacters('(',')')] [MarkupExtensionBracketCharacters('[',']')] [ConstructorArgument("value")] @@ -44,7 +43,6 @@ public string Path set { _value = value; } } - [CLSCompliant(false)] [ConstructorArgument("value2")] [MarkupExtensionBracketCharacters('$','^')] #pragma warning disable CS3021 // Type or member does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute @@ -71,7 +69,6 @@ public override object ProvideValue( return Path; } - [CLSCompliant(false)] [MarkupExtensionBracketCharacters('[',']')] [MarkupExtensionBracketCharacters('(', ')')] #pragma warning disable CS3021 // Type or member does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props new file mode 100644 index 00000000000..319f7c13864 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs index 71b3191ccef..2feeead35e0 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs @@ -12,86 +12,9 @@ using System.IO; using DrtXaml.XamlTestFramework; using System.Xml; -using Xunit; -using Xunit.Abstractions; -using System.Threading.Tasks; -using System.Threading; namespace DrtXaml { - public class TestFrontEnd - { - public TestFrontEnd(ITestOutputHelper testOutputHelper) - { - _testOutputHelper = testOutputHelper; - } - - [Theory] - [InlineData("ValueSerializerSerializationTests")] - [InlineData("ValueSerializerDeserializationAndRoundtripTest")] - [InlineData("NameReferenceTests")] - [InlineData("AdvXamlFeatureTests")] - [InlineData("AttachablePropertyServicesTests")] - [InlineData("AvoidSystemXmlTest")] - [InlineData("BamlTests")] - [InlineData("BasicXamlTests")] - [InlineData("CollectionTests")] - [InlineData("EventTests")] - [InlineData("FactoryArgumentTests")] - [InlineData("LoadPermissionTests")] - [InlineData("MarkupExtensionTests")] - [InlineData("NodeStreamTests")] - [InlineData("ObjectReaderTests")] - [InlineData("ObjectWriterBasicTests")] - [InlineData("SavedContextTests")] - [InlineData("SchemaTests")] - [InlineData("SubreaderTests")] - [InlineData("TypeArgumentTests")] - [InlineData("WpfUsageTests")] - [InlineData("XamlMarkupExtensionWriterTests")] - [InlineData("XamlXmlWriterTests")] - [InlineData("XamlXmlReaderTests")] - [InlineData("XamlTemplateTests")] - [InlineData("XamlServicesTests")] - public async Task RunSuite(params string[] data) - { - string[] switches = new[] { "-verbose", "-catchexceptions", "-quietasserts" }; - - var args = new List(switches); - foreach (var arg in data) - { - if (!arg.StartsWith("-")) - { - args.Add("-suite"); - } - args.Add(arg); - } - - await StartSTATask(() => new XamlDrt(_testOutputHelper).RunTests(args.ToArray())); - } - - private static Task StartSTATask(Action action) - { - var tcs = new TaskCompletionSource(); - var thread = new Thread(() => - { - try - { - action(); - tcs.SetResult(new object()); - } - catch (Exception e) - { - tcs.SetException(e); - } - }); - thread.SetApartmentState(ApartmentState.STA); - thread.Start(); - return tcs.Task; - } - - private ITestOutputHelper _testOutputHelper; - } public sealed class XamlDrt : DrtBase { public void RunTests(params string[] args) diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj new file mode 100644 index 00000000000..0d96d982242 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj @@ -0,0 +1,12 @@ + + + XamlTestClasses.FriendWithKey + Library + $(DefineConstants);OLDRESOURCES + true + true + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj new file mode 100644 index 00000000000..b3ad111fa7f --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj @@ -0,0 +1,13 @@ + + + XamlTestClasses.FriendWithoutKey + Library + $(DefineConstants);OLDRESOURCES + true + true + false + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj new file mode 100644 index 00000000000..22e6c73fbf0 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj @@ -0,0 +1,20 @@ + + + DrtXaml.PartialTrustTests + Library + $(DefineConstants);OLDRESOURCES + true + true + false + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj index 72ccaf787f5..faf81e73e6e 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj @@ -6,7 +6,7 @@ - true + false DrtXaml.snk diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj new file mode 100644 index 00000000000..a74471c0709 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 4ca582bca1e..730df2169f9 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -1,20 +1,61 @@ + + - true + $(WpfIntRootDirectory)publish\ + x86 + x64 - + - $(MsBuildThisFileDirectory) - false - true - false - false - false + $(MsBuildThisFileDirectory) + $(WpfTestBasePath)\Common\DRT + $(WpfTestBasePath)\Shared + netcoreapp3.0 + AnyCPU;x64 + win-x64;win-x86 + true + + + + false + + + contentfiles;analyzers;build + - + + + $(WpfTestBasePath)\Infra\TestUtilities\InternalUtilities\InternalUtilities.csproj + $(WpfTestBasePath)\Infra\CommunityChest\TestContracts\TestContracts.csproj + $(WpfTestBasePath)\Infra\TestApi\TestApiCore\Code\TestApiCore.csproj + $(WpfTestBasePath)\Common\TestRuntime\TestRuntime.csproj + $(WpfTestBasePath)\Common\Drt\TestServices\TestServices.csproj + $(WpfTestBasePath)\Infra\QualityVault\QualityVaultUtilities\QualityVaultUtilities.csproj + $(WpfTestBasePath)\Common\DRT\Tools\DrtTools.csproj + + + + + + true + false + false + + + + + + + + CS0618;VSTHRD002;VSTHRD001 + + + $(NoWarn);CS3005;CS3001;CS3002;CS3003;CS0169 + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets new file mode 100644 index 00000000000..c42bcba8ce7 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/Publish.props b/src/Microsoft.DotNet.Wpf/test/Publish.props new file mode 100644 index 00000000000..d1401f44259 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/Publish.props @@ -0,0 +1,12 @@ + + + <_IsPortable >true + false + win-x86 + win-x64 + $(PublishRoot)$(Configuration)\$(PlatformFolder) + $(PublishDir)\Test + $(WpfTestBasePublishPath)\FeatureTests + $(WpfTestBasePublishPath)\DRT + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets b/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets new file mode 100644 index 00000000000..32916f86819 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets @@ -0,0 +1,11 @@ + + + + + + + true + + + diff --git a/src/Microsoft.DotNet.Wpf/test/SourceLocations.props b/src/Microsoft.DotNet.Wpf/test/SourceLocations.props new file mode 100644 index 00000000000..8b669d5ffd5 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/SourceLocations.props @@ -0,0 +1,1072 @@ + + + + $(WpfTestBasePath)\Common\Code\Microsoft\Test + $(WpfTestBasePath)\Common\Code\Critical\Microsoft\Test + $(WpfTestBasePath)\Common\Data + + + + + Test\Deployment\ClickOnceHelper.cs + + + + + Test\Container\StorageRootWrapper.cs + + + + + Test\Globalization\Exceptions.cs + + + + + Test\MSBuildEngine\Compiler.cs + Test\MSBuildEngine\ErrorCodes.cs + Test\MSBuildEngine\ErrorWarningParser.cs + Test\MSBuildEngine\IMSBuildLogger.cs + Test\MSBuildEngine\MSBuildCommonHelper.cs + Test\MSBuildEngine\MSBuildLogger.cs + Test\MSBuildEngine\MSBuildPerf.cs + Test\MSBuildEngine\MSBuildPerfLogger.cs + Test\MSBuildEngine\MSBuildProjExecutor.cs + Test\MSBuildEngine\CompilerHelper.cs + + + + + Test\Globalization\AutoDataEnums.cs + Test\Globalization\extract.cs + Test\Globalization\generate.cs + Test\Globalization\LangPackHelper.cs + + + + + Test\EventTracing\ClrTraceEventParser.cs + Test\EventTracing\DynamicTraceEventParser.cs + Test\EventTracing\ETWTraceEventSource.cs + Test\EventTracing\KernelTraceEventParser.cs + Test\EventTracing\Manifest.cs + Test\EventTracing\SymbolEventParser.cs + Test\EventTracing\SymbolResolver.cs + Test\EventTracing\TraceEvent.cs + Test\TraceEventNativeMethods.cs + Test\EventTracing\TraceEventSession.cs + Test\EventTracing\TraceLog.cs + Test\EventTracing\Utility.cs + Test\EventTracing\WPFTraceEventParser.cs + + Test\EventTracing\Utilities\CompressedStream.cs + Test\EventTracing\Utilities\FastSerialization.cs + Test\EventTracing\Utilities\GrowableArray.cs + Test\EventTracing\Utilities\StreamReaderWriter.cs + Test\EventTracing\Utilities\StreamUtilities.cs + Test\EventTracing\Utilities\XmlUtilities.cs + + + + + + ChineseSimplified.txt + Resources\Globalization\ChineseSimplified.txt + + + ChineseTraditional.txt + Resources\Globalization\ChineseTraditional.txt + + + Japanese.txt + Resources\Globalization\Japanese.txt + + + Korean.txt + Resources\Globalization\Korean.txt + + + ProblemDate.xml + Resources\Globalization\ProblemDate.xml + + + ProblemString.xml + Resources\Globalization\ProblemString.xml + + + + + + Test\Markup\ModifyXaml.cs + Test\Markup\WPFLibraryGenerator.cs + Test\Markup\WPFTreeGenerator.cs + Test\Markup\WPFXamlGenerator.cs + Test\Markup\XamlGenerator.cs + Test\Markup\XmlGenerator.cs + Test\Markup\XamlComparer.cs + Test\Markup\XamlTestDocument.cs + + + + + Test\WindowsForms\Application.cs + Test\WindowsForms\WindowsFormsSource.cs + + + + + Test\Loaders\ApplicationDeploymentHelper.cs + Test\Loaders\ApplicationMonitorTest.cs + Test\Loaders\ApplicationMonitor.cs + Test\Loaders\ApplicationMonitorConfig.cs + Test\Loaders\FileHost.cs + Test\Loaders\IXamlLauncher.cs + Test\Loaders\LoaderStep.cs + Test\Loaders\ResourceHelper.cs + Test\Loaders\FireFoxAutomationHelper.cs + Test\Loaders\UIHandler.cs + Test\Loaders\Steps\ActivationStep.cs + Test\Loaders\Steps\FileHostStep.cs + Test\Loaders\Steps\HostingRuntimePolicyHelper.cs + Test\Loaders\Steps\LoggingSteps.cs + Test\Loaders\Steps\VersionHelper.cs + Test\Loaders\Steps\RegistryStep.cs + Test\Loaders\UIHandlers\DefaultHandlers.cs + Test\Loaders\Steps\Scripter.cs + Test\Loaders\Steps\String.cs + Test\Loaders\Steps\Win32.cs + Test\Loaders\Steps\Resources.cs + Test\Loaders\Steps\Registry.cs + Test\Loaders\Steps\Tests.cs + Test\Loaders\Steps\Diagnostics.cs + Test\Loaders\Steps\IO.cs + Test\Loaders\Steps\UI.cs + Test\Loaders\Steps\XML.cs + Test\Loaders\Steps\Input.cs + + Test\Loaders\Steps\Reflection.cs + Test\Loaders\Steps\Avalon.cs + Test\Loaders\Steps\Collections.cs + Test\Loaders\Steps\Environment.cs + Test\Loaders\Steps\ScripterStep.cs + Test\Loaders\UIHandlers\CustomUIHandler.cs + Test\Loaders\Steps\ConfigFileStep.cs + + Test\Loaders\IENavigationHelper.cs + Test\Loaders\Steps\MachineInfoStepDisabler.cs + + + + + + + NamedRegistrations.xml + Resources\Loaders\NamedRegistrations.xml + + + ErrorCodes.xml + Resources\Loaders\ErrorCodes.xml + + + + + + Test\Threading\DispatcherHelper.cs + Test\Threading\DispatcherQueueWrapper.cs + Test\Threading\DispatcherTimerHelper.cs + Test\Threading\DispatcherPriorityHelper.cs + Test\Threading\DispatcherSignalHelper.cs + + + + + Test\Security\Secure.cs + + + + + Test\Security\Wrappers\TestAPISw.cs + Test\Security\Wrappers\AvalonWrappers.cs + Test\Security\Wrappers\WrapperClasses.cs + + Test\Security\Wrappers\WrapperClasses40.cs + + + + + Test\Display\DisplayConfiguration.cs + Test\Display\DisplaySettings.cs + Test\Display\DisplaySettingsInfo.cs + Test\Display\DwmApi.cs + Test\Display\Monitor.cs + + + + + Test\Display\Desktop.cs + + + + + + Test\Leak\LeakTest.cs + + + + + Test\TestTypes\AvalonModel.cs + Test\TestTypes\AvalonTest.cs + Test\TestTypes\ETWVerificationTest.cs + Test\TestTypes\StepsTest.cs + Test\TestTypes\WindowModel.cs + Test\TestTypes\WindowTest.cs + Test\TestTypes\WindowUtil.cs + Test\TestTypes\XamlModel.cs + Test\TestTypes\XamlTest.cs + Test\TestTypes\XamlVisualVerificationTest.cs + + + + + Test\Drt\DrtRunner.cs + + + + + Test\Verification\IVerifier.cs + Test\Verification\IVerifyResult.cs + Test\Verification\VerifyResult.cs + + + + + Test\Input\InputHelper.cs + + + + + Test\Input\Input.cs + Test\Input\NativeMethods.cs + Test\Input\SafeNativeMethods.cs + Test\Input\UnsafeNativeMethods.cs + Test\Input\InputManagerWrapper.cs + Test\Input\KeyboardRecorder.cs + Test\Input\RawMouseActions.cs + Test\Input\InputReportEventArgsWrapper.cs + Test\Input\RawKeyboardActions.cs + Test\Input\RawMouseInputReportWrapper.cs + Test\Input\RawMouseState.cs + Test\Input\RawKeyboardInputReportWrapper.cs + Test\Input\InputReportWrapper.cs + Test\Input\KeyboardPlayer.cs + Test\Input\RawKeyboardState.cs + Test\Input\RawTextInputReportWrapper.cs + Test\Input\MultiMonitorHelper.cs + Test\Input\UserInput.cs + + + + + + Test\Hosting\UiaDistributedStepInfo.cs + Test\Hosting\UiaDistributedStepTarget.cs + Test\Hosting\UiaDistributedTestcase.cs + Test\Hosting\UiaDistributedTestCaseHost.cs + Test\Hosting\UiaSimpleTestCase.cs + Test\Hosting\UiaTestState.cs + + Test\Hosting\XamlBrowserHost.cs + + + + + Critical\Test\Serialization\ObjectSerializer.cs + Critical\Test\Serialization\DefaultObjectSerializer.cs + + + + + Critical\Test\Logging\TestResult.cs + Critical\Test\Logging\IHarnessLoggingContract.cs + + + + + + Test\Logging\TestLog.cs + Test\Logging\TestStage.cs + Test\Logging\GlobalLog.cs + + + + + Test\Diagnostics\SystemInformation.cs + Test\Diagnostics\ProcessorInformation.cs + Test\Diagnostics\SystemMetrics.cs + + + + + Test\Diagnostics\SystemInformation_Wpf.cs + + + + + Test\Diagnostics\SystemInformation_WindowsMediaPlayer.cs + + + + + Test\Diagnostics\ProcessMonitor.cs + + + + + Test\Diagnostics\ProcessHelper.cs + Test\Diagnostics\ProcessGroup.cs + Test\Diagnostics\ManifestHelper.cs + + + + + + + + + + Test\Diagnostics\CdbSession.cs + + + + + Test\Configuration\MachineStateManager.cs + + + + + Test\StateManagement\StateManager.cs + Test\StateManagement\State.cs + Test\StateManagement\RegistryState.cs + Test\StateManagement\UserSessionState.cs + Test\StateManagement\SystemInformationState.cs + Test\StateManagement\MonitorState.cs + Test\StateManagement\DisplayThemeState.cs + Test\StateManagement\BrowserState.cs + Test\StateManagement\FirewallExceptionState.cs + Test\StateManagement\ComServerState.cs + + + + + Test\Diagnostics\IExecutionService.cs + Test\Diagnostics\ExecutionServiceClient.cs + Test\Diagnostics\ExecutionServiceClientConnection.cs + Test\Diagnostics\FirefoxHelper.cs + Test\Diagnostics\FirewallHelper.cs + Test\Diagnostics\RegistrationHelper.cs + Test\Diagnostics\UserSessionHelper.cs + Test\Diagnostics\UserInfo.cs + Test\Diagnostics\WttHelper.cs + Test\Diagnostics\ImpersonateUserHelper.cs + Critical\Test\Deployment\RuntimeDeploymentHelper.cs + + + + + Test\Diagnostics\ExecutionServiceProxyClient.cs + Test\Diagnostics\ExecutionServiceProxy.cs + + + + + Test\Win32\NativeStructs.cs + Test\Win32\NativeConstants.cs + Test\Win32\Gdi32.cs + Test\Win32\User32.cs + Test\Win32\Kernel32.cs + Test\Win32\WindowEnumerator.cs + Test\Win32\Ntdll.cs + + + + + Test\Win32\HwndSubClass.cs + Test\Win32\HwndWrapper.cs + Test\Win32\ManagedWndProcTracker.cs + Test\Win32\NativeMethods.cs + Test\Win32\WeakReferenceList.cs + Test\Win32\WeakReferenceListEnumerator.cs + Test\Win32\AcceleratorTable.cs + + + + + + Test\Modeling\AsyncActionManager.cs + Test\Modeling\Model.cs + Test\Modeling\ModelingBaseObject.cs + Test\Modeling\TestLoader.cs + Test\Modeling\XamlTransformer.cs + Test\Modeling\XtcParser.cs + Test\Modeling\XtcTestCaseLoader.cs + + + + + Test\Windows\ActionForTypeHelper.cs + Test\Windows\TreeComparer.cs + + + + + + PropertiesToSkip.xml + Resources\Windows\PropertiesToSkip.xml + + + + + + Test\EventHelper.cs + Test\ExceptionHelper.cs + Test\TestException.cs + Test\TestSetupException.cs + Test\TestValidationException.cs + + + + + Test\Serialization\BamlHelper.cs + Test\Serialization\BamlReaderWrapper.cs + Test\Serialization\BamlWriterWrapper.cs + Test\Serialization\IOHelper.cs + Test\Serialization\SerializationHelper.cs + Test\Serialization\WrapperUtil.cs + Test\Serialization\XamlRoundTrip.cs + + + + + Test\Serialization\CustomElements\CustomBorder.cs + Test\Serialization\CustomElements\CustomButton.cs + Test\Serialization\CustomElements\CustomCanvas.cs + Test\Serialization\CustomElements\CustomDockPanel.cs + Test\Serialization\CustomElements\CustomElementHelper.cs + Test\Serialization\CustomElements\CustomPage.cs + Test\Serialization\CustomElements\CustomStackPanel.cs + Test\Serialization\CustomElements\CustomTextPanel.cs + Test\Serialization\CustomElements\CustomWindow.cs + Test\Serialization\CustomElements\ICustomElement.cs + + + + + Test\Integration\ActionForXamlInfo.cs + Test\Integration\FileVariationGenerator.cs + Test\Integration\FileVariationItem.cs + Test\Integration\BaseTestContract.cs + Test\Integration\BaseVariationGenerator.cs + Test\Integration\CallbackVariationGenerator.cs + Test\Integration\CallbackVariationItem.cs + Test\Integration\CollectionsXamlHelper.cs + Test\Integration\CombinationGenerator.cs + Test\Integration\GeneratorReference.cs + Test\Integration\Helper.cs + Test\Integration\ITestContract.cs + Test\Integration\IVariationGenerator.cs + Test\Integration\MDEVariationGenerator.cs + Test\Integration\MDEVariationItem.cs + Test\Integration\NotificationList.cs + Test\Integration\StorageItem.cs + Test\Integration\TestExtenderGraph.cs + Test\Integration\TestExtenderOutput.cs + Test\Integration\VariationItem.cs + Test\Integration\VariationItemGroup.cs + Test\Integration\CommonStorage.cs + Test\Integration\SelectorGenerator.cs + Test\Integration\ContentItem.cs + Test\Integration\AssemblyDesc.cs + Test\Integration\WPF3Helper.cs + Test\Integration\Windows\TypeVariationGenerator.cs + Test\Integration\Windows\TypeVariationItem.cs + Test\Integration\Windows\ContainerVariationGenerator.cs + Test\Integration\Windows\ContainerVariationItem.cs + Test\Integration\Windows\ActionSequenceVariationGenerator.cs + Test\Integration\Windows\ControllerProxy.cs + Test\Integration\Windows\Controller.cs + Test\Integration\Windows\ThreadController.cs + Test\Integration\Windows\ApplicationController.cs + Test\Integration\Windows\WinFormsController.cs + Test\Integration\TestExtenderHelper.cs + + + + + Test\PICT\ObjectArrays\AllPossibleObjectArrayCollection.cs + Test\PICT\ObjectArrays\AllPossibleObjectArrayEnumerator.cs + Test\PICT\ObjectArrays\AllPossibleObjectArrayGenerationStrategy.cs + Test\PICT\ObjectArrays\IObjectArrayCollection.cs + Test\PICT\ObjectArrays\IObjectArrayEnumerator.cs + Test\PICT\ObjectArrays\IObjectArrayGenerationStrategy.cs + Test\PICT\ObjectArrays\ObjectArrayGeneration.cs + Test\PICT\ObjectArrays\ObjectArrayGenerator.cs + Test\PICT\ObjectArrays\ObjectArrayPairwiseGeneration.cs + Test\PICT\ObjectArrays\PairwiseObjectArrayCollection.cs + Test\PICT\ObjectArrays\PairwiseObjectArrayEnumerator.cs + Test\PICT\ObjectArrays\PairwiseObjectArrayGenerationStrategy.cs + Test\PICT\IPairwiseComment.cs + Test\PICT\IPairwiseVisitable.cs + Test\PICT\PairwiseAliasCollection.cs + Test\PICT\PairwiseAndClause.cs + Test\PICT\PairwiseComparison.cs + Test\PICT\PairwiseComparisonTerm.cs + Test\PICT\PairwiseCondition.cs + Test\PICT\PairwiseConditionCollection.cs + Test\PICT\PairwiseEqualTerm.cs + Test\PICT\PairwiseException.cs + Test\PICT\PairwiseGreaterThanOrEqualTerm.cs + Test\PICT\PairwiseGreaterThanTerm.cs + Test\PICT\PairwiseIfThenConstraint.cs + Test\PICT\PairwiseIfThenConstraintCollection.cs + Test\PICT\PairwiseInTerm.cs + Test\PICT\PairwiseLessThanOrEqualTerm.cs + Test\PICT\PairwiseLessThanTerm.cs + Test\PICT\PairwiseLikeTerm.cs + Test\PICT\PairwiseLogicalClause.cs + Test\PICT\PairwiseLogicalRelationship.cs + Test\PICT\PairwiseModel.cs + Test\PICT\PairwiseNotClause.cs + Test\PICT\PairwiseNotEqualTerm.cs + Test\PICT\PairwiseNotInTerm.cs + Test\PICT\PairwiseOrClause.cs + Test\PICT\PairwiseParameter.cs + Test\PICT\PairwiseParameterCollection.cs + Test\PICT\PairwiseParameterConstraint.cs + Test\PICT\PairwiseParameterConstraintCollection.cs + Test\PICT\PairwisePICTCache.cs + Test\PICT\PairwiseSettings.cs + Test\PICT\PairwiseSubModel.cs + Test\PICT\PairwiseSubModelCollection.cs + Test\PICT\PairwiseTerm.cs + Test\PICT\PairwiseTuple.cs + Test\PICT\PairwiseValue.cs + Test\PICT\PairwiseValueCollection.cs + Test\PICT\PairwiseValueType.cs + Test\PICT\PairwiseVisitor.cs + Test\PICT\PICTConstants.cs + Test\PICT\PICTExecutionInformation.cs + Test\PICT\PICTPairwiseVisitor.cs + Test\PICT\PICTRunner.cs + Test\PICT\PICTWarningBehaviors.cs + Test\PICT\PICTWarningEventArgs.cs + Test\PICT\PICTWarningEventHandler.cs + Test\PICT\MatrixOutput\PairwiseTestCase.cs + Test\PICT\MatrixOutput\PairwiseTestMatrix.cs + Test\PICT\MatrixOutput\PairwiseTestParameter.cs + Test\PICT\MatrixOutput\PairwiseTestParameter.cs + + + + + Test\Imaging\BitmapCapture.cs + Test\Imaging\BitmapUtils.cs + Test\Imaging\ColorUtils.cs + Test\Imaging\ComparisonAlgorithm.cs + Test\Imaging\ComparisonCriteria.cs + Test\Imaging\ComparisonOperation.cs + Test\Imaging\ComparisonOperationUtils.cs + Test\Imaging\ComparisonResult.cs + Test\Imaging\ElementUtils.cs + Test\Imaging\PixelData.cs + + + + + Test\Animation\AnimationSideBySide.cs + Test\Animation\AnimationUtils.cs + Test\Animation\AnimationValidator.cs + Test\Animation\TimeManagerCommon.cs + + + + + Test\RenderingVerification\ColorByte.cs + Test\RenderingVerification\ColorDouble.cs + Test\RenderingVerification\Color_Avalon.cs + Test\RenderingVerification\Curve.cs + Test\RenderingVerification\CurveTolerance.cs + Test\RenderingVerification\DisplayConfiguration.cs + Test\RenderingVerification\DisplayConfigurationMinimal.cs + Test\RenderingVerification\Exceptions.cs + Test\RenderingVerification\ImageAdapter.cs + Test\RenderingVerification\ImageComparator.cs + Test\RenderingVerification\ImageUtility.cs + Test\RenderingVerification\ImageUtilityProxy.cs + Test\RenderingVerification\ImageUtility_Avalon.cs + Test\RenderingVerification\Interfaces.cs + Test\RenderingVerification\IPUtil.cs + Test\RenderingVerification\KeepGreaterKey.cs + Test\RenderingVerification\MetaDataInfo.cs + Test\RenderingVerification\MismatchingPoints.cs + Test\RenderingVerification\Package.cs + Test\RenderingVerification\Pixel.cs + Test\RenderingVerification\PInvoke.cs + Test\RenderingVerification\PropertyItemWrapper.cs + Test\RenderingVerification\RuntimeInfo.cs + Test\RenderingVerification\RenderRect.cs + Test\RenderingVerification\VideoCapture.cs + Test\RenderingVerification\XamlLauncherReflect.cs + Test\RenderingVerification\Filters\AffineFilter.cs + Test\RenderingVerification\Filters\AttractorFilter.cs + Test\RenderingVerification\Filters\BlurFilter.cs + Test\RenderingVerification\Filters\BrightnessContrastFilter.cs + Test\RenderingVerification\Filters\ChannelOperationFilter.cs + Test\RenderingVerification\Filters\ColorFilter.cs + Test\RenderingVerification\Filters\ColorSpaceConversion.cs + Test\RenderingVerification\Filters\ColorTransformFilter.cs + Test\RenderingVerification\Filters\ContrastFilter.cs + Test\RenderingVerification\Filters\ConvolutionFilter.cs + Test\RenderingVerification\Filters\EqualizeFilter.cs + Test\RenderingVerification\Filters\Filter.cs + Test\RenderingVerification\Filters\FilterParameter.cs + Test\RenderingVerification\Filters\FlipRotateFilter.cs + Test\RenderingVerification\Filters\GammaCorrectFilter.cs + Test\RenderingVerification\Filters\GaussianFilter.cs + Test\RenderingVerification\Filters\GlowFilter.cs + Test\RenderingVerification\Filters\GrayscaleFilter.cs + Test\RenderingVerification\Filters\IColorConverter.cs + Test\RenderingVerification\Filters\Image2DTransforms.cs + Test\RenderingVerification\Filters\Interpolator.cs + Test\RenderingVerification\Filters\LogicalOperationFilter.cs + Test\RenderingVerification\Filters\Matrix2D.cs + Test\RenderingVerification\Filters\Matrix2DConverter.cs + Test\RenderingVerification\Filters\MorphologicalFilter.cs + Test\RenderingVerification\Filters\MorphShapeFilter.cs + Test\RenderingVerification\Filters\NegateFilter.cs + Test\RenderingVerification\Filters\OpacityPointsFilter.cs + Test\RenderingVerification\Filters\OrderStatisticFilter.cs + Test\RenderingVerification\Filters\PixelizeFilter.cs + Test\RenderingVerification\Filters\ProcessXmlFilter.cs + Test\RenderingVerification\Filters\RenderingColorConverter.cs + Test\RenderingVerification\Filters\SaturateEdgeFilter.cs + Test\RenderingVerification\Filters\SchematizationFilter.cs + Test\RenderingVerification\Filters\SharpenFilter.cs + Test\RenderingVerification\Filters\SpatialTransformFilter.cs + Test\RenderingVerification\Filters\TintFilter.cs + Test\RenderingVerification\Filters\TintShadeFilter.cs + Test\RenderingVerification\Filters\VMorph.cs + Test\RenderingVerification\Filters\WaveletTransformFilter.cs + Test\RenderingVerification\Filters\WVMorph.cs + Test\RenderingVerification\Models\Analytical\CartesianMomentDescriptor.cs + Test\RenderingVerification\Models\Analytical\Criterion.cs + Test\RenderingVerification\Models\Analytical\DescriptorBase.cs + Test\RenderingVerification\Models\Analytical\DescriptorInfo.cs + Test\RenderingVerification\Models\Analytical\DescriptorManager.cs + Test\RenderingVerification\Models\Analytical\DescriptorSquareMatrix.cs + Test\RenderingVerification\Models\Analytical\ImageToShapeIDMapping.cs + Test\RenderingVerification\Models\Analytical\Interfaces.cs + Test\RenderingVerification\Models\Analytical\ModelManager2.cs + Test\RenderingVerification\Models\Analytical\MomentDescriptorBase.cs + Test\RenderingVerification\Models\Analytical\PolarMomentDescriptor.cs + Test\RenderingVerification\Models\Analytical\VScan.cs + Test\RenderingVerification\Models\Synthetical\AnimatedProperty.cs + Test\RenderingVerification\Models\Synthetical\Animator.cs + Test\RenderingVerification\Models\Synthetical\AvalonTypographer.cs + Test\RenderingVerification\Models\Synthetical\DeltaImageComparator.cs + Test\RenderingVerification\Models\Synthetical\GeometryFilter.cs + Test\RenderingVerification\Models\Synthetical\GlyphBase.cs + Test\RenderingVerification\Models\Synthetical\GlyphChar.cs + Test\RenderingVerification\Models\Synthetical\GlyphColorChooser.cs + Test\RenderingVerification\Models\Synthetical\GlyphComparator.cs + Test\RenderingVerification\Models\Synthetical\GlyphCompareInfo.cs + Test\RenderingVerification\Models\Synthetical\GlyphContainer.cs + Test\RenderingVerification\Models\Synthetical\GlyphFont.cs + Test\RenderingVerification\Models\Synthetical\GlyphImage.cs + Test\RenderingVerification\Models\Synthetical\GlyphLayout.cs + Test\RenderingVerification\Models\Synthetical\GlyphModel.cs + Test\RenderingVerification\Models\Synthetical\GlyphPanel.cs + Test\RenderingVerification\Models\Synthetical\GlyphResource.cs + Test\RenderingVerification\Models\Synthetical\GlyphShape.cs + Test\RenderingVerification\Models\Synthetical\GlyphText.cs + Test\RenderingVerification\Models\Synthetical\Interfaces.cs + Test\RenderingVerification\Models\Synthetical\LayoutContainer.cs + Test\RenderingVerification\Models\Synthetical\MatchingInfo.cs + Test\RenderingVerification\Models\Synthetical\MatchingInfoEditor.cs + Test\RenderingVerification\Models\Synthetical\StandardTypographer.cs + Test\RenderingVerification\Models\Synthetical\TypographBroker.cs + Test\RenderingVerification\Models\Synthetical\XenoSymbolBroker.cs + Test\RenderingVerification\Models\Synthetical\LayoutEngine\CanvasLayoutEngine.cs + Test\RenderingVerification\Models\Synthetical\LayoutEngine\FlowLayoutEngine.cs + Test\RenderingVerification\ResourceFetcher\EmbeddedResourceKey.cs + Test\RenderingVerification\ResourceFetcher\EmbeddedResourceProvider.cs + Test\RenderingVerification\ResourceFetcher\ResourceProvider.cs + Test\RenderingVerification\ResourceFetcher\Resourcestripper.cs + Test\RenderingVerification\UnmanagedProxies\UnmanagedInterfaces.cs + Test\RenderingVerification\AsyncData.cs + Test\RenderingVerification\AsyncHelper.cs + Test\RenderingVerification\ImageComparisonResult.cs + Test\RenderingVerification\ImageComparisonSettings.cs + Test\RenderingVerification\ImageMetadata.cs + Test\RenderingVerification\MasterDimensions.cs + Test\RenderingVerification\MasterImageComparer.cs + Test\RenderingVerification\MasterIndex.cs + Test\RenderingVerification\MasterMetadata.cs + + + + + + Microsoft.Test.RenderingVerification.RenderingVerification.DefaultTolerance.xml + Resources\VScan\DefaultTolerance.xml + + + + + + Test\Compression\Archiver.cs + Test\Compression\Cab\Cab.cs + Test\Compression\Cab\CabApi.cs + Test\Compression\Cab\CabBase.cs + Test\Compression\Cab\CabCreator.cs + Test\Compression\Cab\CabException.cs + Test\Compression\Cab\CabExtractor.cs + Test\Compression\Cab\CabInfo.cs + Test\Compression\Cab\CabStatus.cs + Test\Compression\Cab\DuplicateStream.cs + Test\Compression\Cab\HandleManager.cs + Test\Compression\Cab\OffsetStream.cs + + + + + Test\Graphics\ColorOperations.cs + Test\Graphics\DiscreteAnimation.cs + Test\Graphics\MathEx.cs + Test\Graphics\Matrix3DAnimation.cs + Test\Graphics\MatrixUtils.cs + Test\Graphics\MeshOperations.cs + Test\Graphics\ObjectUtils.cs + Test\Graphics\StringConverter.cs + Test\Graphics\VisualUtils.cs + Test\Graphics\DpiScalingHelper.cs + Test\Graphics\RenderingModeHelper.cs + Test\Graphics\RenderingMode.cs + + + + + Test\Graphics\Factories\BrushFactory.cs + Test\Graphics\Factories\CameraFactory.cs + Test\Graphics\Factories\Const.cs + Test\Graphics\Factories\Const2D.cs + Test\Graphics\Factories\DrawingFactory.cs + Test\Graphics\Factories\EffectFactory.cs + Test\Graphics\Factories\EffectInputFactory.cs + Test\Graphics\Factories\GeometryFactory.cs + Test\Graphics\Factories\HitTestFilterFactory.cs + Test\Graphics\Factories\LightFactory.cs + Test\Graphics\Factories\MaterialFactory.cs + Test\Graphics\Factories\MeshFactory.cs + Test\Graphics\Factories\ModelFactory.cs + Test\Graphics\Factories\ObjectFactory.cs + Test\Graphics\Factories\PenFactory.cs + Test\Graphics\Factories\SceneFactory.cs + Test\Graphics\Factories\ShapeFactory.cs + Test\Graphics\Factories\Transform2DFactory.cs + Test\Graphics\Factories\TransformFactory.cs + Test\Graphics\Factories\Visual3DFactory.cs + Test\Graphics\Factories\VisualFactory.cs + + + + + Test\Graphics\ReferenceRender\BiLinearTextureFilter.cs + Test\Graphics\ReferenceRender\Edge.cs + Test\Graphics\ReferenceRender\GouraudShader.cs + Test\Graphics\ReferenceRender\HdrColor.cs + Test\Graphics\ReferenceRender\Interpolators.cs + Test\Graphics\ReferenceRender\LightEquations.cs + Test\Graphics\ReferenceRender\MeshProjectedGeometry.cs + Test\Graphics\ReferenceRender\ModelBounder.cs + Test\Graphics\ReferenceRender\ModelRenderer.cs + Test\Graphics\ReferenceRender\NearestNeighbourTextureFilter.cs + Test\Graphics\ReferenceRender\PhongShader.cs + Test\Graphics\ReferenceRender\ProjectedGeometry.cs + Test\Graphics\ReferenceRender\RenderBuffer.cs + Test\Graphics\ReferenceRender\RenderTolerance.cs + Test\Graphics\ReferenceRender\RenderToToleranceShader.cs + Test\Graphics\ReferenceRender\RenderVerifier.cs + Test\Graphics\ReferenceRender\SceneRenderer.cs + Test\Graphics\ReferenceRender\Shader.cs + Test\Graphics\ReferenceRender\SolidColorTextureFilter.cs + Test\Graphics\ReferenceRender\SSLProjectedGeometry.cs + Test\Graphics\ReferenceRender\TextureFilter.cs + Test\Graphics\ReferenceRender\TextureGenerator.cs + Test\Graphics\ReferenceRender\Triangle.cs + Test\Graphics\ReferenceRender\TriLinearTextureFilter.cs + Test\Graphics\ReferenceRender\Vertex.cs + Test\Graphics\ReferenceRender\VisualBounder.cs + + + + + Test\Graphics\TestTypes\AnimationAPITest.cs + Test\Graphics\TestTypes\AnimationAPITestBase.cs + Test\Graphics\TestTypes\ClassGenerator.cs + Test\Graphics\TestTypes\CodeGenerator.cs + Test\Graphics\TestTypes\ConstructorGenerator.cs + Test\Graphics\TestTypes\CoreGraphicsTest.cs + Test\Graphics\TestTypes\EnvironmentWrapper.cs + Test\Graphics\TestTypes\ExceptionCatchingTest.cs + Test\Graphics\TestTypes\Exceptions.cs + Test\Graphics\TestTypes\FactoryParser.cs + Test\Graphics\TestTypes\InfoOrganizer.cs + Test\Graphics\TestTypes\InheritanceChecker.cs + Test\Graphics\TestTypes\Interop.cs + Test\Graphics\TestTypes\Logger.cs + Test\Graphics\TestTypes\MethodGenerator.cs + Test\Graphics\TestTypes\MethodGeneratorBase.cs + Test\Graphics\TestTypes\PartialTrust.cs + Test\Graphics\TestTypes\PhotoConverter.cs + Test\Graphics\TestTypes\Photographer.cs + Test\Graphics\TestTypes\PropertyGenerator.cs + Test\Graphics\TestTypes\ReferenceTest.cs + Test\Graphics\TestTypes\RenderingTest.cs + Test\Graphics\TestTypes\RenderingWindow.cs + Test\Graphics\TestTypes\RunAllTester.cs + Test\Graphics\TestTypes\RunScriptTester.cs + Test\Graphics\TestTypes\SerializationTest.cs + Test\Graphics\TestTypes\Tester.cs + Test\Graphics\TestTypes\TestLauncher.cs + Test\Graphics\TestTypes\TestObjects.cs + Test\Graphics\TestTypes\Tokens.cs + Test\Graphics\TestTypes\Variation.cs + Test\Graphics\TestTypes\ViewportWindow.cs + Test\Graphics\TestTypes\VisualObjects.cs + Test\Graphics\TestTypes\VisualVerificationTest.cs + Test\Graphics\TestTypes\VisualWindow.cs + Test\Graphics\TestTypes\VisualWrapper.cs + Test\Graphics\TestTypes\XAMLTest.cs + + + + + + + + + + + + + Test\Layout\Common\Common.cs + Test\Layout\Common\LayoutTestWindows.cs + Test\Layout\Common\LayoutUtility.cs + Test\Layout\Common\DoubleUtil.cs + Test\Layout\Common\VisualScan.cs + Test\Layout\TestTypes\LayoutTest.cs + Test\Layout\TestTypes\CodeTest.cs + Test\Layout\TestTypes\PropertyDumpTest.cs + Test\Layout\TestTypes\VisualScanTest.cs + Test\Layout\PropertyDump\Arguments.cs + Test\Layout\PropertyDump\DiffPackage.cs + Test\Layout\PropertyDump\Filter.cs + Test\Layout\PropertyDump\FrameworkElements.cs + Test\Layout\PropertyDump\Package.cs + Test\Layout\PropertyDump\PropertyDumpCore.cs + Test\Layout\PropertyDump\PropertyDumpHelper.cs + Test\Layout\PropertyDump\TextViewWrapper\ColumnResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\ContainerParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\DocumentPageTextViewW.cs + Test\Layout\PropertyDump\TextViewWrapper\FloaterParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\FigureParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\FlowDocumentPageW.cs + Test\Layout\PropertyDump\TextViewWrapper\IEnumerableW.cs + Test\Layout\PropertyDump\TextViewWrapper\LineResultDetailsW.cs + Test\Layout\PropertyDump\TextViewWrapper\LineResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\OrientedTextPositionW.cs + Test\Layout\PropertyDump\TextViewWrapper\ParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\ReflectionHelper.cs + Test\Layout\PropertyDump\TextViewWrapper\RowParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\SubpageParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\TableParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\TextDocumentViewW.cs + Test\Layout\PropertyDump\TextViewWrapper\TextParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\TextParagraphViewW.cs + Test\Layout\PropertyDump\TextViewWrapper\UIElementParagraphResultW.cs + + + + + Test\Stability\Stress\DistributionFactory.cs + Test\Stability\Stress\RandDist.cs + Test\Stability\Stress\RandomGenerator.cs + Test\Stability\Stress\Invariant.cs + Test\Stability\Stress\StressFrameWorkHelper.cs + Test\Stability\Stress\WeightedList.cs + Test\Stability\Stress\Action\ActionManager.cs + Test\Stability\Stress\Action\Attributes.cs + Test\Stability\Stress\Action\IAction.cs + Test\Stability\Stress\Action\IActionFactory.cs + Test\Stability\Stress\Action\WeightedActionFactory.cs + Test\Stability\Stress\ConfigReader\ConfigReader.cs + Test\Stability\Stress\ConfigReader\IConfigReader.cs + Test\Stability\Stress\ConfigReader\MultipleTagSectionHandler.cs + Test\Stability\Stress\Context\ActionHandlers.cs + Test\Stability\Stress\Context\EventHandlers.cs + Test\Stability\Stress\Context\EventArgs.cs + Test\Stability\Stress\Context\Handlers.cs + Test\Stability\Stress\Context\IStressContext.cs + Test\Stability\Stress\Context\IStressContextManager.cs + Test\Stability\Stress\Context\StressContext.cs + Test\Stability\Stress\Context\StressContextManager.cs + Test\Stability\Stress\Context\IObjectFactory.cs + Test\Stability\Stress\Context\EnumerationObjectFactory.cs + Test\Stability\Stress\Context\ReflectionObjectFactory.cs + Test\Stability\Stress\CoreServices\CoreServices.cs + Test\Stability\Stress\CoreServices\ICoreServices.cs + Test\Stability\Stress\CoreServices\IStressManager.cs + Test\Stability\Stress\CoreServices\StressManager.cs + Test\Stability\Stress\CoreServices\EventLogger.cs + Test\Stability\Stress\Exceptions\ExceptionEventArgs.cs + Test\Stability\Stress\Exceptions\ExceptionEventHandlers.cs + Test\Stability\Stress\PropertyEngine\PropertyEngine.cs + Test\Stability\Stress\Storage\ContextStorage.cs + Test\Stability\Stress\Storage\EventArgs.cs + Test\Stability\Stress\Storage\IStorage.cs + Test\Stability\Stress\StressFrameworkObject\IStressFrameworkObject.cs + Test\Stability\Stress\StressFrameworkObject\StressFrameworkObject.cs + Test\Stability\Stress\Security\SecurityHelper.cs + Test\Stability\Stress\Thread\EventArgs.cs + Test\Stability\Stress\Thread\EventHandlers.cs + Test\Stability\Stress\Thread\IStressThread.cs + Test\Stability\Stress\Thread\IStressThreadManager.cs + Test\Stability\Stress\Thread\StressThread.cs + Test\Stability\Stress\Thread\StressThreadManager.cs + Test\Stability\Stress\Utils\ProcessShutdownMonitor.cs + Test\Stability\Stress\Utils\Win32NativeInterop.cs + Test\Stability\Stress\Utils\CommandlineParser.cs + Test\Stability\Stress\Utils\XmlParser.cs + Test\Stability\Stress\IEHelper\DISPIDs.cs + Test\Stability\Stress\IEHelper\IEInterop.cs + Test\Stability\Stress\IEHelper\Rtl.cs + Test\Collections\Generics\WeightedList.cs + + + + + Test\Stability\Stress\AvalonProxy\AssemblyCacheEnum.cs + Test\Stability\Stress\AvalonProxy\AvalonActionManager.cs + Test\Stability\Stress\AvalonProxy\AvalonStressContext.cs + Test\Stability\Stress\AvalonProxy\AvalonStressContextManager.cs + Test\Stability\Stress\AvalonProxy\AvalonStressThreadManager.cs + Test\Stability\Stress\AvalonProxy\MemoryChecker.cs + Test\Stability\Stress\AvalonProxy\AvalonStressFrameworkHelper.cs + Test\Stability\Stress\AvalonProxy\BrowserStressContext.cs + Test\Stability\Stress\AvalonProxy\BrowserStressContextManager.cs + Test\Stability\Stress\AvalonProxy\BrowserStressThreadManager.cs + + + + + Test\Stability\Stress\LonghaulProxy\LonghaulSQLConnect.cs + Test\Stability\Stress\LonghaulProxy\LonghaulCommon.cs + Test\Stability\Stress\LonghaulProxy\LonghaulStateObjects.cs + Test\Stability\Stress\LonghaulProxy\LonghaulStressContext.cs + Test\Stability\Stress\LonghaulProxy\LonghaulStressContextManager.cs + Test\Stability\Stress\LonghaulProxy\LonghaulStressThreadManager.cs + Test\Stability\Stress\LonghaulProxy\LonghaulEventLog.cs + + + + + Test\Stability\LeakUtility.cs + Test\Stability\Input.cs + + + + + Test\Stability\Stress\Graphics\AddNodes.cs + Test\Stability\Stress\Graphics\AnimationFactory.cs + Test\Stability\Stress\Graphics\Channel.cs + Test\Stability\Stress\Graphics\ChannelFactory.cs + Test\Stability\Stress\Graphics\CompositionActorFactory.cs + Test\Stability\Stress\Graphics\ConnectDisconnect.cs + Test\Stability\Stress\Graphics\ConnectDisconnectActorFactory.cs + Test\Stability\Stress\Graphics\ContainerVisual.cs + Test\Stability\Stress\Graphics\DrawContextProvider.cs + Test\Stability\Stress\Graphics\GetHwndSources.cs + Test\Stability\Stress\Graphics\GetProperties.cs + Test\Stability\Stress\Graphics\GetPropertiesFactory.cs + Test\Stability\Stress\Graphics\HelperClass.cs + Test\Stability\Stress\Graphics\HitTest.cs + Test\Stability\Stress\Graphics\HitTestFactory.cs + Test\Stability\Stress\Graphics\HostVisual.cs + Test\Stability\Stress\Graphics\HwndSourceCreator.cs + Test\Stability\Stress\Graphics\IDrawContextProvider.cs + Test\Stability\Stress\Graphics\IRootVisualHolder.cs + Test\Stability\Stress\Graphics\ISurface.cs + Test\Stability\Stress\Graphics\IVisual.cs + Test\Stability\Stress\Graphics\IVisualProperties.cs + Test\Stability\Stress\Graphics\Magnifier.cs + Test\Stability\Stress\Graphics\MagnifierFactory.cs + Test\Stability\Stress\Graphics\MoveNode.cs + Test\Stability\Stress\Graphics\NodeActor.cs + Test\Stability\Stress\Graphics\NodeCreator.cs + Test\Stability\Stress\Graphics\R3DVisual.cs + Test\Stability\Stress\Graphics\Random.cs + Test\Stability\Stress\Graphics\RemoveNode.cs + Test\Stability\Stress\Graphics\RenderTargetBitmap.cs + Test\Stability\Stress\Graphics\RenderTargetBitmapFactory.cs + Test\Stability\Stress\Graphics\RootVisualHolder.cs + Test\Stability\Stress\Graphics\RootVisualHolderActor.cs + Test\Stability\Stress\Graphics\SharedObjects.cs + Test\Stability\Stress\Graphics\TransformCreatorFactory.cs + Test\Stability\Stress\Graphics\TreeActor.cs + Test\Stability\Stress\Graphics\TreeCreator.cs + Test\Stability\Stress\Graphics\TreeCreatorInitFactory.cs + Test\Stability\Stress\Graphics\TreeInitActor.cs + Test\Stability\Stress\Graphics\UpdateProperties.cs + Test\Stability\Stress\Graphics\UpdatePropertiesFactory.cs + Test\Stability\Stress\Graphics\VisualTarget.cs + + + + + Test\Performance\CLRProfilerControl.cs + Test\Performance\CustomTestAction.cs + Test\Performance\InputPerf.cs + Test\Performance\PerfActionHelper.cs + Test\Performance\TraceProvider.cs + Test\Performance\EventTrace.cs + Test\Performance\EventType.cs + + + + + Test\Performance\CLRProfilerControl.cs + Test\Performance\CustomTestAction.cs + Test\Performance\InputPerf_PartialTrust.cs + Test\Performance\PerfActionHelper.cs + Test\Performance\PerfTestTraceProvider.cs + + + + + Test\Annotations\AnnotationsTestSettings.cs + Test\Annotations\Attributes.cs + Test\Annotations\FastTestSuite.cs + Test\Annotations\TestSuite.cs + Test\Annotations\TestSuiteRunner.cs + Test\Annotations\UIAutomationModule.cs + Test\Annotations\VisualAutomationTestSuite.cs + Test\Annotations\VScanModule.cs + Test\Annotations\Internal\ALogger.cs + Test\Annotations\Internal\TestCase.cs + Test\Annotations\Internal\TestVariation.cs + + + diff --git a/src/Microsoft.DotNet.Wpf/test/StrongName.props b/src/Microsoft.DotNet.Wpf/test/StrongName.props new file mode 100644 index 00000000000..9d7644845c8 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/StrongName.props @@ -0,0 +1,17 @@ + + + false + $(WpfTestBasePath)\Common\keys\TestUntrusted.snk + 0024000004800000940000000602000000240000525341310004000001000100C1BCD9B7844CD35725B1138216ED5E0FAB914676D580860F6F081C8C0E83B92D835FFAE76FA968F7637E4B6E32D77FEE1C084088CEE736CE589D65AD0FA66F086C2F5F755A6F2909D17C643B45C72A906AAAC617BFD67491A8FCE54784CA98317AEA28C0544546FF9123F6F94E59793F2874437BC3D136A40095D0F960E6A6A4 + A069DEE354D95F76 + + $(WpfTestBasePath)\Common\keys\TestTrusted.snk + 00240000048000009400000006020000002400005253413100040000010001007FDB0774CDFEFC88AAA6613332E5BE12A11BD32ADB7E2EAD4C049CFFCC6284FA975CD55B0291738247984CFCF4074970C44C1DA29B07201B0F90FB7B2C60D2A604C4ABA9FBC106AD3D1838DAD496780B0E4518D045FE70C4DE4E9663354989CF9A2E4F9ADD41BFEF82437DA35C8B1C1A0D6DACB521456C4BB18BADA2BE7407C3 + e1e6160fdd198bb1 + + + false + $(TestUntrustedKey) + custom + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/StrongName.targets b/src/Microsoft.DotNet.Wpf/test/StrongName.targets new file mode 100644 index 00000000000..cfc73c73f7b --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/StrongName.targets @@ -0,0 +1,12 @@ + + + + $(TestTrustedPublicKey) + $(TestTrustedPublicKeyToken) + + + + $(TestUntrustedPublicKey) + $(TestUntrustedPublicKeyToken) + + From 7c9221bff9d1742d06eb3ab6b7a69d7845eced30 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 10 May 2019 16:13:51 -0700 Subject: [PATCH 09/72] prepare helix payload with DRT --- eng/helix/helixpublish.proj | 2 +- eng/helix/prepare-helix-payload.ps1 | 17 ++++++++++++++--- eng/helix/runtests.ps1 | 2 +- .../test/Directory.Build.props | 2 +- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 75037efd768..3792f934aaa 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -24,7 +24,7 @@ - + 00:20:00 diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index 675a95ddb74..7181d004d07 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -37,12 +37,23 @@ function CopyFolderStructure($from, $to) } # Copy files from nuget packages -$testNugetLocation = Join-Path $nugetPackagesDir "Microsoft.DotNet.Wpf.DncEng.Test\1.0.0\tools\win-$platform\" +$testNugetLocation = Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.DncEng.Test\1.0.0-beta.19260.5\tools\win-$platform\" $testPayloadLocation = Join-Path $payloadDir "Test" CopyFolderStructure $testNugetLocation $testPayloadLocation -# Copy local dotnet install -$localDotnetInstall = Join-Path $env:BUILD_SOURCESDIRECTORY '.dotnet' +# Copy local DRT assemblies to test location +CopyFolderStructure $testNugetLocation $testPayloadLocation +$drtArtifactsLocation = [System.IO.Path]::Combine($env:BUILD_SOURCESDIRECTORY, "artifacts\test", $configuration, $platform, "Test\DRT") +$drtPayloadLocation = Join-Path $payloadDir "Test\DRT" +CopyFolderStructure $drtArtifactsLocation $drtPayloadLocation + +# Copy built assemblies to dotnet install location +$eng = Join-Path $env:BUILD_SOURCESDIRECTORY "eng" +$configArgs = if ($configuration == "Release") { "-release" } else { } +& "$eng\copy-wpf.ps1 -local -arch $platform $configArgs" + +# Copy local dotnet install to payload +$localDotnetInstall = Join-Path $env:BUILD_SOURCESDIRECTORY ".dotnet" $dotnetPayloadLocation = Join-Path $payloadDir "dotnet" CopyFolderStructure $localDotnetInstall $dotnetPayloadLocation diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 index 29ec11c15e3..90dff99c810 100644 --- a/eng/helix/runtests.ps1 +++ b/eng/helix/runtests.ps1 @@ -3,7 +3,7 @@ & "$PSScriptRoot\configure-helix-machine.ps1" # Run the tests -dotnet --info +Get-ChildItem -Recurse # We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. # For example: $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 730df2169f9..5f0070737bf 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -2,7 +2,7 @@ - $(WpfIntRootDirectory)publish\ + $(RepoRoot)artifacts\test\ x86 x64 From 6901ece2d45f300474ddd59765eaee4a84562b7c Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Sun, 12 May 2019 07:40:56 -0700 Subject: [PATCH 10/72] add source link for deterministic source path issue --- src/Microsoft.DotNet.Wpf/test/Directory.Build.props | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 5f0070737bf..bff1c6bee77 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -5,8 +5,13 @@ $(RepoRoot)artifacts\test\ x86 x64 + 1.0.0-beta2-18618-05 + + + + $(MsBuildThisFileDirectory) $(WpfTestBasePath)\Common\DRT From 97a0e0b8bebab87a75e0e10541b1ba87cb9e0847 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Sun, 12 May 2019 08:13:59 -0700 Subject: [PATCH 11/72] remove explicit platform and extra file added --- .../test/DRT/DrtXaml/dirs.proj | 18 ---------- .../test/Directory.Build.props | 35 ++++++++++++------- 2 files changed, 22 insertions(+), 31 deletions(-) delete mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj deleted file mode 100644 index a74471c0709..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index bff1c6bee77..471b0be1781 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -2,25 +2,35 @@ + $(MsBuildThisFileDirectory) + $(WpfTestBasePath)\Common\DRT + $(WpfTestBasePath)\Shared $(RepoRoot)artifacts\test\ - x86 - x64 + + netcoreapp3.0 + true + 1.0.0-beta2-18618-05 + + + + win-x64 + x64 + + + + + win-x86 + x86 + + + + - - - $(MsBuildThisFileDirectory) - $(WpfTestBasePath)\Common\DRT - $(WpfTestBasePath)\Shared - netcoreapp3.0 - AnyCPU;x64 - win-x64;win-x86 - true - @@ -53,7 +63,6 @@ false - From 263db4214a4359103f8cdd25412724b351361fd0 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Sun, 12 May 2019 10:59:12 -0700 Subject: [PATCH 12/72] fixing up targets/props so we can build with -test --- Microsoft.Dotnet.Wpf.sln | 4 +- .../WpfArcadeSdk/tools}/DRT.Build.props | 2 + .../WpfArcadeSdk/tools}/Publish.props | 2 +- .../tools/PublishAfterBuild.targets | 18 + .../WpfArcadeSdk/tools}/SourceLocations.props | 0 .../WpfArcadeSdk/tools}/StrongName.props | 2 +- .../WpfArcadeSdk/tools}/StrongName.targets | 0 eng/copy-wpf.ps1 | 5 +- eng/helix/configure-helix-machine.ps1 | 16 - eng/helix/helixpublish.proj | 22 +- eng/helix/prepare-helix-payload.ps1 | 18 +- eng/helix/runtests.ps1 | 19 +- .../test/BranchCommon/data/CommonData.csproj | 20 + .../BranchCommon/data/Directory.Build.props | 3 + .../test/BranchCommon/data/DrtList.xml | 587 ++++++++++++++++++ .../Common/{ => DRT}/TestServices/DrtBase.cs | 0 .../TestServices/DrtBaseGlobalInput.cs | 0 .../{ => DRT}/TestServices/DrtBaseInput.cs | 0 .../MS/Internal/MultiTargetUtilities.cs | 0 .../TestServices/MS/Internal/PointUtil.cs | 0 .../MS/Internal/SecurityCriticalDataForSet.cs | 0 .../TestServices/MS/Win32/ExternDll.cs | 0 .../TestServices/MS/Win32/HandleCollector.cs | 0 .../TestServices/MS/Win32/NativeMethodsCLR.cs | 0 .../MS/Win32/NativeMethodsOther.cs | 0 .../MS/Win32/NativeMethodsSetLastError.cs | 0 .../MS/Win32/SafeNativeMethodsCLR.cs | 0 .../MS/Win32/SafeNativeMethodsOther.cs | 0 .../MS/Win32/UnsafeNativeMethodsCLR.cs | 0 .../MS/Win32/UnsafeNativeMethodsOther.cs | 0 .../TestServices/TestServices.csproj | 0 .../test/Common/DRT/dirs.proj | 19 - src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml.sln | 4 +- .../BamlAvoidXmlTest/BamlAvoidXmlTest.csproj | 25 + .../BamlTestClasses40.csproj | 6 +- .../BamlTestClasses40/TempDPSetOrder1.xaml.cs | 43 -- .../TempDPSetOrder1ListBox.cs | 54 ++ .../test/DRT/DrtXaml/Directory.Build.props | 2 +- .../{DrtXaml.Tests.csproj => DrtXaml.csproj} | 11 +- .../XamlTestClasses.FriendWithKey.csproj | 1 - .../XamlTestClasses.FriendWithoutKey.csproj | 1 - .../DrtXaml.PartialTrustTests.csproj | 1 - .../test/Directory.Build.props | 37 +- .../test/Directory.Build.targets | 7 +- .../test/MultiTargeting.props | 61 -- .../test/PublishAfterBuild.targets | 11 - 46 files changed, 778 insertions(+), 223 deletions(-) rename {src/Microsoft.DotNet.Wpf/test => eng/WpfArcadeSdk/tools}/DRT.Build.props (61%) rename {src/Microsoft.DotNet.Wpf/test => eng/WpfArcadeSdk/tools}/Publish.props (91%) create mode 100644 eng/WpfArcadeSdk/tools/PublishAfterBuild.targets rename {src/Microsoft.DotNet.Wpf/test => eng/WpfArcadeSdk/tools}/SourceLocations.props (100%) rename {src/Microsoft.DotNet.Wpf/test => eng/WpfArcadeSdk/tools}/StrongName.props (91%) rename {src/Microsoft.DotNet.Wpf/test => eng/WpfArcadeSdk/tools}/StrongName.targets (100%) create mode 100644 src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj create mode 100644 src/Microsoft.DotNet.Wpf/test/BranchCommon/data/Directory.Build.props create mode 100644 src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/DrtBase.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/DrtBaseGlobalInput.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/DrtBaseInput.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Internal/MultiTargetUtilities.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Internal/PointUtil.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Internal/SecurityCriticalDataForSet.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/ExternDll.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/HandleCollector.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/NativeMethodsCLR.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/NativeMethodsOther.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/NativeMethodsSetLastError.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/SafeNativeMethodsCLR.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/SafeNativeMethodsOther.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/UnsafeNativeMethodsCLR.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/UnsafeNativeMethodsOther.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/TestServices.csproj (100%) delete mode 100644 src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1ListBox.cs rename src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/{DrtXaml.Tests.csproj => DrtXaml.csproj} (86%) delete mode 100644 src/Microsoft.DotNet.Wpf/test/MultiTargeting.props delete mode 100644 src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets diff --git a/Microsoft.Dotnet.Wpf.sln b/Microsoft.Dotnet.Wpf.sln index 4ee3b158701..e2d296bd014 100644 --- a/Microsoft.Dotnet.Wpf.sln +++ b/Microsoft.Dotnet.Wpf.sln @@ -81,9 +81,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Printing-ref", "src\ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{B0EFDB12-C931-4E7F-A6C2-D4AC111D7EDF}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DrtXaml.Tests", "src\Microsoft.DotNet.Wpf\test\DRT\DrtXaml\DrtXaml\DrtXaml.Tests.csproj", "{FAB114A2-2C6C-4372-A6BB-BC087B646E3A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DrtXaml", "src\Microsoft.DotNet.Wpf\test\DRT\DrtXaml\DrtXaml\DrtXaml.csproj", "{FAB114A2-2C6C-4372-A6BB-BC087B646E3A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServices", "src\Microsoft.DotNet.Wpf\test\Common\TestServices\TestServices.csproj", "{387F3700-8C0B-4CEC-A68A-1725F656A249}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServices", "src\Microsoft.DotNet.Wpf\test\Common\DRT\TestServices\TestServices.csproj", "{387F3700-8C0B-4CEC-A68A-1725F656A249}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XamlTestClasses", "src\Microsoft.DotNet.Wpf\test\DRT\DrtXaml\XamlTestClasses\XamlTestClasses.csproj", "{3C1FC36C-E3E6-4EED-9ECA-CFF2EB950486}" EndProject diff --git a/src/Microsoft.DotNet.Wpf/test/DRT.Build.props b/eng/WpfArcadeSdk/tools/DRT.Build.props similarity index 61% rename from src/Microsoft.DotNet.Wpf/test/DRT.Build.props rename to eng/WpfArcadeSdk/tools/DRT.Build.props index de0b61a8185..047ab6efe2d 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT.Build.props +++ b/eng/WpfArcadeSdk/tools/DRT.Build.props @@ -1,5 +1,7 @@ $(WpfDrtTestBasePublishPath) + true + true \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/Publish.props b/eng/WpfArcadeSdk/tools/Publish.props similarity index 91% rename from src/Microsoft.DotNet.Wpf/test/Publish.props rename to eng/WpfArcadeSdk/tools/Publish.props index d1401f44259..767506adb52 100644 --- a/src/Microsoft.DotNet.Wpf/test/Publish.props +++ b/eng/WpfArcadeSdk/tools/Publish.props @@ -2,7 +2,7 @@ <_IsPortable >true false - win-x86 + win-x86 win-x64 $(PublishRoot)$(Configuration)\$(PlatformFolder) $(PublishDir)\Test diff --git a/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets b/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets new file mode 100644 index 00000000000..6e84793f7a0 --- /dev/null +++ b/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets @@ -0,0 +1,18 @@ + + + + + + + true + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/SourceLocations.props b/eng/WpfArcadeSdk/tools/SourceLocations.props similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/SourceLocations.props rename to eng/WpfArcadeSdk/tools/SourceLocations.props diff --git a/src/Microsoft.DotNet.Wpf/test/StrongName.props b/eng/WpfArcadeSdk/tools/StrongName.props similarity index 91% rename from src/Microsoft.DotNet.Wpf/test/StrongName.props rename to eng/WpfArcadeSdk/tools/StrongName.props index 9d7644845c8..39b1310704d 100644 --- a/src/Microsoft.DotNet.Wpf/test/StrongName.props +++ b/eng/WpfArcadeSdk/tools/StrongName.props @@ -11,7 +11,7 @@ false - $(TestUntrustedKey) + $(TestUntrustedKey) custom \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/StrongName.targets b/eng/WpfArcadeSdk/tools/StrongName.targets similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/StrongName.targets rename to eng/WpfArcadeSdk/tools/StrongName.targets diff --git a/eng/copy-wpf.ps1 b/eng/copy-wpf.ps1 index dc4a5a51a67..59dd14bdfb7 100644 --- a/eng/copy-wpf.ps1 +++ b/eng/copy-wpf.ps1 @@ -60,7 +60,10 @@ function CopyPackagedBinaries($location, $localBinLocation, $packageName, $binar { $ArchFolder = if ($arch -eq "x86") { "" } else { "x64" } $BinLocation = [System.IO.Path]::Combine($localBinLocation, $Config, $ArchFolder, $packageName, "lib", $binaryLocationInPackage, "*") - Copy-Item -path $BinLocation -include "*.dll","*.pdb" -Destination $location + if (Test-Path $BinLocation) + { + Copy-Item -path $BinLocation -include "*.dll","*.pdb" -Destination $location + } } if ($help -or ([string]::IsNullOrEmpty($destination) -and !$local)) diff --git a/eng/helix/configure-helix-machine.ps1 b/eng/helix/configure-helix-machine.ps1 index ac8d4f5f3de..85403ad23fa 100644 --- a/eng/helix/configure-helix-machine.ps1 +++ b/eng/helix/configure-helix-machine.ps1 @@ -1,17 +1 @@ # This file prepares the helix machine for our tests runs - -$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" - -Write-Output "Adding dotnet location to path: $dotnetLocation" - -# Prepend the path to ensure that dotnet.exe is called from there. -$env:path="$dotnetLocation;$env:path" - -# Don't look outside the TestHost to resolve best match SDKs. -$env:DOTNET_MULTILEVEL_LOOKUP = 0 - -# Disable first run since we do not need all ASP.NET packages restored. -$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 - -# Ensure that the dotnet installed at our dotnetLocation is used -$env:DOTNET_ROOT=$dotnetLocation \ No newline at end of file diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 3792f934aaa..aac15376b1f 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -1,4 +1,3 @@ - @@ -10,25 +9,32 @@ https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json - - false + true + sdk + + $(DotNetCliVersion) + true true true - $(HelixPreCommands); + $(HelixPreCommands);powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\configure-helix-machine.ps1 -version Xaml" - Windows.10.Amd64.Open;Windows.7.Amd64.Open;Windows.10.Amd64.ServerRS5.Open + + + Windows.10.Amd64.Open + + 1.0.0-beta.19263.1 - + - + 00:20:00 - powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\runtests.ps1" + powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\runtests.ps1 -area Xaml" + + + + + newloadersuitehelperproject.exe + newloadersuitehelperproject1\newloadersuitehelperproject.exe + DrtFiles\loader_tulip.jpg + DrtFiles\PageA.xaml + + + + + + DrtFiles\DocumentViewerSuite\Commanding + DrtFiles\DocumentViewerSuite\Stress + DrtFiles\DocumentViewerSuite\Styling + + + + + DrtDigitalSignature.exe + DrtFiles\digitalsignature + DelCertNoUI.exe + MakeCert.exe + + + + + + + DrtEditing.* + DrtFiles\Editing\CustomDict2.lex + DrtFiles\Editing\cut.png + DrtFiles\Editing\rtfsimple.rtf + DrtFiles\Editing\rtfsimple_expect.rtf.xaml + DrtFiles\Editing\rtfsimple_expect.rtf.xaml.rtf + + + + + DrtFiles\PropertyEngine\TestInheritanceContext.xaml + DrtFiles\PropertyEngine\TestValueSource.xaml + DrtFiles\PropertyEngine\TestVisualTransforms.xaml + + + + + DrtWindowSecure.cmd + + + + + --> + + + + DrtFiles\Icon + + + + + DrtWindowMinMaxContentSizeSecure.cmd + + + + + DrtFiles\Text + + + + + DrtApplicationEvents.exe + + + + + + + + + + + + DrtFiles\DRXSerialization\DocumentViewerDefault.xaml + DrtFiles\DRXSerialization\DocumentViewerDefaultInput.xaml + DrtFiles\DRXSerialization\DocumentViewerNonDefault.xaml + DrtFiles\DRXSerialization\DocumentViewerNonDefaultInput.xaml + + + + + DrtFiles\DrtAnimation\DRTEasing.xaml + DrtFiles\DrtAnimation\DRTMarkupAnimation.xaml + DrtFiles\DrtAnimation\angels.jpg + DrtAnimationRDP.cmd + + + + + + DrtFiles\DrtBasic3D\ambient.png + DrtFiles\DrtBasic3D\combined.png + DrtFiles\DrtBasic3D\diffuse.png + DrtFiles\DrtBasic3D\emissive.png + DrtFiles\DrtBasic3D\specular.png + DrtFiles\DrtBasic3D\msnbackground.bmp + + + + + + DrtFiles\DrtMil2D\cut.png + DrtFiles\DrtMil2D\tulip.jpg + DrtFiles\DrtMil2D\tulip48dpi.jpg + DrtFiles\DrtMil2D\tulip96x192dpi.png + DrtFiles\DrtMil2D\tile_checkered.PNG + DrtFiles\DrtMil2D\tiny_checkered.PNG + + + + + DrtFiles\Input\DrtInput.xml + + + + + + + DrtFiles\Controls + DrtThemeDictionaryExtension.* + DrtThirdPartyThemes.dll + DrtThirdPartyThemes.pdb + ListView2App.* + + + + + + DrtImagingD3D.dll + DrtFiles\DrtImaging + + + + + + + DrtFiles\NavigationApplication\NavAppBar.xaml + DrtFiles\NavigationApplication\NavAppFoo.xaml + + + + + DrtFiles\NavigationEvents + + + + + DrtFiles\NavigationWindow\NavWindowBar.xaml + DrtFiles\NavigationWindow\NavWindowFoo.xaml + DrtFiles\NavigationWindow\NavWindowBar2.xaml + DrtFiles\NavigationWindow\NavWindowFoo2.xaml + 6 + + + + DrtFiles\navmemperf + + + + + DrtFiles\ReparentNavigator\ReparentFrame.xaml + DrtFiles\ReparentNavigator\ReparentPage1.xaml + DrtFiles\ReparentNavigator\ReparentPage2.xaml + DrtFiles\ReparentNavigator\ReparentPage3.xaml + DrtFiles\ReparentNavigator\ReparentStart.xaml + DrtReparentNavigatorSecure.cmd + + + + + + + + DrtFiles\JournalMode\DrtJournalModeDefault.xaml + DrtJournalModeSecure.cmd + + + + + DrtFiles\XamlContainer\NavByElement.xaml + DrtFiles\XamlContainer\NavByUri.xaml + DrtFiles\XamlContainer\SetContent.xaml + DrtFiles\XamlContainer\SetUri.xaml + DrtFiles\XamlContainer\DrtXamlContainer.Permissions + DrtXamlContainerSecure.cmd + + + + + DrtFiles\NavigationToObject\FlowDocument.xaml + + + + + + + + DrtFiles\FlowLayout + + + + + DrtFiles\AvaCop + DrtFiles\DocumentViewerSuite\Commanding + + + + + DrtFiles\DataSrv + + + + + en-us\DrtDataSrvMSB.* + DrtFiles\DataSrvMSB\Content.JPG + + + + + DrtFiles\Layout + + + + + DrtFiles\TextFind + + + + + DrtFiles\DrtInputMethod + + + + + DRTTextComposition.exe + + + + + + + DrtFiles\MarkupSerializer + + + + + DrtFiles\Events\DRTEvents_1.xaml + + + + + DrtFiles\Commanding + + + + + DrtFiles\Localization + DrtFiles\Baml + + + + + + DrtFiles\DRTStoryboards\DRTStoryboards.xaml + DrtFiles\DRTStoryboards\ding.wav + + + + + DrtFiles\Ink + + + + + DrtFiles\DrtColorAPI + + + + + + + + + DrtFiles\InkCanvas + RunInkCanvasSpeedTests.cmd + RunInkCanvasAllocationTests.cmd + + + + + FixedDocViewer.dll + DrtFiles\Payloads + + + + + DrtFiles\Layout + DrtFiles\Payloads + + + + + DrtFiles\FixedEdit + DrtFiles\Payloads + + + + + DrtFiles\Payloads + + + + + DrtNGCTest.exe + DrtFiles\Payloads + DrtFiles\NGCTest\constitution.xaml + DrtAddDocStructure.exe + DrtFixedTest.exe + + + + + + + + + + DrtFiles\compressionXform + + + + + + DrtFiles\EncryptedPackageCoreProperties + + + + + + + + BuildContainer.exe + IndexingFilterTool.exe + CompareChunkLists.exe + EncryptedPackageBuilder.exe + DrtFiles\Indexing + + + + + + + + + + DrtFiles\FlowLayoutExt + + + + + DrtFiles\Selection + + + + + DrtFiles\Flow + + + + + + DrtFiles\DrtMedia\DrtMedia.xaml + + + + + + WarmupOpt.exe + DrtFiles\WarmupOpt + + + + + MSNBamlOpt* + en-us\MSNBamlOpt.resources.dll + + + + + + DrtFiles\HBROpt + + + + + XamlTestClasses.dll + BamlTestClasses40.dll + BamlAvoidXmlTest.exe + XamlTestClasses.FriendWithKey.dll + XamlTestClasses.FriendWithoutKey.dll + DrtXaml.PartialTrustTests.dll + + + + + DrtXpsApi.exe + DrtFiles\XpsApi + DelCertNoUI.exe + MakeCert.exe + + + + + DrtFiles\VisualSerialization\testCMYK1.icc + DrtFiles\drtimaging\avalon.png + DrtFiles\drtimaging\tulip.jpg + + + + + + + DrtFiles\XamlSourceInfoTest.Debug.dll + DrtFiles\XamlSourceInfoTest.Release.dll + + + + + DrtFiles\Printing + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBaseGlobalInput.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBaseGlobalInput.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBaseGlobalInput.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBaseGlobalInput.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBaseInput.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBaseInput.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBaseInput.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBaseInput.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/MultiTargetUtilities.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/MultiTargetUtilities.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/MultiTargetUtilities.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/MultiTargetUtilities.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/PointUtil.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/PointUtil.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/PointUtil.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/PointUtil.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/SecurityCriticalDataForSet.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/SecurityCriticalDataForSet.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/SecurityCriticalDataForSet.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/SecurityCriticalDataForSet.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/ExternDll.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/ExternDll.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/ExternDll.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/ExternDll.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/HandleCollector.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/HandleCollector.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/HandleCollector.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/HandleCollector.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsCLR.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsCLR.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsCLR.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsCLR.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsOther.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsOther.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsOther.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsOther.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsSetLastError.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsSetLastError.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsSetLastError.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsSetLastError.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/SafeNativeMethodsCLR.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/SafeNativeMethodsCLR.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/SafeNativeMethodsCLR.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/SafeNativeMethodsCLR.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/SafeNativeMethodsOther.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/SafeNativeMethodsOther.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/SafeNativeMethodsOther.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/SafeNativeMethodsOther.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/UnsafeNativeMethodsCLR.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/UnsafeNativeMethodsCLR.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/UnsafeNativeMethodsCLR.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/UnsafeNativeMethodsCLR.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/UnsafeNativeMethodsOther.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/UnsafeNativeMethodsOther.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/UnsafeNativeMethodsOther.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/UnsafeNativeMethodsOther.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/TestServices.csproj b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/TestServices.csproj rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj diff --git a/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj b/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj deleted file mode 100644 index 72dcacf30b3..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml.sln b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml.sln index 37c61ec0292..e9c83d048ac 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml.sln +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml.sln @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.28010.2026 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DrtXaml.Tests", "DrtXaml\DrtXaml\DrtXaml.Tests.csproj", "{FAB114A2-2C6C-4372-A6BB-BC087B646E3A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DrtXaml", "DrtXaml\DrtXaml\DrtXaml.csproj", "{FAB114A2-2C6C-4372-A6BB-BC087B646E3A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServices", "..\Common\TestServices\TestServices.csproj", "{387F3700-8C0B-4CEC-A68A-1725F656A249}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServices", "..\Common\DRT\TestServices\TestServices.csproj", "{387F3700-8C0B-4CEC-A68A-1725F656A249}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XamlTestClasses", "DrtXaml\XamlTestClasses\XamlTestClasses.csproj", "{3C1FC36C-E3E6-4EED-9ECA-CFF2EB950486}" EndProject diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj index 288c956924a..c744feb3be1 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj @@ -25,4 +25,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj index 39d1b6fedcd..3c4d5a8d8b5 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj @@ -62,12 +62,16 @@ MSBuild:Compile - + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1.xaml.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1.xaml.cs index ba75f9a5345..0ddeeb78a63 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1.xaml.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1.xaml.cs @@ -16,47 +16,4 @@ public TempDPSetOrder1() InitializeComponent(); } } - - public enum Property - { - IsSynchronizedWithCurrentItem, - ItemsSource, - SelectedIndex - } - - public class TempDPSetOrder1ListBox : ListBox - { - public static List Order { get; private set; } - - static TempDPSetOrder1ListBox() - { - Order = new List(); - } - - protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) - { - base.OnPropertyChanged(e); - if (e.Property.OwnerType.Equals(typeof(Selector))) - { - switch (e.Property.Name) - { - case "IsSynchronizedWithCurrentItem": - Order.Add(Property.IsSynchronizedWithCurrentItem); - break; - case "SelectedIndex": - Order.Add(Property.SelectedIndex); - break; - } - } - else if (e.Property.OwnerType.Equals(typeof(ItemsControl))) - { - switch (e.Property.Name) - { - case "ItemsSource": - Order.Add(Property.ItemsSource); - break; - } - } - } - } } diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1ListBox.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1ListBox.cs new file mode 100644 index 00000000000..f9debdad8ce --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1ListBox.cs @@ -0,0 +1,54 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; + +namespace BamlTestClasses40 +{ + public enum Property + { + IsSynchronizedWithCurrentItem, + ItemsSource, + SelectedIndex + } + + public class TempDPSetOrder1ListBox : ListBox + { + public static List Order { get; private set; } + + static TempDPSetOrder1ListBox() + { + Order = new List(); + } + + protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) + { + base.OnPropertyChanged(e); + if (e.Property.OwnerType.Equals(typeof(Selector))) + { + switch (e.Property.Name) + { + case "IsSynchronizedWithCurrentItem": + Order.Add(Property.IsSynchronizedWithCurrentItem); + break; + case "SelectedIndex": + Order.Add(Property.SelectedIndex); + break; + } + } + else if (e.Property.OwnerType.Equals(typeof(ItemsControl))) + { + switch (e.Property.Name) + { + case "ItemsSource": + Order.Add(Property.ItemsSource); + break; + } + } + } + } +} diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props index 319f7c13864..4d1dc3791be 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.Tests.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj similarity index 86% rename from src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.Tests.csproj rename to src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj index 47569961283..822d08b97c9 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.Tests.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj @@ -1,21 +1,20 @@ - + DrtXaml DrtXaml - - Library - + console + WinExe AnyCPU;x64 true - true + false true - + diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj index 0d96d982242..b50c80cd7b3 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj @@ -3,7 +3,6 @@ XamlTestClasses.FriendWithKey Library $(DefineConstants);OLDRESOURCES - true true diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj index b3ad111fa7f..0d902aa8960 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj @@ -3,7 +3,6 @@ XamlTestClasses.FriendWithoutKey Library $(DefineConstants);OLDRESOURCES - true true false diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj index 22e6c73fbf0..05472880300 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj @@ -3,7 +3,6 @@ DrtXaml.PartialTrustTests Library $(DefineConstants);OLDRESOURCES - true true false diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 471b0be1781..12c3872c4d5 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -1,39 +1,20 @@ - - + + $(MsBuildThisFileDirectory) $(WpfTestBasePath)\Common\DRT $(WpfTestBasePath)\Shared $(RepoRoot)artifacts\test\ - netcoreapp3.0 true - - 1.0.0-beta2-18618-05 + win-x64;win-x86 + x86 + x64 - - - - - win-x64 - x64 - - - - - win-x86 - x86 - - - - - - - - - - + + + @@ -55,7 +36,7 @@ $(WpfTestBasePath)\Common\DRT\Tools\DrtTools.csproj - + true diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets index c42bcba8ce7..2181cf771d7 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets @@ -1,6 +1,7 @@ - - - + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props b/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props deleted file mode 100644 index 2f9f5d9b14f..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props +++ /dev/null @@ -1,61 +0,0 @@ - - - netcoreapp3.0 - - - - $(DefineConstants);NET4X - $(DefineConstants);NETCOREAPP3_X - - $(DefineConstants);NET40 - $(DefineConstants);NET45 - $(DefineConstants);NET451 - $(DefineConstants);NET452 - $(DefineConstants);NET453 - $(DefineConstants);NET46 - $(DefineConstants);NET461 - $(DefineConstants);NET462 - $(DefineConstants);NET47 - $(DefineConstants);NET471 - $(DefineConstants);NET472 - - $(DefineConstants);NETCOREAPP3_0 - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers - - - all - runtime; build; native; contentfiles; analyzers - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets b/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets deleted file mode 100644 index 32916f86819..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - true - - - From a6f098a631f6db078ea8167d7ad19a34c3764b28 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 27 May 2019 12:03:47 -0700 Subject: [PATCH 13/72] tests properly running and reporting results --- eng/helix/prepare-helix-payload.ps1 | 11 +++++------ eng/helix/runtests.ps1 | 2 +- .../test/BranchCommon/data/DrtList.xml | 1 - .../test/DRT/Directory.Build.props | 2 +- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index efe24c50ec6..0591a2b6e31 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -1,11 +1,10 @@ [CmdLetBinding()] Param( [string]$platform, - [string]$configuration, - [string]$testPackageVersion + [string]$configuration ) -$payloadDir = "HelixPayload\$configuration\$platform" +$payloadDir = "$PSScriptRoot\HelixPayload\$configuration\$platform" $nugetPackagesDir = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "packages" @@ -39,7 +38,7 @@ function CopyFolderStructure($from, $to) } # Copy files from nuget packages. -$testNugetLocation = Resolve-Path (Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.Test\*\tools\win-$platform\Test") +$testNugetLocation = Resolve-Path (Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.Test.*\tools\win-$platform\Test") $testPayloadLocation = Join-Path $payloadDir "Test" CopyFolderStructure $testNugetLocation $testPayloadLocation @@ -50,5 +49,5 @@ $drtPayloadLocation = Join-Path $payloadDir "Test\DRT" CopyFolderStructure $drtArtifactsLocation $drtPayloadLocation # Copy scripts -Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir -Copy-Item "eng\helix\runtests.ps1" $payloadDir \ No newline at end of file +Copy-Item "$PSScriptRoot\configure-helix-machine.ps1" $payloadDir +Copy-Item "$PSScriptRoot\runtests.ps1" $payloadDir \ No newline at end of file diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 index 241505851c1..d47f9f15f96 100644 --- a/eng/helix/runtests.ps1 +++ b/eng/helix/runtests.ps1 @@ -22,5 +22,5 @@ if (Test-Path "$testLocation\rundrts.cmd") # Need to copy the xUnit log to a known location that helix can understand if (Test-Path "$env:AppData\QualityVault\Run\Report\testResults.xml") { - Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" "..\testResults.xml" + Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" ".\testResults.xml" } \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml index 1e94bca0882..e28c5f4a76b 100644 --- a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml +++ b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml @@ -541,7 +541,6 @@ Rundrtlist BamlAvoidXmlTest.exe XamlTestClasses.FriendWithKey.dll XamlTestClasses.FriendWithoutKey.dll - DrtXaml.PartialTrustTests.dll diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props index 7e783514db2..7167d0c5112 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props @@ -1,6 +1,6 @@ - $(WpfTestBasePublishPath)\Common + $(WpfTestBasePublishPath)\DRT \ No newline at end of file From b3c32c2deedbde6086b0b6e6dbf8d6c6bad17e8f Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 27 May 2019 12:57:57 -0700 Subject: [PATCH 14/72] a little cleaning up --- eng/helix/helixpublish.proj | 2 +- eng/helix/prepare-helix-payload.ps1 | 5 +++-- eng/helix/runtests.ps1 | 2 -- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index aac15376b1f..8fa7d9a29ef 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -19,7 +19,7 @@ true - $(HelixPreCommands);powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\configure-helix-machine.ps1 -version Xaml" + $(HelixPreCommands); diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index 0591a2b6e31..f0f726c294d 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -19,6 +19,9 @@ New-Item -ItemType Directory -Force -Path $payloadDir function CopyFolderStructure($from, $to) { + Write-Output "Copying from: $from" + Write-Output " to: $to" + if(Test-Path $to) { Remove-Item $to -Recurse @@ -33,8 +36,6 @@ function CopyFolderStructure($from, $to) { Write-Output "Location doesn't exist: $from" } - - Get-ChildItem $to -Recurse } # Copy files from nuget packages. diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 index d47f9f15f96..c902dfd14e9 100644 --- a/eng/helix/runtests.ps1 +++ b/eng/helix/runtests.ps1 @@ -6,8 +6,6 @@ Param( # Configure the machine before running tests . "$PSScriptRoot\configure-helix-machine.ps1" -dotnet --info - # Run the tests $testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" if (Test-Path "$testLocation\rundrts.cmd") From 3d1efd8fa67f5fc46d71d5f78e0eeaeabada2b99 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 27 May 2019 13:07:23 -0700 Subject: [PATCH 15/72] fix creating payload directory --- eng/helix/prepare-helix-payload.ps1 | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index f0f726c294d..ac29459d060 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -4,12 +4,10 @@ Param( [string]$configuration ) -$payloadDir = "$PSScriptRoot\HelixPayload\$configuration\$platform" +$payloadDir = "HelixPayload\$configuration\$platform" $nugetPackagesDir = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "packages" -# TODO: Once we have the nuget package from the dotnet-wpf-test, we can better understand what we -# need to do here. # Create the payload directory. Remove it if it already exists. if(Test-Path $payloadDir) { @@ -19,9 +17,6 @@ New-Item -ItemType Directory -Force -Path $payloadDir function CopyFolderStructure($from, $to) { - Write-Output "Copying from: $from" - Write-Output " to: $to" - if(Test-Path $to) { Remove-Item $to -Recurse @@ -50,5 +45,5 @@ $drtPayloadLocation = Join-Path $payloadDir "Test\DRT" CopyFolderStructure $drtArtifactsLocation $drtPayloadLocation # Copy scripts -Copy-Item "$PSScriptRoot\configure-helix-machine.ps1" $payloadDir -Copy-Item "$PSScriptRoot\runtests.ps1" $payloadDir \ No newline at end of file +Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir +Copy-Item "eng\helix\runtests.ps1" $payloadDir \ No newline at end of file From 66cc44cddecc8244c273043a2c886ebf84ce5d5f Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 27 May 2019 13:25:50 -0700 Subject: [PATCH 16/72] put test directory back to how it is when restoring via msbuild --- eng/Versions.props | 1 + eng/helix/configure-helix-machine.ps1 | 29 +++++++++++ eng/helix/helixpublish.proj | 51 ++++++++++--------- eng/helix/prepare-helix-payload.ps1 | 6 +-- eng/helix/runtests.cmd | 3 ++ eng/helix/runtests.ps1 | 8 +-- eng/pipeline.yml | 2 +- .../test/BranchCommon/data/CommonData.csproj | 2 +- 8 files changed, 69 insertions(+), 33 deletions(-) create mode 100644 eng/helix/runtests.cmd diff --git a/eng/Versions.props b/eng/Versions.props index ee819bd9b05..a8e3eaf1695 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -58,6 +58,7 @@ 2.4.0 $(XUnitVersion) $(XUnitVersion) + 1.0.0-beta.19263.1 diff --git a/eng/helix/configure-helix-machine.ps1 b/eng/helix/configure-helix-machine.ps1 index 85403ad23fa..4f20fb2866a 100644 --- a/eng/helix/configure-helix-machine.ps1 +++ b/eng/helix/configure-helix-machine.ps1 @@ -1 +1,30 @@ # This file prepares the helix machine for our tests runs +$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" + +# Set DOTNET_ROOT variables so the host can find it +Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation +Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation + +$runtimes = dotnet --list-runtimes +foreach ($rt in $runtimes) +{ + if ($rt.StartsWith("Microsoft.WindowsDesktop.App")) + { + $version = $rt.Split(" ")[1] + } +} + +# Rewrite the *.runtimeconfig.json files to match the version of the runtime on the machine +$infraLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test\Infra" +$stiConfigFile = Join-Path $infraLocation "Sti.runtimeconfig.json" +$qvConfigFile = Join-Path $infraLocation "QualityVaultFrontEnd.runtimeconfig.json" +$configFiles = $stiConfigFile, $qvConfigFile +foreach ($config in $configFiles) +{ + # Read current config file + $jsondata = Get-Content -Raw -Path $config | ConvertFrom-Json + # Update version + $jsondata.runtimeOptions.framework.version = $version + # Write data back + $jsondata | ConvertTo-Json -depth 100 | Set-Content $config +} \ No newline at end of file diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 8fa7d9a29ef..9d4a8cdc9d1 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -13,7 +13,9 @@ sdk $(DotNetCliVersion) - + win-x86 + win-x64 + true true true @@ -26,7 +28,6 @@ Windows.10.Amd64.Open - 1.0.0-beta.19263.1 @@ -34,96 +35,96 @@ 00:20:00 - powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\runtests.ps1 -area Xaml" + call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=Xaml diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index ac29459d060..9f382820f4a 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -34,16 +34,16 @@ function CopyFolderStructure($from, $to) } # Copy files from nuget packages. -$testNugetLocation = Resolve-Path (Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.Test.*\tools\win-$platform\Test") +$testNugetLocation = Resolve-Path (Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.Test\*\tools\win-$platform\Test") $testPayloadLocation = Join-Path $payloadDir "Test" CopyFolderStructure $testNugetLocation $testPayloadLocation # Copy local DRT assemblies to test location -CopyFolderStructure $testNugetLocation $testPayloadLocation $drtArtifactsLocation = [System.IO.Path]::Combine($env:BUILD_SOURCESDIRECTORY, "artifacts\test", $configuration, $platform, "Test\DRT") $drtPayloadLocation = Join-Path $payloadDir "Test\DRT" CopyFolderStructure $drtArtifactsLocation $drtPayloadLocation # Copy scripts Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir -Copy-Item "eng\helix\runtests.ps1" $payloadDir \ No newline at end of file +Copy-Item "eng\helix\runtests.ps1" $payloadDir +Copy-Item "eng\helix\runtests.cmd" $payloadDir diff --git a/eng/helix/runtests.cmd b/eng/helix/runtests.cmd new file mode 100644 index 00000000000..c7b6190b9f2 --- /dev/null +++ b/eng/helix/runtests.cmd @@ -0,0 +1,3 @@ +@echo off + +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0runtests.ps1""" %*" \ No newline at end of file diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 index c902dfd14e9..55d4395441a 100644 --- a/eng/helix/runtests.ps1 +++ b/eng/helix/runtests.ps1 @@ -1,6 +1,6 @@ [CmdLetBinding()] Param( - [string]$area + [string]$command ) # Configure the machine before running tests @@ -10,7 +10,7 @@ Param( $testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" if (Test-Path "$testLocation\rundrts.cmd") { - Invoke-Expression "$testLocation\rundrts.cmd /Area=$area" + Invoke-Expression "$testLocation\rundrts.cmd $command" } # We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. @@ -20,5 +20,7 @@ if (Test-Path "$testLocation\rundrts.cmd") # Need to copy the xUnit log to a known location that helix can understand if (Test-Path "$env:AppData\QualityVault\Run\Report\testResults.xml") { - Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" ".\testResults.xml" + $resultLocation = $PSScriptRoot + Write-Output "Copying test results to $resultLocation" + Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" $resultLocation } \ No newline at end of file diff --git a/eng/pipeline.yml b/eng/pipeline.yml index e2f05cb5eda..7ea3b6cdacc 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -18,7 +18,7 @@ jobs: parameters: enableMicrobuild: true enablePublishBuildArtifacts: true - enablePublishTestResults: true + enablePublishTestResults: false # tests run in helix enablePublishBuildAssets: true enablePublishUsingPipelines: $(_PublishUsingPipelines) enableTelemetry: true diff --git a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj index ed8277f8958..9a963ba3405 100644 --- a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj +++ b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj @@ -14,7 +14,7 @@ DRT\%(Filename)%(Extension) Always - + From bd197d439be3c84aad56724ea34b35909ba64d36 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Wed, 29 May 2019 11:11:57 -0700 Subject: [PATCH 17/72] updating dependencies --- eng/Version.Details.xml | 4 ++-- eng/helix/helixpublish.proj | 4 ++-- eng/pipeline.yml | 4 ---- eng/pre-build.ps1 | 7 ------- global.json | 2 +- .../DrtXaml.PartialTrustTests.csproj | 19 ------------------- 6 files changed, 5 insertions(+), 35 deletions(-) delete mode 100644 eng/pre-build.ps1 delete mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4fe84c9faec..7ea564be024 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -95,9 +95,9 @@ https://github.com/dotnet/coreclr 89df4b9d928c7f21550d487328f5db000a498bdf - + https://github.com/dotnet/arcade - 851e36df83d3361e4bd8a70a2a8a89f762469f9a + 11f90a2a260422201895de58e57170131ab4efe7 diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 9d4a8cdc9d1..59d6c21b45a 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -10,9 +10,9 @@ true - sdk + runtime - $(DotNetCliVersion) + $(MicrosoftNetCoreAppVersion) win-x86 win-x64 diff --git a/eng/pipeline.yml b/eng/pipeline.yml index 7ea3b6cdacc..286a1b2020d 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -120,10 +120,6 @@ jobs: - checkout: self clean: true - # Set VSO Variable(s) - - powershell: eng\pre-build.ps1 - displayName: Pre-Build - Set VSO Variables - # Use utility script to run script command dependent on agent OS. - script: eng\common\cibuild.cmd -configuration $(_BuildConfig) diff --git a/eng/pre-build.ps1 b/eng/pre-build.ps1 deleted file mode 100644 index baad60ccbd9..00000000000 --- a/eng/pre-build.ps1 +++ /dev/null @@ -1,7 +0,0 @@ -# Open global.json -$globaljsonpath = Join-Path $env:BUILD_SOURCESDIRECTORY 'global.json' -$jsondata = Get-Content -Raw -Path $globaljsonpath | ConvertFrom-Json - -# Set DotNetCliVersion to global.json.tools.dotnet -$dotnetcliver = $jsondata.tools.dotnet -Write-Host "##vso[task.setvariable variable=DotNetCliVersion;]$dotnetcliver" \ No newline at end of file diff --git a/global.json b/global.json index cdb96d0bd38..a03a8bcbcdc 100644 --- a/global.json +++ b/global.json @@ -13,7 +13,7 @@ }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19304.23", - "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19222.2" + "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19278.1" }, "native-tools": { "strawberry-perl": "5.28.1.1-1" diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj deleted file mode 100644 index 05472880300..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj +++ /dev/null @@ -1,19 +0,0 @@ - - - DrtXaml.PartialTrustTests - Library - $(DefineConstants);OLDRESOURCES - true - false - - - - - - - - - - - - \ No newline at end of file From 4a5584f222f9c467ca34c5b31ab1f2c63943c6c5 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Wed, 29 May 2019 14:02:28 -0700 Subject: [PATCH 18/72] adding all helix queues --- eng/helix/helixpublish.proj | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 59d6c21b45a..3bf2ce66467 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -24,10 +24,7 @@ $(HelixPreCommands); - - - Windows.10.Amd64.Open - + Windows.10.Amd64.Open;Windows.7.Amd64.Open;Windows.10.Amd64.ServerRS5.Open From affa6615f50f2ddd4e84360fb420471d60c8e4c0 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Thu, 30 May 2019 11:12:37 -0700 Subject: [PATCH 19/72] running tests with build -test this creates the payload as part of msbuild --- eng/AfterSolutionBuild.targets | 3 + eng/WpfArcadeSdk/Sdk/Sdk.targets | 1 + .../tools/CreateTestPayload.targets | 39 ++ eng/WpfArcadeSdk/tools/RunDrtsLocal.targets | 5 + .../tools/configure-helix-machine.ps1 | 30 + eng/WpfArcadeSdk/tools/runtests.cmd | 3 + eng/WpfArcadeSdk/tools/runtests.ps1 | 29 + eng/helix/helixpublish.proj | 52 +- eng/pipeline.yml | 23 - ...t.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj | 2 + .../test/BranchCommon/data/DrtList.xml | 548 ------------------ 11 files changed, 139 insertions(+), 596 deletions(-) create mode 100644 eng/AfterSolutionBuild.targets create mode 100644 eng/WpfArcadeSdk/tools/CreateTestPayload.targets create mode 100644 eng/WpfArcadeSdk/tools/RunDrtsLocal.targets create mode 100644 eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 create mode 100644 eng/WpfArcadeSdk/tools/runtests.cmd create mode 100644 eng/WpfArcadeSdk/tools/runtests.ps1 diff --git a/eng/AfterSolutionBuild.targets b/eng/AfterSolutionBuild.targets new file mode 100644 index 00000000000..3b6300aec90 --- /dev/null +++ b/eng/AfterSolutionBuild.targets @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/eng/WpfArcadeSdk/Sdk/Sdk.targets b/eng/WpfArcadeSdk/Sdk/Sdk.targets index 88a2a498f5d..d035888e2ac 100644 --- a/eng/WpfArcadeSdk/Sdk/Sdk.targets +++ b/eng/WpfArcadeSdk/Sdk/Sdk.targets @@ -22,6 +22,7 @@ + diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets new file mode 100644 index 00000000000..b53e478dad4 --- /dev/null +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -0,0 +1,39 @@ + + + + + win-$(Platform) + win-x86 + + $(NoWarn);NU3027;NU3018 + + + + + + + + $(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ + + + + $(Pkgruntime_win-x64_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ + + + + + + + + + + + + + + + + + diff --git a/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets new file mode 100644 index 00000000000..376c35bb846 --- /dev/null +++ b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 new file mode 100644 index 00000000000..4f20fb2866a --- /dev/null +++ b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 @@ -0,0 +1,30 @@ +# This file prepares the helix machine for our tests runs +$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" + +# Set DOTNET_ROOT variables so the host can find it +Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation +Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation + +$runtimes = dotnet --list-runtimes +foreach ($rt in $runtimes) +{ + if ($rt.StartsWith("Microsoft.WindowsDesktop.App")) + { + $version = $rt.Split(" ")[1] + } +} + +# Rewrite the *.runtimeconfig.json files to match the version of the runtime on the machine +$infraLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test\Infra" +$stiConfigFile = Join-Path $infraLocation "Sti.runtimeconfig.json" +$qvConfigFile = Join-Path $infraLocation "QualityVaultFrontEnd.runtimeconfig.json" +$configFiles = $stiConfigFile, $qvConfigFile +foreach ($config in $configFiles) +{ + # Read current config file + $jsondata = Get-Content -Raw -Path $config | ConvertFrom-Json + # Update version + $jsondata.runtimeOptions.framework.version = $version + # Write data back + $jsondata | ConvertTo-Json -depth 100 | Set-Content $config +} \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/runtests.cmd b/eng/WpfArcadeSdk/tools/runtests.cmd new file mode 100644 index 00000000000..c7b6190b9f2 --- /dev/null +++ b/eng/WpfArcadeSdk/tools/runtests.cmd @@ -0,0 +1,3 @@ +@echo off + +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0runtests.ps1""" %*" \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/runtests.ps1 b/eng/WpfArcadeSdk/tools/runtests.ps1 new file mode 100644 index 00000000000..b3cda8665db --- /dev/null +++ b/eng/WpfArcadeSdk/tools/runtests.ps1 @@ -0,0 +1,29 @@ +[CmdLetBinding()] +Param( + [string]$command +) + +# Configure the machine before running tests +if (Test-Path "$PSScriptRoot\configure-helix-machine.ps1") +{ + . "$PSScriptRoot\configure-helix-machine.ps1" +} + +# Run the tests +$testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" +if (Test-Path "$testLocation\rundrts.cmd") +{ + Invoke-Expression "$testLocation\rundrts.cmd $command" +} + +# We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. +# For example: $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg +# Then, links to these artifacts can then be included in the xUnit logs. + +# Need to copy the xUnit log to a known location that helix can understand +if (Test-Path "$env:AppData\QualityVault\Run\Report\testResults.xml") +{ + $resultLocation = $PSScriptRoot + Write-Output "Copying test results to $resultLocation" + Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" $resultLocation +} \ No newline at end of file diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 3bf2ce66467..6869d5b7bbc 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -28,100 +28,102 @@ - - + 00:20:00 call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=Xaml - diff --git a/eng/pipeline.yml b/eng/pipeline.yml index 286a1b2020d..a7cfb192b5f 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -130,29 +130,6 @@ jobs: $(_PlatformArgs) displayName: Windows Build / Publish - - powershell: eng\common\build.ps1 - -restore - -configuration $(_BuildConfig) - $(_OfficialBuildIdArgs) - $(_PlatformArgs) - -projects $(Build.SourcesDirectory)\eng\helix\helixpublish.proj - displayName: Restoring Nuget Dependencies for Helix - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - HelixSource: $(_HelixSource) - HelixType: 'tests/drt' - HelixBuild: $(Build.BuildNumber) - HelixTargetQueues: $(_TestHelixAgentPool) - HelixAccessToken: $(_HelixToken) # only defined for internal CI - Creator: $(_HelixCreator) - condition: and(succeeded(), eq(variables['_BuildConfig'], 'Release')) # on helix machine (with real signing) - - # Prepare the helix payload - - powershell: eng\helix\prepare-helix-payload.ps1 - -configuration $(_BuildConfig) -platform $(_Platform) - displayName: Preparing Helix Payload - condition: and(succeeded(), eq(variables['_BuildConfig'], 'Release')) # on helix machine (with real signing) - # Run DRTs - powershell: eng\common\cibuild.cmd -configuration $(_BuildConfig) diff --git a/packaging/Microsoft.DotNet.Arcade.Wpf.Sdk/Microsoft.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj b/packaging/Microsoft.DotNet.Arcade.Wpf.Sdk/Microsoft.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj index cce7486b2a3..9a6c924a2f5 100644 --- a/packaging/Microsoft.DotNet.Arcade.Wpf.Sdk/Microsoft.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj +++ b/packaging/Microsoft.DotNet.Arcade.Wpf.Sdk/Microsoft.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj @@ -3,6 +3,8 @@ {B73BB4AB-68DE-4B91-BBB0-AB4F2D504AC3} netcoreapp3.0 AnyCPU;x64 + + NU5111 diff --git a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml index e28c5f4a76b..a3178d03618 100644 --- a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml +++ b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml @@ -26,514 +26,6 @@ Rundrtlist - DRT is offline --> - - - - newloadersuitehelperproject.exe - newloadersuitehelperproject1\newloadersuitehelperproject.exe - DrtFiles\loader_tulip.jpg - DrtFiles\PageA.xaml - - - - - - DrtFiles\DocumentViewerSuite\Commanding - DrtFiles\DocumentViewerSuite\Stress - DrtFiles\DocumentViewerSuite\Styling - - - - - DrtDigitalSignature.exe - DrtFiles\digitalsignature - DelCertNoUI.exe - MakeCert.exe - - - - - - - DrtEditing.* - DrtFiles\Editing\CustomDict2.lex - DrtFiles\Editing\cut.png - DrtFiles\Editing\rtfsimple.rtf - DrtFiles\Editing\rtfsimple_expect.rtf.xaml - DrtFiles\Editing\rtfsimple_expect.rtf.xaml.rtf - - - - - DrtFiles\PropertyEngine\TestInheritanceContext.xaml - DrtFiles\PropertyEngine\TestValueSource.xaml - DrtFiles\PropertyEngine\TestVisualTransforms.xaml - - - - - DrtWindowSecure.cmd - - - - - --> - - - - DrtFiles\Icon - - - - - DrtWindowMinMaxContentSizeSecure.cmd - - - - - DrtFiles\Text - - - - - DrtApplicationEvents.exe - - - - - - - - - - - - DrtFiles\DRXSerialization\DocumentViewerDefault.xaml - DrtFiles\DRXSerialization\DocumentViewerDefaultInput.xaml - DrtFiles\DRXSerialization\DocumentViewerNonDefault.xaml - DrtFiles\DRXSerialization\DocumentViewerNonDefaultInput.xaml - - - - - DrtFiles\DrtAnimation\DRTEasing.xaml - DrtFiles\DrtAnimation\DRTMarkupAnimation.xaml - DrtFiles\DrtAnimation\angels.jpg - DrtAnimationRDP.cmd - - - - - - DrtFiles\DrtBasic3D\ambient.png - DrtFiles\DrtBasic3D\combined.png - DrtFiles\DrtBasic3D\diffuse.png - DrtFiles\DrtBasic3D\emissive.png - DrtFiles\DrtBasic3D\specular.png - DrtFiles\DrtBasic3D\msnbackground.bmp - - - - - - DrtFiles\DrtMil2D\cut.png - DrtFiles\DrtMil2D\tulip.jpg - DrtFiles\DrtMil2D\tulip48dpi.jpg - DrtFiles\DrtMil2D\tulip96x192dpi.png - DrtFiles\DrtMil2D\tile_checkered.PNG - DrtFiles\DrtMil2D\tiny_checkered.PNG - - - - - DrtFiles\Input\DrtInput.xml - - - - - - - DrtFiles\Controls - DrtThemeDictionaryExtension.* - DrtThirdPartyThemes.dll - DrtThirdPartyThemes.pdb - ListView2App.* - - - - - - DrtImagingD3D.dll - DrtFiles\DrtImaging - - - - - - - DrtFiles\NavigationApplication\NavAppBar.xaml - DrtFiles\NavigationApplication\NavAppFoo.xaml - - - - - DrtFiles\NavigationEvents - - - - - DrtFiles\NavigationWindow\NavWindowBar.xaml - DrtFiles\NavigationWindow\NavWindowFoo.xaml - DrtFiles\NavigationWindow\NavWindowBar2.xaml - DrtFiles\NavigationWindow\NavWindowFoo2.xaml - 6 - - - - DrtFiles\navmemperf - - - - - DrtFiles\ReparentNavigator\ReparentFrame.xaml - DrtFiles\ReparentNavigator\ReparentPage1.xaml - DrtFiles\ReparentNavigator\ReparentPage2.xaml - DrtFiles\ReparentNavigator\ReparentPage3.xaml - DrtFiles\ReparentNavigator\ReparentStart.xaml - DrtReparentNavigatorSecure.cmd - - - - - - - - DrtFiles\JournalMode\DrtJournalModeDefault.xaml - DrtJournalModeSecure.cmd - - - - - DrtFiles\XamlContainer\NavByElement.xaml - DrtFiles\XamlContainer\NavByUri.xaml - DrtFiles\XamlContainer\SetContent.xaml - DrtFiles\XamlContainer\SetUri.xaml - DrtFiles\XamlContainer\DrtXamlContainer.Permissions - DrtXamlContainerSecure.cmd - - - - - DrtFiles\NavigationToObject\FlowDocument.xaml - - - - - - - - DrtFiles\FlowLayout - - - - - DrtFiles\AvaCop - DrtFiles\DocumentViewerSuite\Commanding - - - - - DrtFiles\DataSrv - - - - - en-us\DrtDataSrvMSB.* - DrtFiles\DataSrvMSB\Content.JPG - - - - - DrtFiles\Layout - - - - - DrtFiles\TextFind - - - - - DrtFiles\DrtInputMethod - - - - - DRTTextComposition.exe - - - - - - - DrtFiles\MarkupSerializer - - - - - DrtFiles\Events\DRTEvents_1.xaml - - - - - DrtFiles\Commanding - - - - - DrtFiles\Localization - DrtFiles\Baml - - - - - - DrtFiles\DRTStoryboards\DRTStoryboards.xaml - DrtFiles\DRTStoryboards\ding.wav - - - - - DrtFiles\Ink - - - - - DrtFiles\DrtColorAPI - - - - - - - - - DrtFiles\InkCanvas - RunInkCanvasSpeedTests.cmd - RunInkCanvasAllocationTests.cmd - - - - - FixedDocViewer.dll - DrtFiles\Payloads - - - - - DrtFiles\Layout - DrtFiles\Payloads - - - - - DrtFiles\FixedEdit - DrtFiles\Payloads - - - - - DrtFiles\Payloads - - - - - DrtNGCTest.exe - DrtFiles\Payloads - DrtFiles\NGCTest\constitution.xaml - DrtAddDocStructure.exe - DrtFixedTest.exe - - - - - - - - - - DrtFiles\compressionXform - - - - - - DrtFiles\EncryptedPackageCoreProperties - - - - - - - - BuildContainer.exe - IndexingFilterTool.exe - CompareChunkLists.exe - EncryptedPackageBuilder.exe - DrtFiles\Indexing - - - - - - - - - - DrtFiles\FlowLayoutExt - - - - - DrtFiles\Selection - - - - - DrtFiles\Flow - - - - - - DrtFiles\DrtMedia\DrtMedia.xaml - - - - - - WarmupOpt.exe - DrtFiles\WarmupOpt - - - - - MSNBamlOpt* - en-us\MSNBamlOpt.resources.dll - - - - - - DrtFiles\HBROpt - - XamlTestClasses.dll @@ -543,44 +35,4 @@ Rundrtlist XamlTestClasses.FriendWithoutKey.dll - - - DrtXpsApi.exe - DrtFiles\XpsApi - DelCertNoUI.exe - MakeCert.exe - - - - - DrtFiles\VisualSerialization\testCMYK1.icc - DrtFiles\drtimaging\avalon.png - DrtFiles\drtimaging\tulip.jpg - - - - - - - DrtFiles\XamlSourceInfoTest.Debug.dll - DrtFiles\XamlSourceInfoTest.Release.dll - - - - - DrtFiles\Printing - - - - - From 43e467c6b7327737dd3710e1679deca92d1f56a5 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 31 May 2019 11:23:33 -0700 Subject: [PATCH 20/72] fixing DrtXaml This is very close, we are just missing native wpf assemblies from being added to the deps.json --- .../tools/CreateTestPayload.targets | 6 +- eng/WpfArcadeSdk/tools/DRT.Build.props | 7 - .../tools/GenerateProgramFileForTests.targets | 2 +- eng/WpfArcadeSdk/tools/Publish.props | 12 - .../tools/PublishAfterBuild.targets | 7 - eng/WpfArcadeSdk/tools/SourceLocations.props | 1072 ----------------- eng/WpfArcadeSdk/tools/StrongName.props | 17 - eng/WpfArcadeSdk/tools/StrongName.targets | 12 - eng/WpfArcadeSdk/tools/TestProjects.targets | 26 +- eng/helix/configure-helix-machine.ps1 | 30 - eng/helix/prepare-helix-payload.ps1 | 49 - eng/helix/runtests.cmd | 3 - eng/helix/runtests.ps1 | 26 - eng/{helix => }/helixpublish.proj | 10 +- eng/pipeline.yml | 4 +- .../test/BranchCommon/data/CommonData.csproj | 20 - .../BranchCommon/data/Directory.Build.props | 3 - .../test/Common/DRT/TestServices/DrtBase.cs | 34 +- .../DRT/TestServices/TestServices.csproj | 14 +- .../BamlAvoidXmlTest/BamlAvoidXmlTest.csproj | 30 - .../BamlTestClasses40.csproj | 2 - .../test/DRT/DrtXaml/Directory.Build.props | 1 - .../test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj | 10 +- .../test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs | 8 +- .../DRT/DrtXaml/DrtXaml/Tests/SchemaTests.cs | 2 - .../DrtXaml/XamlTestFrameWork/Assert.cs | 246 ++-- .../XamlTestClasses.FriendWithKey.csproj | 11 - .../XamlTestClasses.FriendWithoutKey.csproj | 12 - .../XamlTestClasses.FriendWithKey.csproj | 1 + .../XamlTestClasses.FriendWithoutKey.csproj | 1 + .../XamlTestClasses/XamlTestClasses.csproj | 1 - .../test/Directory.Build.props | 59 +- .../test/Directory.Build.targets | 3 +- 33 files changed, 223 insertions(+), 1518 deletions(-) delete mode 100644 eng/WpfArcadeSdk/tools/DRT.Build.props delete mode 100644 eng/WpfArcadeSdk/tools/Publish.props delete mode 100644 eng/WpfArcadeSdk/tools/SourceLocations.props delete mode 100644 eng/WpfArcadeSdk/tools/StrongName.props delete mode 100644 eng/WpfArcadeSdk/tools/StrongName.targets delete mode 100644 eng/helix/configure-helix-machine.ps1 delete mode 100644 eng/helix/prepare-helix-payload.ps1 delete mode 100644 eng/helix/runtests.cmd delete mode 100644 eng/helix/runtests.ps1 rename eng/{helix => }/helixpublish.proj (91%) delete mode 100644 src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj delete mode 100644 src/Microsoft.DotNet.Wpf/test/BranchCommon/data/Directory.Build.props delete mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj delete mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index b53e478dad4..c7872ca0772 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -1,5 +1,4 @@ - win-$(Platform) @@ -32,7 +31,10 @@ DestinationFiles="@(MicrosoftDotNetWpfTestContents->'$(WpfTestBasePublishPath)\%(RecursiveDir)%(Filename)%(Extension)')" /> + DestinationFolder="$(PublishRoot)" /> + + diff --git a/eng/WpfArcadeSdk/tools/DRT.Build.props b/eng/WpfArcadeSdk/tools/DRT.Build.props deleted file mode 100644 index 047ab6efe2d..00000000000 --- a/eng/WpfArcadeSdk/tools/DRT.Build.props +++ /dev/null @@ -1,7 +0,0 @@ - - - $(WpfDrtTestBasePublishPath) - true - true - - \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/GenerateProgramFileForTests.targets b/eng/WpfArcadeSdk/tools/GenerateProgramFileForTests.targets index 1ff69760a46..7542aab1a7a 100644 --- a/eng/WpfArcadeSdk/tools/GenerateProgramFileForTests.targets +++ b/eng/WpfArcadeSdk/tools/GenerateProgramFileForTests.targets @@ -1,6 +1,6 @@ true diff --git a/eng/WpfArcadeSdk/tools/Publish.props b/eng/WpfArcadeSdk/tools/Publish.props deleted file mode 100644 index 767506adb52..00000000000 --- a/eng/WpfArcadeSdk/tools/Publish.props +++ /dev/null @@ -1,12 +0,0 @@ - - - <_IsPortable >true - false - win-x86 - win-x64 - $(PublishRoot)$(Configuration)\$(PlatformFolder) - $(PublishDir)\Test - $(WpfTestBasePublishPath)\FeatureTests - $(WpfTestBasePublishPath)\DRT - - \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets b/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets index 6e84793f7a0..42f92318850 100644 --- a/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets +++ b/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets @@ -8,11 +8,4 @@ - - diff --git a/eng/WpfArcadeSdk/tools/SourceLocations.props b/eng/WpfArcadeSdk/tools/SourceLocations.props deleted file mode 100644 index 8b669d5ffd5..00000000000 --- a/eng/WpfArcadeSdk/tools/SourceLocations.props +++ /dev/null @@ -1,1072 +0,0 @@ - - - - $(WpfTestBasePath)\Common\Code\Microsoft\Test - $(WpfTestBasePath)\Common\Code\Critical\Microsoft\Test - $(WpfTestBasePath)\Common\Data - - - - - Test\Deployment\ClickOnceHelper.cs - - - - - Test\Container\StorageRootWrapper.cs - - - - - Test\Globalization\Exceptions.cs - - - - - Test\MSBuildEngine\Compiler.cs - Test\MSBuildEngine\ErrorCodes.cs - Test\MSBuildEngine\ErrorWarningParser.cs - Test\MSBuildEngine\IMSBuildLogger.cs - Test\MSBuildEngine\MSBuildCommonHelper.cs - Test\MSBuildEngine\MSBuildLogger.cs - Test\MSBuildEngine\MSBuildPerf.cs - Test\MSBuildEngine\MSBuildPerfLogger.cs - Test\MSBuildEngine\MSBuildProjExecutor.cs - Test\MSBuildEngine\CompilerHelper.cs - - - - - Test\Globalization\AutoDataEnums.cs - Test\Globalization\extract.cs - Test\Globalization\generate.cs - Test\Globalization\LangPackHelper.cs - - - - - Test\EventTracing\ClrTraceEventParser.cs - Test\EventTracing\DynamicTraceEventParser.cs - Test\EventTracing\ETWTraceEventSource.cs - Test\EventTracing\KernelTraceEventParser.cs - Test\EventTracing\Manifest.cs - Test\EventTracing\SymbolEventParser.cs - Test\EventTracing\SymbolResolver.cs - Test\EventTracing\TraceEvent.cs - Test\TraceEventNativeMethods.cs - Test\EventTracing\TraceEventSession.cs - Test\EventTracing\TraceLog.cs - Test\EventTracing\Utility.cs - Test\EventTracing\WPFTraceEventParser.cs - - Test\EventTracing\Utilities\CompressedStream.cs - Test\EventTracing\Utilities\FastSerialization.cs - Test\EventTracing\Utilities\GrowableArray.cs - Test\EventTracing\Utilities\StreamReaderWriter.cs - Test\EventTracing\Utilities\StreamUtilities.cs - Test\EventTracing\Utilities\XmlUtilities.cs - - - - - - ChineseSimplified.txt - Resources\Globalization\ChineseSimplified.txt - - - ChineseTraditional.txt - Resources\Globalization\ChineseTraditional.txt - - - Japanese.txt - Resources\Globalization\Japanese.txt - - - Korean.txt - Resources\Globalization\Korean.txt - - - ProblemDate.xml - Resources\Globalization\ProblemDate.xml - - - ProblemString.xml - Resources\Globalization\ProblemString.xml - - - - - - Test\Markup\ModifyXaml.cs - Test\Markup\WPFLibraryGenerator.cs - Test\Markup\WPFTreeGenerator.cs - Test\Markup\WPFXamlGenerator.cs - Test\Markup\XamlGenerator.cs - Test\Markup\XmlGenerator.cs - Test\Markup\XamlComparer.cs - Test\Markup\XamlTestDocument.cs - - - - - Test\WindowsForms\Application.cs - Test\WindowsForms\WindowsFormsSource.cs - - - - - Test\Loaders\ApplicationDeploymentHelper.cs - Test\Loaders\ApplicationMonitorTest.cs - Test\Loaders\ApplicationMonitor.cs - Test\Loaders\ApplicationMonitorConfig.cs - Test\Loaders\FileHost.cs - Test\Loaders\IXamlLauncher.cs - Test\Loaders\LoaderStep.cs - Test\Loaders\ResourceHelper.cs - Test\Loaders\FireFoxAutomationHelper.cs - Test\Loaders\UIHandler.cs - Test\Loaders\Steps\ActivationStep.cs - Test\Loaders\Steps\FileHostStep.cs - Test\Loaders\Steps\HostingRuntimePolicyHelper.cs - Test\Loaders\Steps\LoggingSteps.cs - Test\Loaders\Steps\VersionHelper.cs - Test\Loaders\Steps\RegistryStep.cs - Test\Loaders\UIHandlers\DefaultHandlers.cs - Test\Loaders\Steps\Scripter.cs - Test\Loaders\Steps\String.cs - Test\Loaders\Steps\Win32.cs - Test\Loaders\Steps\Resources.cs - Test\Loaders\Steps\Registry.cs - Test\Loaders\Steps\Tests.cs - Test\Loaders\Steps\Diagnostics.cs - Test\Loaders\Steps\IO.cs - Test\Loaders\Steps\UI.cs - Test\Loaders\Steps\XML.cs - Test\Loaders\Steps\Input.cs - - Test\Loaders\Steps\Reflection.cs - Test\Loaders\Steps\Avalon.cs - Test\Loaders\Steps\Collections.cs - Test\Loaders\Steps\Environment.cs - Test\Loaders\Steps\ScripterStep.cs - Test\Loaders\UIHandlers\CustomUIHandler.cs - Test\Loaders\Steps\ConfigFileStep.cs - - Test\Loaders\IENavigationHelper.cs - Test\Loaders\Steps\MachineInfoStepDisabler.cs - - - - - - - NamedRegistrations.xml - Resources\Loaders\NamedRegistrations.xml - - - ErrorCodes.xml - Resources\Loaders\ErrorCodes.xml - - - - - - Test\Threading\DispatcherHelper.cs - Test\Threading\DispatcherQueueWrapper.cs - Test\Threading\DispatcherTimerHelper.cs - Test\Threading\DispatcherPriorityHelper.cs - Test\Threading\DispatcherSignalHelper.cs - - - - - Test\Security\Secure.cs - - - - - Test\Security\Wrappers\TestAPISw.cs - Test\Security\Wrappers\AvalonWrappers.cs - Test\Security\Wrappers\WrapperClasses.cs - - Test\Security\Wrappers\WrapperClasses40.cs - - - - - Test\Display\DisplayConfiguration.cs - Test\Display\DisplaySettings.cs - Test\Display\DisplaySettingsInfo.cs - Test\Display\DwmApi.cs - Test\Display\Monitor.cs - - - - - Test\Display\Desktop.cs - - - - - - Test\Leak\LeakTest.cs - - - - - Test\TestTypes\AvalonModel.cs - Test\TestTypes\AvalonTest.cs - Test\TestTypes\ETWVerificationTest.cs - Test\TestTypes\StepsTest.cs - Test\TestTypes\WindowModel.cs - Test\TestTypes\WindowTest.cs - Test\TestTypes\WindowUtil.cs - Test\TestTypes\XamlModel.cs - Test\TestTypes\XamlTest.cs - Test\TestTypes\XamlVisualVerificationTest.cs - - - - - Test\Drt\DrtRunner.cs - - - - - Test\Verification\IVerifier.cs - Test\Verification\IVerifyResult.cs - Test\Verification\VerifyResult.cs - - - - - Test\Input\InputHelper.cs - - - - - Test\Input\Input.cs - Test\Input\NativeMethods.cs - Test\Input\SafeNativeMethods.cs - Test\Input\UnsafeNativeMethods.cs - Test\Input\InputManagerWrapper.cs - Test\Input\KeyboardRecorder.cs - Test\Input\RawMouseActions.cs - Test\Input\InputReportEventArgsWrapper.cs - Test\Input\RawKeyboardActions.cs - Test\Input\RawMouseInputReportWrapper.cs - Test\Input\RawMouseState.cs - Test\Input\RawKeyboardInputReportWrapper.cs - Test\Input\InputReportWrapper.cs - Test\Input\KeyboardPlayer.cs - Test\Input\RawKeyboardState.cs - Test\Input\RawTextInputReportWrapper.cs - Test\Input\MultiMonitorHelper.cs - Test\Input\UserInput.cs - - - - - - Test\Hosting\UiaDistributedStepInfo.cs - Test\Hosting\UiaDistributedStepTarget.cs - Test\Hosting\UiaDistributedTestcase.cs - Test\Hosting\UiaDistributedTestCaseHost.cs - Test\Hosting\UiaSimpleTestCase.cs - Test\Hosting\UiaTestState.cs - - Test\Hosting\XamlBrowserHost.cs - - - - - Critical\Test\Serialization\ObjectSerializer.cs - Critical\Test\Serialization\DefaultObjectSerializer.cs - - - - - Critical\Test\Logging\TestResult.cs - Critical\Test\Logging\IHarnessLoggingContract.cs - - - - - - Test\Logging\TestLog.cs - Test\Logging\TestStage.cs - Test\Logging\GlobalLog.cs - - - - - Test\Diagnostics\SystemInformation.cs - Test\Diagnostics\ProcessorInformation.cs - Test\Diagnostics\SystemMetrics.cs - - - - - Test\Diagnostics\SystemInformation_Wpf.cs - - - - - Test\Diagnostics\SystemInformation_WindowsMediaPlayer.cs - - - - - Test\Diagnostics\ProcessMonitor.cs - - - - - Test\Diagnostics\ProcessHelper.cs - Test\Diagnostics\ProcessGroup.cs - Test\Diagnostics\ManifestHelper.cs - - - - - - - - - - Test\Diagnostics\CdbSession.cs - - - - - Test\Configuration\MachineStateManager.cs - - - - - Test\StateManagement\StateManager.cs - Test\StateManagement\State.cs - Test\StateManagement\RegistryState.cs - Test\StateManagement\UserSessionState.cs - Test\StateManagement\SystemInformationState.cs - Test\StateManagement\MonitorState.cs - Test\StateManagement\DisplayThemeState.cs - Test\StateManagement\BrowserState.cs - Test\StateManagement\FirewallExceptionState.cs - Test\StateManagement\ComServerState.cs - - - - - Test\Diagnostics\IExecutionService.cs - Test\Diagnostics\ExecutionServiceClient.cs - Test\Diagnostics\ExecutionServiceClientConnection.cs - Test\Diagnostics\FirefoxHelper.cs - Test\Diagnostics\FirewallHelper.cs - Test\Diagnostics\RegistrationHelper.cs - Test\Diagnostics\UserSessionHelper.cs - Test\Diagnostics\UserInfo.cs - Test\Diagnostics\WttHelper.cs - Test\Diagnostics\ImpersonateUserHelper.cs - Critical\Test\Deployment\RuntimeDeploymentHelper.cs - - - - - Test\Diagnostics\ExecutionServiceProxyClient.cs - Test\Diagnostics\ExecutionServiceProxy.cs - - - - - Test\Win32\NativeStructs.cs - Test\Win32\NativeConstants.cs - Test\Win32\Gdi32.cs - Test\Win32\User32.cs - Test\Win32\Kernel32.cs - Test\Win32\WindowEnumerator.cs - Test\Win32\Ntdll.cs - - - - - Test\Win32\HwndSubClass.cs - Test\Win32\HwndWrapper.cs - Test\Win32\ManagedWndProcTracker.cs - Test\Win32\NativeMethods.cs - Test\Win32\WeakReferenceList.cs - Test\Win32\WeakReferenceListEnumerator.cs - Test\Win32\AcceleratorTable.cs - - - - - - Test\Modeling\AsyncActionManager.cs - Test\Modeling\Model.cs - Test\Modeling\ModelingBaseObject.cs - Test\Modeling\TestLoader.cs - Test\Modeling\XamlTransformer.cs - Test\Modeling\XtcParser.cs - Test\Modeling\XtcTestCaseLoader.cs - - - - - Test\Windows\ActionForTypeHelper.cs - Test\Windows\TreeComparer.cs - - - - - - PropertiesToSkip.xml - Resources\Windows\PropertiesToSkip.xml - - - - - - Test\EventHelper.cs - Test\ExceptionHelper.cs - Test\TestException.cs - Test\TestSetupException.cs - Test\TestValidationException.cs - - - - - Test\Serialization\BamlHelper.cs - Test\Serialization\BamlReaderWrapper.cs - Test\Serialization\BamlWriterWrapper.cs - Test\Serialization\IOHelper.cs - Test\Serialization\SerializationHelper.cs - Test\Serialization\WrapperUtil.cs - Test\Serialization\XamlRoundTrip.cs - - - - - Test\Serialization\CustomElements\CustomBorder.cs - Test\Serialization\CustomElements\CustomButton.cs - Test\Serialization\CustomElements\CustomCanvas.cs - Test\Serialization\CustomElements\CustomDockPanel.cs - Test\Serialization\CustomElements\CustomElementHelper.cs - Test\Serialization\CustomElements\CustomPage.cs - Test\Serialization\CustomElements\CustomStackPanel.cs - Test\Serialization\CustomElements\CustomTextPanel.cs - Test\Serialization\CustomElements\CustomWindow.cs - Test\Serialization\CustomElements\ICustomElement.cs - - - - - Test\Integration\ActionForXamlInfo.cs - Test\Integration\FileVariationGenerator.cs - Test\Integration\FileVariationItem.cs - Test\Integration\BaseTestContract.cs - Test\Integration\BaseVariationGenerator.cs - Test\Integration\CallbackVariationGenerator.cs - Test\Integration\CallbackVariationItem.cs - Test\Integration\CollectionsXamlHelper.cs - Test\Integration\CombinationGenerator.cs - Test\Integration\GeneratorReference.cs - Test\Integration\Helper.cs - Test\Integration\ITestContract.cs - Test\Integration\IVariationGenerator.cs - Test\Integration\MDEVariationGenerator.cs - Test\Integration\MDEVariationItem.cs - Test\Integration\NotificationList.cs - Test\Integration\StorageItem.cs - Test\Integration\TestExtenderGraph.cs - Test\Integration\TestExtenderOutput.cs - Test\Integration\VariationItem.cs - Test\Integration\VariationItemGroup.cs - Test\Integration\CommonStorage.cs - Test\Integration\SelectorGenerator.cs - Test\Integration\ContentItem.cs - Test\Integration\AssemblyDesc.cs - Test\Integration\WPF3Helper.cs - Test\Integration\Windows\TypeVariationGenerator.cs - Test\Integration\Windows\TypeVariationItem.cs - Test\Integration\Windows\ContainerVariationGenerator.cs - Test\Integration\Windows\ContainerVariationItem.cs - Test\Integration\Windows\ActionSequenceVariationGenerator.cs - Test\Integration\Windows\ControllerProxy.cs - Test\Integration\Windows\Controller.cs - Test\Integration\Windows\ThreadController.cs - Test\Integration\Windows\ApplicationController.cs - Test\Integration\Windows\WinFormsController.cs - Test\Integration\TestExtenderHelper.cs - - - - - Test\PICT\ObjectArrays\AllPossibleObjectArrayCollection.cs - Test\PICT\ObjectArrays\AllPossibleObjectArrayEnumerator.cs - Test\PICT\ObjectArrays\AllPossibleObjectArrayGenerationStrategy.cs - Test\PICT\ObjectArrays\IObjectArrayCollection.cs - Test\PICT\ObjectArrays\IObjectArrayEnumerator.cs - Test\PICT\ObjectArrays\IObjectArrayGenerationStrategy.cs - Test\PICT\ObjectArrays\ObjectArrayGeneration.cs - Test\PICT\ObjectArrays\ObjectArrayGenerator.cs - Test\PICT\ObjectArrays\ObjectArrayPairwiseGeneration.cs - Test\PICT\ObjectArrays\PairwiseObjectArrayCollection.cs - Test\PICT\ObjectArrays\PairwiseObjectArrayEnumerator.cs - Test\PICT\ObjectArrays\PairwiseObjectArrayGenerationStrategy.cs - Test\PICT\IPairwiseComment.cs - Test\PICT\IPairwiseVisitable.cs - Test\PICT\PairwiseAliasCollection.cs - Test\PICT\PairwiseAndClause.cs - Test\PICT\PairwiseComparison.cs - Test\PICT\PairwiseComparisonTerm.cs - Test\PICT\PairwiseCondition.cs - Test\PICT\PairwiseConditionCollection.cs - Test\PICT\PairwiseEqualTerm.cs - Test\PICT\PairwiseException.cs - Test\PICT\PairwiseGreaterThanOrEqualTerm.cs - Test\PICT\PairwiseGreaterThanTerm.cs - Test\PICT\PairwiseIfThenConstraint.cs - Test\PICT\PairwiseIfThenConstraintCollection.cs - Test\PICT\PairwiseInTerm.cs - Test\PICT\PairwiseLessThanOrEqualTerm.cs - Test\PICT\PairwiseLessThanTerm.cs - Test\PICT\PairwiseLikeTerm.cs - Test\PICT\PairwiseLogicalClause.cs - Test\PICT\PairwiseLogicalRelationship.cs - Test\PICT\PairwiseModel.cs - Test\PICT\PairwiseNotClause.cs - Test\PICT\PairwiseNotEqualTerm.cs - Test\PICT\PairwiseNotInTerm.cs - Test\PICT\PairwiseOrClause.cs - Test\PICT\PairwiseParameter.cs - Test\PICT\PairwiseParameterCollection.cs - Test\PICT\PairwiseParameterConstraint.cs - Test\PICT\PairwiseParameterConstraintCollection.cs - Test\PICT\PairwisePICTCache.cs - Test\PICT\PairwiseSettings.cs - Test\PICT\PairwiseSubModel.cs - Test\PICT\PairwiseSubModelCollection.cs - Test\PICT\PairwiseTerm.cs - Test\PICT\PairwiseTuple.cs - Test\PICT\PairwiseValue.cs - Test\PICT\PairwiseValueCollection.cs - Test\PICT\PairwiseValueType.cs - Test\PICT\PairwiseVisitor.cs - Test\PICT\PICTConstants.cs - Test\PICT\PICTExecutionInformation.cs - Test\PICT\PICTPairwiseVisitor.cs - Test\PICT\PICTRunner.cs - Test\PICT\PICTWarningBehaviors.cs - Test\PICT\PICTWarningEventArgs.cs - Test\PICT\PICTWarningEventHandler.cs - Test\PICT\MatrixOutput\PairwiseTestCase.cs - Test\PICT\MatrixOutput\PairwiseTestMatrix.cs - Test\PICT\MatrixOutput\PairwiseTestParameter.cs - Test\PICT\MatrixOutput\PairwiseTestParameter.cs - - - - - Test\Imaging\BitmapCapture.cs - Test\Imaging\BitmapUtils.cs - Test\Imaging\ColorUtils.cs - Test\Imaging\ComparisonAlgorithm.cs - Test\Imaging\ComparisonCriteria.cs - Test\Imaging\ComparisonOperation.cs - Test\Imaging\ComparisonOperationUtils.cs - Test\Imaging\ComparisonResult.cs - Test\Imaging\ElementUtils.cs - Test\Imaging\PixelData.cs - - - - - Test\Animation\AnimationSideBySide.cs - Test\Animation\AnimationUtils.cs - Test\Animation\AnimationValidator.cs - Test\Animation\TimeManagerCommon.cs - - - - - Test\RenderingVerification\ColorByte.cs - Test\RenderingVerification\ColorDouble.cs - Test\RenderingVerification\Color_Avalon.cs - Test\RenderingVerification\Curve.cs - Test\RenderingVerification\CurveTolerance.cs - Test\RenderingVerification\DisplayConfiguration.cs - Test\RenderingVerification\DisplayConfigurationMinimal.cs - Test\RenderingVerification\Exceptions.cs - Test\RenderingVerification\ImageAdapter.cs - Test\RenderingVerification\ImageComparator.cs - Test\RenderingVerification\ImageUtility.cs - Test\RenderingVerification\ImageUtilityProxy.cs - Test\RenderingVerification\ImageUtility_Avalon.cs - Test\RenderingVerification\Interfaces.cs - Test\RenderingVerification\IPUtil.cs - Test\RenderingVerification\KeepGreaterKey.cs - Test\RenderingVerification\MetaDataInfo.cs - Test\RenderingVerification\MismatchingPoints.cs - Test\RenderingVerification\Package.cs - Test\RenderingVerification\Pixel.cs - Test\RenderingVerification\PInvoke.cs - Test\RenderingVerification\PropertyItemWrapper.cs - Test\RenderingVerification\RuntimeInfo.cs - Test\RenderingVerification\RenderRect.cs - Test\RenderingVerification\VideoCapture.cs - Test\RenderingVerification\XamlLauncherReflect.cs - Test\RenderingVerification\Filters\AffineFilter.cs - Test\RenderingVerification\Filters\AttractorFilter.cs - Test\RenderingVerification\Filters\BlurFilter.cs - Test\RenderingVerification\Filters\BrightnessContrastFilter.cs - Test\RenderingVerification\Filters\ChannelOperationFilter.cs - Test\RenderingVerification\Filters\ColorFilter.cs - Test\RenderingVerification\Filters\ColorSpaceConversion.cs - Test\RenderingVerification\Filters\ColorTransformFilter.cs - Test\RenderingVerification\Filters\ContrastFilter.cs - Test\RenderingVerification\Filters\ConvolutionFilter.cs - Test\RenderingVerification\Filters\EqualizeFilter.cs - Test\RenderingVerification\Filters\Filter.cs - Test\RenderingVerification\Filters\FilterParameter.cs - Test\RenderingVerification\Filters\FlipRotateFilter.cs - Test\RenderingVerification\Filters\GammaCorrectFilter.cs - Test\RenderingVerification\Filters\GaussianFilter.cs - Test\RenderingVerification\Filters\GlowFilter.cs - Test\RenderingVerification\Filters\GrayscaleFilter.cs - Test\RenderingVerification\Filters\IColorConverter.cs - Test\RenderingVerification\Filters\Image2DTransforms.cs - Test\RenderingVerification\Filters\Interpolator.cs - Test\RenderingVerification\Filters\LogicalOperationFilter.cs - Test\RenderingVerification\Filters\Matrix2D.cs - Test\RenderingVerification\Filters\Matrix2DConverter.cs - Test\RenderingVerification\Filters\MorphologicalFilter.cs - Test\RenderingVerification\Filters\MorphShapeFilter.cs - Test\RenderingVerification\Filters\NegateFilter.cs - Test\RenderingVerification\Filters\OpacityPointsFilter.cs - Test\RenderingVerification\Filters\OrderStatisticFilter.cs - Test\RenderingVerification\Filters\PixelizeFilter.cs - Test\RenderingVerification\Filters\ProcessXmlFilter.cs - Test\RenderingVerification\Filters\RenderingColorConverter.cs - Test\RenderingVerification\Filters\SaturateEdgeFilter.cs - Test\RenderingVerification\Filters\SchematizationFilter.cs - Test\RenderingVerification\Filters\SharpenFilter.cs - Test\RenderingVerification\Filters\SpatialTransformFilter.cs - Test\RenderingVerification\Filters\TintFilter.cs - Test\RenderingVerification\Filters\TintShadeFilter.cs - Test\RenderingVerification\Filters\VMorph.cs - Test\RenderingVerification\Filters\WaveletTransformFilter.cs - Test\RenderingVerification\Filters\WVMorph.cs - Test\RenderingVerification\Models\Analytical\CartesianMomentDescriptor.cs - Test\RenderingVerification\Models\Analytical\Criterion.cs - Test\RenderingVerification\Models\Analytical\DescriptorBase.cs - Test\RenderingVerification\Models\Analytical\DescriptorInfo.cs - Test\RenderingVerification\Models\Analytical\DescriptorManager.cs - Test\RenderingVerification\Models\Analytical\DescriptorSquareMatrix.cs - Test\RenderingVerification\Models\Analytical\ImageToShapeIDMapping.cs - Test\RenderingVerification\Models\Analytical\Interfaces.cs - Test\RenderingVerification\Models\Analytical\ModelManager2.cs - Test\RenderingVerification\Models\Analytical\MomentDescriptorBase.cs - Test\RenderingVerification\Models\Analytical\PolarMomentDescriptor.cs - Test\RenderingVerification\Models\Analytical\VScan.cs - Test\RenderingVerification\Models\Synthetical\AnimatedProperty.cs - Test\RenderingVerification\Models\Synthetical\Animator.cs - Test\RenderingVerification\Models\Synthetical\AvalonTypographer.cs - Test\RenderingVerification\Models\Synthetical\DeltaImageComparator.cs - Test\RenderingVerification\Models\Synthetical\GeometryFilter.cs - Test\RenderingVerification\Models\Synthetical\GlyphBase.cs - Test\RenderingVerification\Models\Synthetical\GlyphChar.cs - Test\RenderingVerification\Models\Synthetical\GlyphColorChooser.cs - Test\RenderingVerification\Models\Synthetical\GlyphComparator.cs - Test\RenderingVerification\Models\Synthetical\GlyphCompareInfo.cs - Test\RenderingVerification\Models\Synthetical\GlyphContainer.cs - Test\RenderingVerification\Models\Synthetical\GlyphFont.cs - Test\RenderingVerification\Models\Synthetical\GlyphImage.cs - Test\RenderingVerification\Models\Synthetical\GlyphLayout.cs - Test\RenderingVerification\Models\Synthetical\GlyphModel.cs - Test\RenderingVerification\Models\Synthetical\GlyphPanel.cs - Test\RenderingVerification\Models\Synthetical\GlyphResource.cs - Test\RenderingVerification\Models\Synthetical\GlyphShape.cs - Test\RenderingVerification\Models\Synthetical\GlyphText.cs - Test\RenderingVerification\Models\Synthetical\Interfaces.cs - Test\RenderingVerification\Models\Synthetical\LayoutContainer.cs - Test\RenderingVerification\Models\Synthetical\MatchingInfo.cs - Test\RenderingVerification\Models\Synthetical\MatchingInfoEditor.cs - Test\RenderingVerification\Models\Synthetical\StandardTypographer.cs - Test\RenderingVerification\Models\Synthetical\TypographBroker.cs - Test\RenderingVerification\Models\Synthetical\XenoSymbolBroker.cs - Test\RenderingVerification\Models\Synthetical\LayoutEngine\CanvasLayoutEngine.cs - Test\RenderingVerification\Models\Synthetical\LayoutEngine\FlowLayoutEngine.cs - Test\RenderingVerification\ResourceFetcher\EmbeddedResourceKey.cs - Test\RenderingVerification\ResourceFetcher\EmbeddedResourceProvider.cs - Test\RenderingVerification\ResourceFetcher\ResourceProvider.cs - Test\RenderingVerification\ResourceFetcher\Resourcestripper.cs - Test\RenderingVerification\UnmanagedProxies\UnmanagedInterfaces.cs - Test\RenderingVerification\AsyncData.cs - Test\RenderingVerification\AsyncHelper.cs - Test\RenderingVerification\ImageComparisonResult.cs - Test\RenderingVerification\ImageComparisonSettings.cs - Test\RenderingVerification\ImageMetadata.cs - Test\RenderingVerification\MasterDimensions.cs - Test\RenderingVerification\MasterImageComparer.cs - Test\RenderingVerification\MasterIndex.cs - Test\RenderingVerification\MasterMetadata.cs - - - - - - Microsoft.Test.RenderingVerification.RenderingVerification.DefaultTolerance.xml - Resources\VScan\DefaultTolerance.xml - - - - - - Test\Compression\Archiver.cs - Test\Compression\Cab\Cab.cs - Test\Compression\Cab\CabApi.cs - Test\Compression\Cab\CabBase.cs - Test\Compression\Cab\CabCreator.cs - Test\Compression\Cab\CabException.cs - Test\Compression\Cab\CabExtractor.cs - Test\Compression\Cab\CabInfo.cs - Test\Compression\Cab\CabStatus.cs - Test\Compression\Cab\DuplicateStream.cs - Test\Compression\Cab\HandleManager.cs - Test\Compression\Cab\OffsetStream.cs - - - - - Test\Graphics\ColorOperations.cs - Test\Graphics\DiscreteAnimation.cs - Test\Graphics\MathEx.cs - Test\Graphics\Matrix3DAnimation.cs - Test\Graphics\MatrixUtils.cs - Test\Graphics\MeshOperations.cs - Test\Graphics\ObjectUtils.cs - Test\Graphics\StringConverter.cs - Test\Graphics\VisualUtils.cs - Test\Graphics\DpiScalingHelper.cs - Test\Graphics\RenderingModeHelper.cs - Test\Graphics\RenderingMode.cs - - - - - Test\Graphics\Factories\BrushFactory.cs - Test\Graphics\Factories\CameraFactory.cs - Test\Graphics\Factories\Const.cs - Test\Graphics\Factories\Const2D.cs - Test\Graphics\Factories\DrawingFactory.cs - Test\Graphics\Factories\EffectFactory.cs - Test\Graphics\Factories\EffectInputFactory.cs - Test\Graphics\Factories\GeometryFactory.cs - Test\Graphics\Factories\HitTestFilterFactory.cs - Test\Graphics\Factories\LightFactory.cs - Test\Graphics\Factories\MaterialFactory.cs - Test\Graphics\Factories\MeshFactory.cs - Test\Graphics\Factories\ModelFactory.cs - Test\Graphics\Factories\ObjectFactory.cs - Test\Graphics\Factories\PenFactory.cs - Test\Graphics\Factories\SceneFactory.cs - Test\Graphics\Factories\ShapeFactory.cs - Test\Graphics\Factories\Transform2DFactory.cs - Test\Graphics\Factories\TransformFactory.cs - Test\Graphics\Factories\Visual3DFactory.cs - Test\Graphics\Factories\VisualFactory.cs - - - - - Test\Graphics\ReferenceRender\BiLinearTextureFilter.cs - Test\Graphics\ReferenceRender\Edge.cs - Test\Graphics\ReferenceRender\GouraudShader.cs - Test\Graphics\ReferenceRender\HdrColor.cs - Test\Graphics\ReferenceRender\Interpolators.cs - Test\Graphics\ReferenceRender\LightEquations.cs - Test\Graphics\ReferenceRender\MeshProjectedGeometry.cs - Test\Graphics\ReferenceRender\ModelBounder.cs - Test\Graphics\ReferenceRender\ModelRenderer.cs - Test\Graphics\ReferenceRender\NearestNeighbourTextureFilter.cs - Test\Graphics\ReferenceRender\PhongShader.cs - Test\Graphics\ReferenceRender\ProjectedGeometry.cs - Test\Graphics\ReferenceRender\RenderBuffer.cs - Test\Graphics\ReferenceRender\RenderTolerance.cs - Test\Graphics\ReferenceRender\RenderToToleranceShader.cs - Test\Graphics\ReferenceRender\RenderVerifier.cs - Test\Graphics\ReferenceRender\SceneRenderer.cs - Test\Graphics\ReferenceRender\Shader.cs - Test\Graphics\ReferenceRender\SolidColorTextureFilter.cs - Test\Graphics\ReferenceRender\SSLProjectedGeometry.cs - Test\Graphics\ReferenceRender\TextureFilter.cs - Test\Graphics\ReferenceRender\TextureGenerator.cs - Test\Graphics\ReferenceRender\Triangle.cs - Test\Graphics\ReferenceRender\TriLinearTextureFilter.cs - Test\Graphics\ReferenceRender\Vertex.cs - Test\Graphics\ReferenceRender\VisualBounder.cs - - - - - Test\Graphics\TestTypes\AnimationAPITest.cs - Test\Graphics\TestTypes\AnimationAPITestBase.cs - Test\Graphics\TestTypes\ClassGenerator.cs - Test\Graphics\TestTypes\CodeGenerator.cs - Test\Graphics\TestTypes\ConstructorGenerator.cs - Test\Graphics\TestTypes\CoreGraphicsTest.cs - Test\Graphics\TestTypes\EnvironmentWrapper.cs - Test\Graphics\TestTypes\ExceptionCatchingTest.cs - Test\Graphics\TestTypes\Exceptions.cs - Test\Graphics\TestTypes\FactoryParser.cs - Test\Graphics\TestTypes\InfoOrganizer.cs - Test\Graphics\TestTypes\InheritanceChecker.cs - Test\Graphics\TestTypes\Interop.cs - Test\Graphics\TestTypes\Logger.cs - Test\Graphics\TestTypes\MethodGenerator.cs - Test\Graphics\TestTypes\MethodGeneratorBase.cs - Test\Graphics\TestTypes\PartialTrust.cs - Test\Graphics\TestTypes\PhotoConverter.cs - Test\Graphics\TestTypes\Photographer.cs - Test\Graphics\TestTypes\PropertyGenerator.cs - Test\Graphics\TestTypes\ReferenceTest.cs - Test\Graphics\TestTypes\RenderingTest.cs - Test\Graphics\TestTypes\RenderingWindow.cs - Test\Graphics\TestTypes\RunAllTester.cs - Test\Graphics\TestTypes\RunScriptTester.cs - Test\Graphics\TestTypes\SerializationTest.cs - Test\Graphics\TestTypes\Tester.cs - Test\Graphics\TestTypes\TestLauncher.cs - Test\Graphics\TestTypes\TestObjects.cs - Test\Graphics\TestTypes\Tokens.cs - Test\Graphics\TestTypes\Variation.cs - Test\Graphics\TestTypes\ViewportWindow.cs - Test\Graphics\TestTypes\VisualObjects.cs - Test\Graphics\TestTypes\VisualVerificationTest.cs - Test\Graphics\TestTypes\VisualWindow.cs - Test\Graphics\TestTypes\VisualWrapper.cs - Test\Graphics\TestTypes\XAMLTest.cs - - - - - - - - - - - - - Test\Layout\Common\Common.cs - Test\Layout\Common\LayoutTestWindows.cs - Test\Layout\Common\LayoutUtility.cs - Test\Layout\Common\DoubleUtil.cs - Test\Layout\Common\VisualScan.cs - Test\Layout\TestTypes\LayoutTest.cs - Test\Layout\TestTypes\CodeTest.cs - Test\Layout\TestTypes\PropertyDumpTest.cs - Test\Layout\TestTypes\VisualScanTest.cs - Test\Layout\PropertyDump\Arguments.cs - Test\Layout\PropertyDump\DiffPackage.cs - Test\Layout\PropertyDump\Filter.cs - Test\Layout\PropertyDump\FrameworkElements.cs - Test\Layout\PropertyDump\Package.cs - Test\Layout\PropertyDump\PropertyDumpCore.cs - Test\Layout\PropertyDump\PropertyDumpHelper.cs - Test\Layout\PropertyDump\TextViewWrapper\ColumnResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\ContainerParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\DocumentPageTextViewW.cs - Test\Layout\PropertyDump\TextViewWrapper\FloaterParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\FigureParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\FlowDocumentPageW.cs - Test\Layout\PropertyDump\TextViewWrapper\IEnumerableW.cs - Test\Layout\PropertyDump\TextViewWrapper\LineResultDetailsW.cs - Test\Layout\PropertyDump\TextViewWrapper\LineResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\OrientedTextPositionW.cs - Test\Layout\PropertyDump\TextViewWrapper\ParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\ReflectionHelper.cs - Test\Layout\PropertyDump\TextViewWrapper\RowParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\SubpageParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\TableParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\TextDocumentViewW.cs - Test\Layout\PropertyDump\TextViewWrapper\TextParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\TextParagraphViewW.cs - Test\Layout\PropertyDump\TextViewWrapper\UIElementParagraphResultW.cs - - - - - Test\Stability\Stress\DistributionFactory.cs - Test\Stability\Stress\RandDist.cs - Test\Stability\Stress\RandomGenerator.cs - Test\Stability\Stress\Invariant.cs - Test\Stability\Stress\StressFrameWorkHelper.cs - Test\Stability\Stress\WeightedList.cs - Test\Stability\Stress\Action\ActionManager.cs - Test\Stability\Stress\Action\Attributes.cs - Test\Stability\Stress\Action\IAction.cs - Test\Stability\Stress\Action\IActionFactory.cs - Test\Stability\Stress\Action\WeightedActionFactory.cs - Test\Stability\Stress\ConfigReader\ConfigReader.cs - Test\Stability\Stress\ConfigReader\IConfigReader.cs - Test\Stability\Stress\ConfigReader\MultipleTagSectionHandler.cs - Test\Stability\Stress\Context\ActionHandlers.cs - Test\Stability\Stress\Context\EventHandlers.cs - Test\Stability\Stress\Context\EventArgs.cs - Test\Stability\Stress\Context\Handlers.cs - Test\Stability\Stress\Context\IStressContext.cs - Test\Stability\Stress\Context\IStressContextManager.cs - Test\Stability\Stress\Context\StressContext.cs - Test\Stability\Stress\Context\StressContextManager.cs - Test\Stability\Stress\Context\IObjectFactory.cs - Test\Stability\Stress\Context\EnumerationObjectFactory.cs - Test\Stability\Stress\Context\ReflectionObjectFactory.cs - Test\Stability\Stress\CoreServices\CoreServices.cs - Test\Stability\Stress\CoreServices\ICoreServices.cs - Test\Stability\Stress\CoreServices\IStressManager.cs - Test\Stability\Stress\CoreServices\StressManager.cs - Test\Stability\Stress\CoreServices\EventLogger.cs - Test\Stability\Stress\Exceptions\ExceptionEventArgs.cs - Test\Stability\Stress\Exceptions\ExceptionEventHandlers.cs - Test\Stability\Stress\PropertyEngine\PropertyEngine.cs - Test\Stability\Stress\Storage\ContextStorage.cs - Test\Stability\Stress\Storage\EventArgs.cs - Test\Stability\Stress\Storage\IStorage.cs - Test\Stability\Stress\StressFrameworkObject\IStressFrameworkObject.cs - Test\Stability\Stress\StressFrameworkObject\StressFrameworkObject.cs - Test\Stability\Stress\Security\SecurityHelper.cs - Test\Stability\Stress\Thread\EventArgs.cs - Test\Stability\Stress\Thread\EventHandlers.cs - Test\Stability\Stress\Thread\IStressThread.cs - Test\Stability\Stress\Thread\IStressThreadManager.cs - Test\Stability\Stress\Thread\StressThread.cs - Test\Stability\Stress\Thread\StressThreadManager.cs - Test\Stability\Stress\Utils\ProcessShutdownMonitor.cs - Test\Stability\Stress\Utils\Win32NativeInterop.cs - Test\Stability\Stress\Utils\CommandlineParser.cs - Test\Stability\Stress\Utils\XmlParser.cs - Test\Stability\Stress\IEHelper\DISPIDs.cs - Test\Stability\Stress\IEHelper\IEInterop.cs - Test\Stability\Stress\IEHelper\Rtl.cs - Test\Collections\Generics\WeightedList.cs - - - - - Test\Stability\Stress\AvalonProxy\AssemblyCacheEnum.cs - Test\Stability\Stress\AvalonProxy\AvalonActionManager.cs - Test\Stability\Stress\AvalonProxy\AvalonStressContext.cs - Test\Stability\Stress\AvalonProxy\AvalonStressContextManager.cs - Test\Stability\Stress\AvalonProxy\AvalonStressThreadManager.cs - Test\Stability\Stress\AvalonProxy\MemoryChecker.cs - Test\Stability\Stress\AvalonProxy\AvalonStressFrameworkHelper.cs - Test\Stability\Stress\AvalonProxy\BrowserStressContext.cs - Test\Stability\Stress\AvalonProxy\BrowserStressContextManager.cs - Test\Stability\Stress\AvalonProxy\BrowserStressThreadManager.cs - - - - - Test\Stability\Stress\LonghaulProxy\LonghaulSQLConnect.cs - Test\Stability\Stress\LonghaulProxy\LonghaulCommon.cs - Test\Stability\Stress\LonghaulProxy\LonghaulStateObjects.cs - Test\Stability\Stress\LonghaulProxy\LonghaulStressContext.cs - Test\Stability\Stress\LonghaulProxy\LonghaulStressContextManager.cs - Test\Stability\Stress\LonghaulProxy\LonghaulStressThreadManager.cs - Test\Stability\Stress\LonghaulProxy\LonghaulEventLog.cs - - - - - Test\Stability\LeakUtility.cs - Test\Stability\Input.cs - - - - - Test\Stability\Stress\Graphics\AddNodes.cs - Test\Stability\Stress\Graphics\AnimationFactory.cs - Test\Stability\Stress\Graphics\Channel.cs - Test\Stability\Stress\Graphics\ChannelFactory.cs - Test\Stability\Stress\Graphics\CompositionActorFactory.cs - Test\Stability\Stress\Graphics\ConnectDisconnect.cs - Test\Stability\Stress\Graphics\ConnectDisconnectActorFactory.cs - Test\Stability\Stress\Graphics\ContainerVisual.cs - Test\Stability\Stress\Graphics\DrawContextProvider.cs - Test\Stability\Stress\Graphics\GetHwndSources.cs - Test\Stability\Stress\Graphics\GetProperties.cs - Test\Stability\Stress\Graphics\GetPropertiesFactory.cs - Test\Stability\Stress\Graphics\HelperClass.cs - Test\Stability\Stress\Graphics\HitTest.cs - Test\Stability\Stress\Graphics\HitTestFactory.cs - Test\Stability\Stress\Graphics\HostVisual.cs - Test\Stability\Stress\Graphics\HwndSourceCreator.cs - Test\Stability\Stress\Graphics\IDrawContextProvider.cs - Test\Stability\Stress\Graphics\IRootVisualHolder.cs - Test\Stability\Stress\Graphics\ISurface.cs - Test\Stability\Stress\Graphics\IVisual.cs - Test\Stability\Stress\Graphics\IVisualProperties.cs - Test\Stability\Stress\Graphics\Magnifier.cs - Test\Stability\Stress\Graphics\MagnifierFactory.cs - Test\Stability\Stress\Graphics\MoveNode.cs - Test\Stability\Stress\Graphics\NodeActor.cs - Test\Stability\Stress\Graphics\NodeCreator.cs - Test\Stability\Stress\Graphics\R3DVisual.cs - Test\Stability\Stress\Graphics\Random.cs - Test\Stability\Stress\Graphics\RemoveNode.cs - Test\Stability\Stress\Graphics\RenderTargetBitmap.cs - Test\Stability\Stress\Graphics\RenderTargetBitmapFactory.cs - Test\Stability\Stress\Graphics\RootVisualHolder.cs - Test\Stability\Stress\Graphics\RootVisualHolderActor.cs - Test\Stability\Stress\Graphics\SharedObjects.cs - Test\Stability\Stress\Graphics\TransformCreatorFactory.cs - Test\Stability\Stress\Graphics\TreeActor.cs - Test\Stability\Stress\Graphics\TreeCreator.cs - Test\Stability\Stress\Graphics\TreeCreatorInitFactory.cs - Test\Stability\Stress\Graphics\TreeInitActor.cs - Test\Stability\Stress\Graphics\UpdateProperties.cs - Test\Stability\Stress\Graphics\UpdatePropertiesFactory.cs - Test\Stability\Stress\Graphics\VisualTarget.cs - - - - - Test\Performance\CLRProfilerControl.cs - Test\Performance\CustomTestAction.cs - Test\Performance\InputPerf.cs - Test\Performance\PerfActionHelper.cs - Test\Performance\TraceProvider.cs - Test\Performance\EventTrace.cs - Test\Performance\EventType.cs - - - - - Test\Performance\CLRProfilerControl.cs - Test\Performance\CustomTestAction.cs - Test\Performance\InputPerf_PartialTrust.cs - Test\Performance\PerfActionHelper.cs - Test\Performance\PerfTestTraceProvider.cs - - - - - Test\Annotations\AnnotationsTestSettings.cs - Test\Annotations\Attributes.cs - Test\Annotations\FastTestSuite.cs - Test\Annotations\TestSuite.cs - Test\Annotations\TestSuiteRunner.cs - Test\Annotations\UIAutomationModule.cs - Test\Annotations\VisualAutomationTestSuite.cs - Test\Annotations\VScanModule.cs - Test\Annotations\Internal\ALogger.cs - Test\Annotations\Internal\TestCase.cs - Test\Annotations\Internal\TestVariation.cs - - - diff --git a/eng/WpfArcadeSdk/tools/StrongName.props b/eng/WpfArcadeSdk/tools/StrongName.props deleted file mode 100644 index 39b1310704d..00000000000 --- a/eng/WpfArcadeSdk/tools/StrongName.props +++ /dev/null @@ -1,17 +0,0 @@ - - - false - $(WpfTestBasePath)\Common\keys\TestUntrusted.snk - 0024000004800000940000000602000000240000525341310004000001000100C1BCD9B7844CD35725B1138216ED5E0FAB914676D580860F6F081C8C0E83B92D835FFAE76FA968F7637E4B6E32D77FEE1C084088CEE736CE589D65AD0FA66F086C2F5F755A6F2909D17C643B45C72A906AAAC617BFD67491A8FCE54784CA98317AEA28C0544546FF9123F6F94E59793F2874437BC3D136A40095D0F960E6A6A4 - A069DEE354D95F76 - - $(WpfTestBasePath)\Common\keys\TestTrusted.snk - 00240000048000009400000006020000002400005253413100040000010001007FDB0774CDFEFC88AAA6613332E5BE12A11BD32ADB7E2EAD4C049CFFCC6284FA975CD55B0291738247984CFCF4074970C44C1DA29B07201B0F90FB7B2C60D2A604C4ABA9FBC106AD3D1838DAD496780B0E4518D045FE70C4DE4E9663354989CF9A2E4F9ADD41BFEF82437DA35C8B1C1A0D6DACB521456C4BB18BADA2BE7407C3 - e1e6160fdd198bb1 - - - false - $(TestUntrustedKey) - custom - - \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/StrongName.targets b/eng/WpfArcadeSdk/tools/StrongName.targets deleted file mode 100644 index cfc73c73f7b..00000000000 --- a/eng/WpfArcadeSdk/tools/StrongName.targets +++ /dev/null @@ -1,12 +0,0 @@ - - - - $(TestTrustedPublicKey) - $(TestTrustedPublicKeyToken) - - - - $(TestUntrustedPublicKey) - $(TestUntrustedPublicKeyToken) - - diff --git a/eng/WpfArcadeSdk/tools/TestProjects.targets b/eng/WpfArcadeSdk/tools/TestProjects.targets index d5396b3a087..28dcf279bcb 100644 --- a/eng/WpfArcadeSdk/tools/TestProjects.targets +++ b/eng/WpfArcadeSdk/tools/TestProjects.targets @@ -7,7 +7,8 @@ x86 None - true + false + true true @@ -18,7 +19,8 @@ --> + Version="$(MicrosoftDotNetWpfDncEngVersion)" + Publish="$(CreateTestPayload)"> true true @@ -26,24 +28,24 @@ - + - - - - - + + + + + - - + + - - diff --git a/eng/helix/configure-helix-machine.ps1 b/eng/helix/configure-helix-machine.ps1 deleted file mode 100644 index 4f20fb2866a..00000000000 --- a/eng/helix/configure-helix-machine.ps1 +++ /dev/null @@ -1,30 +0,0 @@ -# This file prepares the helix machine for our tests runs -$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" - -# Set DOTNET_ROOT variables so the host can find it -Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation -Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation - -$runtimes = dotnet --list-runtimes -foreach ($rt in $runtimes) -{ - if ($rt.StartsWith("Microsoft.WindowsDesktop.App")) - { - $version = $rt.Split(" ")[1] - } -} - -# Rewrite the *.runtimeconfig.json files to match the version of the runtime on the machine -$infraLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test\Infra" -$stiConfigFile = Join-Path $infraLocation "Sti.runtimeconfig.json" -$qvConfigFile = Join-Path $infraLocation "QualityVaultFrontEnd.runtimeconfig.json" -$configFiles = $stiConfigFile, $qvConfigFile -foreach ($config in $configFiles) -{ - # Read current config file - $jsondata = Get-Content -Raw -Path $config | ConvertFrom-Json - # Update version - $jsondata.runtimeOptions.framework.version = $version - # Write data back - $jsondata | ConvertTo-Json -depth 100 | Set-Content $config -} \ No newline at end of file diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 deleted file mode 100644 index 9f382820f4a..00000000000 --- a/eng/helix/prepare-helix-payload.ps1 +++ /dev/null @@ -1,49 +0,0 @@ -[CmdLetBinding()] -Param( - [string]$platform, - [string]$configuration -) - -$payloadDir = "HelixPayload\$configuration\$platform" - -$nugetPackagesDir = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "packages" - -# Create the payload directory. Remove it if it already exists. -if(Test-Path $payloadDir) -{ - Remove-Item $payloadDir -Recurse -} -New-Item -ItemType Directory -Force -Path $payloadDir - -function CopyFolderStructure($from, $to) -{ - if(Test-Path $to) - { - Remove-Item $to -Recurse - } - New-Item -ItemType Directory -Force -Path $to - - if (Test-Path $from) - { - Get-ChildItem $from | Copy-Item -Destination $to -Recurse - } - else - { - Write-Output "Location doesn't exist: $from" - } -} - -# Copy files from nuget packages. -$testNugetLocation = Resolve-Path (Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.Test\*\tools\win-$platform\Test") -$testPayloadLocation = Join-Path $payloadDir "Test" -CopyFolderStructure $testNugetLocation $testPayloadLocation - -# Copy local DRT assemblies to test location -$drtArtifactsLocation = [System.IO.Path]::Combine($env:BUILD_SOURCESDIRECTORY, "artifacts\test", $configuration, $platform, "Test\DRT") -$drtPayloadLocation = Join-Path $payloadDir "Test\DRT" -CopyFolderStructure $drtArtifactsLocation $drtPayloadLocation - -# Copy scripts -Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir -Copy-Item "eng\helix\runtests.ps1" $payloadDir -Copy-Item "eng\helix\runtests.cmd" $payloadDir diff --git a/eng/helix/runtests.cmd b/eng/helix/runtests.cmd deleted file mode 100644 index c7b6190b9f2..00000000000 --- a/eng/helix/runtests.cmd +++ /dev/null @@ -1,3 +0,0 @@ -@echo off - -powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0runtests.ps1""" %*" \ No newline at end of file diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 deleted file mode 100644 index 55d4395441a..00000000000 --- a/eng/helix/runtests.ps1 +++ /dev/null @@ -1,26 +0,0 @@ -[CmdLetBinding()] -Param( - [string]$command -) - -# Configure the machine before running tests -. "$PSScriptRoot\configure-helix-machine.ps1" - -# Run the tests -$testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" -if (Test-Path "$testLocation\rundrts.cmd") -{ - Invoke-Expression "$testLocation\rundrts.cmd $command" -} - -# We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. -# For example: $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg -# Then, links to these artifacts can then be included in the xUnit logs. - -# Need to copy the xUnit log to a known location that helix can understand -if (Test-Path "$env:AppData\QualityVault\Run\Report\testResults.xml") -{ - $resultLocation = $PSScriptRoot - Write-Output "Copying test results to $resultLocation" - Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" $resultLocation -} \ No newline at end of file diff --git a/eng/helix/helixpublish.proj b/eng/helixpublish.proj similarity index 91% rename from eng/helix/helixpublish.proj rename to eng/helixpublish.proj index 6869d5b7bbc..8f3aa2ac922 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helixpublish.proj @@ -1,14 +1,6 @@ - netcoreapp3.0 - $(MSBuildThisFileDirectory)packages - true - - $(RestoreSources); - https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json - - true runtime @@ -28,7 +20,7 @@ - + 00:20:00 call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=Xaml diff --git a/eng/pipeline.yml b/eng/pipeline.yml index a7cfb192b5f..f92f5428ee6 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -135,8 +135,8 @@ jobs: -configuration $(_BuildConfig) $(_OfficialBuildIdArgs) $(_PlatformArgs) - -projects $(Build.SourcesDirectory)\eng\helix\helixpublish.proj - /bl:$(BUILD.SOURCESDIRECTORY)\artifacts\log\$(_BuildConfig)\HelixUnit.binlog + -projects $(Build.SourcesDirectory)\eng\helixpublish.proj + /bl:$(BUILD.SOURCESDIRECTORY)\artifacts\log\$(_BuildConfig)\HelixDrt.binlog displayName: Run Developer Regression Tests on Helix Machine (Release) env: HelixSource: $(_HelixSource) diff --git a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj deleted file mode 100644 index 9a963ba3405..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - true - false - $(WpfTestBasePublishPath) - <_IsPortable>true - false - - - - - - DRT\%(Filename)%(Extension) - Always - - - - - diff --git a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/Directory.Build.props deleted file mode 100644 index 12d9ad073ec..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/Directory.Build.props +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs index 37bd98942c6..79fa006d094 100644 --- a/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs +++ b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs @@ -213,7 +213,7 @@ static DrtBase() Application app = Application.Current; // runs Application.Init(), which sets up Avalon services } - protected DrtBase(ITestOutputHelper output) + protected DrtBase() { string assertExit = Environment.GetEnvironmentVariable("AVALON_ASSERTEXIT"); if (assertExit != null && assertExit.Length > 0) @@ -232,7 +232,6 @@ protected DrtBase(ITestOutputHelper output) } _dispatcher = Dispatcher.CurrentDispatcher; - _output = output; } /// @@ -249,7 +248,7 @@ protected DrtBase(ITestOutputHelper output) /// DRT exit code -- to be returned from Main() public int Run(string[] args) { - _delayedConsoleOutput = new StringAndFileWriter(DrtName, _output); + _delayedConsoleOutput = new StringAndFileWriter(DrtName); _retcode = ReadCommandLineArguments(args); @@ -2621,10 +2620,9 @@ private static void Win32BlockInput(bool blockIt) private class StringAndFileWriter : StringWriter { - public StringAndFileWriter(string drtName, ITestOutputHelper output) : base(new StringBuilder()) + public StringAndFileWriter(string drtName) : base(new StringBuilder()) { _buffer = GetStringBuilder(); - _output = output; if (string.IsNullOrEmpty(drtName)) { throw new ArgumentException("DrtName must be defined"); @@ -2710,14 +2708,6 @@ public override void Write(char value) _logFile.Write(value); _logFile.Flush(); } - - try - { - _output.WriteLine($"{value}"); - } - catch - { - } } } @@ -2735,14 +2725,6 @@ public override void Write(char[] buffer, int index, int count) _logFile.Write(buffer, index, count); _logFile.Flush(); } - - var sb = new StringBuilder(); - sb.Append(buffer, index, count); - try - { - _output.WriteLine(sb.ToString()); - } - catch { } } } @@ -2772,12 +2754,6 @@ public override void Write(string value) _logFile.Write(value); _logFile.Flush(); } - - try - { - _output.WriteLine(value); - } - catch { } } } @@ -2801,8 +2777,6 @@ public void CloseFile() private StringBuilder _buffer; private bool _isClosed = false; private object _instanceLock = new object(); - - private ITestOutputHelper _output; } private class DualWriter : StringWriter @@ -2915,8 +2889,6 @@ public bool TimedOut // private Dispatcher _dispatcher; - private ITestOutputHelper _output; - private HwndSource _source = null; private Visual _rootElement; diff --git a/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj index c4d5ad2748d..81436587de5 100644 --- a/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj +++ b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj @@ -1,11 +1,13 @@  - TestServices - TestServices - $(DefineConstants);FRAMEWORK_NATIVEMETHODS;CORE_NATIVEMETHODS;DRT - true - $(NoWarn);CS0618;0618 - AnyCPU;x64 + TestServices + TestServices + $(DefineConstants);FRAMEWORK_NATIVEMETHODS;CORE_NATIVEMETHODS;DRT + true + $(NoWarn);CS0618;0618 + AnyCPU;x64 + false + Library diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj index c744feb3be1..dae72c72de6 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj @@ -7,7 +7,6 @@ true - true BamlAvoidXmlTest AnyCPU;x64 @@ -17,37 +16,8 @@ Exe - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj index 3c4d5a8d8b5..8b04041b658 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj @@ -62,8 +62,6 @@ MSBuild:Compile - - diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props index 4d1dc3791be..bf987b61ede 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props @@ -1,4 +1,3 @@ - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj index 822d08b97c9..769c148aa6e 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj @@ -5,12 +5,12 @@ console WinExe AnyCPU;x64 + DrtXaml.XamlDrt + true - true false - true @@ -24,12 +24,6 @@ - - - - - - diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs index 2feeead35e0..7499fee2047 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs @@ -17,12 +17,14 @@ namespace DrtXaml { public sealed class XamlDrt : DrtBase { - public void RunTests(params string[] args) + [STAThread] + public static int Main(string[] args) { - Run(args); + DrtBase drt = new XamlDrt(); + return drt.Run(args); } - public XamlDrt(ITestOutputHelper output) : base(output) + private XamlDrt() { DrtName = "DrtXaml"; WindowTitle = "XAML DRT"; diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/Tests/SchemaTests.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/Tests/SchemaTests.cs index 311c4445747..d3fcf564232 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/Tests/SchemaTests.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/Tests/SchemaTests.cs @@ -1244,9 +1244,7 @@ public void ParsedDynamicAssemblyCollectible() } [TestMethod] -#if NETCOREAPP3_X [TestKnownFailure(Reason = ".NET Core does not support Assembly.ReflectionOnlyLoad. Contact wpfdev for additional details")] -#endif public void ReflectionOnlyTypes() { XamlSchemaContext oldXsc = _schemaContext; diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/XamlTestFrameWork/Assert.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/XamlTestFrameWork/Assert.cs index 4b4f422494a..a915c356f47 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/XamlTestFrameWork/Assert.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/XamlTestFrameWork/Assert.cs @@ -5,111 +5,102 @@ using System; using System.Collections.Generic; using System.Collections; -using Xunit; -using Xunit.Sdk; namespace DrtXaml.XamlTestFramework { - public class EqualException2 : EqualException + public static class Assert { - public EqualException2(object expected, object actual) : base(expected, actual) + public static void AreEqual(decimal expected, decimal actual) { + AreEqual(expected, actual, "Are not equal"); } - public EqualException2(string expected, string actual, int expectedIndex, int actualIndex) : base(expected, actual, expectedIndex, actualIndex) + public static void AreEqual(int expected, int actual) { + AreEqual(expected, actual, "Are not equal"); } - public EqualException2(object expected, object actual, string message): this(expected, actual) + public static void AreEqual(uint expected, uint actual) { - UserMessage = message; + AreEqual(expected, actual, "Are not equal"); } - } - public class NotEqualException2 : NotEqualException - { - public NotEqualException2(NotEqualException inner, string message): base(inner.Expected, inner.Actual) + public static void AreEqual(string expected, string actual) { - UserMessage = message; + AreEqual(expected, actual, "Are not equal"); } - } - public class NotNullException2 : NotNullException - { - public NotNullException2() + public static void AreEqual(float expected, float actual) { + AreEqual(expected, actual, "Are not equal"); } - public NotNullException2(string message) + public static void AreEqual(double expected, double actual) { - UserMessage = message; + AreEqual(expected, actual, "Are not equal"); } - } - public class NullException2 : NullException - { - public NullException2(object actual) : base(actual) + public static void AreEqual(object expected, object actual) { + AreEqual(expected, actual, "Are not equal"); } - public NullException2(object actual, string message): this(actual) + public static void AreEqual(decimal expected, decimal actual, string message) { - UserMessage = message; + if (expected != actual) + { + Fail(message); + } } - } - public class IsAssignableFromException2 : IsAssignableFromException - { - public IsAssignableFromException2(Type expected, object actual) : base(expected, actual) + public static void AreEqual(int expected, int actual, string message) { + if (expected != actual) + { + Fail(message); + } } - public IsAssignableFromException2(Type expected, object actual, string message) : this(expected, actual) + public static void AreEqual(uint expected, uint actual, string message) { - UserMessage = message; + if (expected != actual) + { + Fail(message); + } } - } - - public static class Assert - { - - public static void AreEqual(T expected, T actual) + public static void AreEqual(string expected, string actual, string message) { - AreEqual(expected, actual, "Are not equal"); + if (expected != actual) + { + Fail(message); + } } - public static void AreEqual(T expected, T actual, string message) + public static void AreEqual(float expected, float actual, string message) { - try - { - Xunit.Assert.Equal(expected, actual); - } - catch (EqualException) + if (expected != actual) { - throw new EqualException2(expected, actual, message); + Fail(message); } } - public static void AreNotEqual(T expected, T actual) + public static void AreEqual(double expected, double actual, string message) { - AreNotEqual(expected, actual, "Should not be equal"); + if (expected != actual) + { + Fail(message); + } } - public static void AreNotEqual(T expected, T actual, string message) + public static void AreEqual(object expected, object actual, string message) { - try - { - Xunit.Assert.NotEqual(expected, actual); - } - catch (NotEqualException e) + if (!(expected.Equals(actual))) { - throw new NotEqualException2(e, message); + Fail(message); } } - - public static void AreEqualOrdered(IList actual, params T[] expected) { Assert.AreEqual(expected.Length, actual.Count); @@ -128,7 +119,96 @@ public static void AreEqualUnordered(ICollection actual, params T[] expect } } + public static void AreNotEqual(decimal expected, decimal actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(int expected, int actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(uint expected, uint actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(string expected, string actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(float expected, float actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + public static void AreNotEqual(double expected, double actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(object expected, object actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(decimal expected, decimal actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(int expected, int actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(uint expected, uint actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(string expected, string actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(float expected, float actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(double expected, double actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(object expected, object actual, string message) + { + if (object.Equals(expected, actual)) + { + Fail(message); + } + } public static void AreSame(object expected, object actual) { @@ -137,7 +217,10 @@ public static void AreSame(object expected, object actual) public static void AreSame(object expected, object actual, string message) { - Assert.AreEqual(expected, actual, message); + if (!(object.ReferenceEquals(expected, actual))) + { + Assert.Fail(message); + } } public static void AreNotSame(object expected, object actual) @@ -147,7 +230,20 @@ public static void AreNotSame(object expected, object actual) public static void AreNotSame(object expected, object actual, string message) { - Assert.AreNotEqual(expected, actual, message); + if (object.ReferenceEquals(expected, actual)) + { + Assert.Fail(message); + } + } + + public static void Fail() + { + Fail("Please call Fail(message) not Fail()"); + } + + public static void Fail(string message) + { + throw new InvalidOperationException(message); } public static void IsEmpty(ICollection collection) @@ -170,7 +266,10 @@ public static void IsFalse(bool condition) public static void IsFalse(bool condition, string message) { - Xunit.Assert.False(condition, message); + if (condition) + { + Assert.Fail(message); + } } public static void IsNotNull(object o) @@ -180,13 +279,9 @@ public static void IsNotNull(object o) public static void IsNotNull(object o, string message) { - try + if (o == null) { - Xunit.Assert.NotNull(o); - } - catch (NotNullException) - { - throw new NotNullException2(message); + Assert.Fail(message); } } @@ -197,13 +292,9 @@ public static void IsNull(object o) public static void IsNull(object o, string message) { - try - { - Xunit.Assert.Null(o); - } - catch (NullException) + if (o != null) { - throw new NullException2(o, message); + Assert.Fail(message); } } @@ -214,7 +305,7 @@ public static void IsTrue(bool condition) public static void IsTrue(bool condition, string message) { - Xunit.Assert.True(condition, message); + AreEqual(true, condition, message); } public static void IsInstanceOfType(Type expected, object actual) @@ -224,19 +315,10 @@ public static void IsInstanceOfType(Type expected, object actual) public static void IsInstanceOfType(Type expected, object actual, string message) { - try + if (!(expected.IsInstanceOfType(actual))) { - Xunit.Assert.IsAssignableFrom(expected, actual); + Assert.Fail(message); } - catch(IsAssignableFromException) - { - throw new IsAssignableFromException2(expected, actual, message); - } - } - - public static void Fail(string message) - { - Xunit.Assert.True(false, message); } } } diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj deleted file mode 100644 index b50c80cd7b3..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - XamlTestClasses.FriendWithKey - Library - $(DefineConstants);OLDRESOURCES - true - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj deleted file mode 100644 index 0d902aa8960..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - XamlTestClasses.FriendWithoutKey - Library - $(DefineConstants);OLDRESOURCES - true - false - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithKey/XamlTestClasses.FriendWithKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithKey/XamlTestClasses.FriendWithKey.csproj index 53e9006f66f..38ef8c623f8 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithKey/XamlTestClasses.FriendWithKey.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithKey/XamlTestClasses.FriendWithKey.csproj @@ -3,5 +3,6 @@ XamlTestClasses.FriendWithKey XamlTestClasses.FriendWithKey AnyCPU;x64 + Library diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj index 2292641f063..15261c44875 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj @@ -3,5 +3,6 @@ XamlTestClasses.FriendWithoutKey XamlTestClasses.FriendWithoutKey AnyCPU;x64 + Library diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj index faf81e73e6e..a0d7274219d 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj @@ -6,7 +6,6 @@ - false DrtXaml.snk diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 12c3872c4d5..7c34f925711 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -1,56 +1,29 @@ + + true + - - $(MsBuildThisFileDirectory) - $(WpfTestBasePath)\Common\DRT - $(WpfTestBasePath)\Shared - $(RepoRoot)artifacts\test\ + $(MsBuildThisFileDirectory) + false + true + false + false + false netcoreapp3.0 - true - win-x64;win-x86 + + false + + x86 x64 - - - - + $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) + $(PublishRoot)\Test + false - - - contentfiles;analyzers;build - - - - $(WpfTestBasePath)\Infra\TestUtilities\InternalUtilities\InternalUtilities.csproj - $(WpfTestBasePath)\Infra\CommunityChest\TestContracts\TestContracts.csproj - $(WpfTestBasePath)\Infra\TestApi\TestApiCore\Code\TestApiCore.csproj - $(WpfTestBasePath)\Common\TestRuntime\TestRuntime.csproj - $(WpfTestBasePath)\Common\Drt\TestServices\TestServices.csproj - $(WpfTestBasePath)\Infra\QualityVault\QualityVaultUtilities\QualityVaultUtilities.csproj - $(WpfTestBasePath)\Common\DRT\Tools\DrtTools.csproj - - - - - - true - false - false - - - - - - - CS0618;VSTHRD002;VSTHRD001 - - - $(NoWarn);CS3005;CS3001;CS3002;CS3003;CS0169 - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets index 2181cf771d7..55094856dec 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets @@ -1,7 +1,6 @@ - - + \ No newline at end of file From c51f8525a84aff4ae8cd00e9d4d7989534761188 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 31 May 2019 14:08:36 -0700 Subject: [PATCH 21/72] don't use publish --- eng/AddDrtsToPayload.targets | 26 +++++++++++++++++++ .../tools/CreateTestPayload.targets | 22 ++++++++++++++-- .../tools/PublishAfterBuild.targets | 11 -------- eng/WpfArcadeSdk/tools/RunDrtsLocal.targets | 2 ++ eng/WpfArcadeSdk/tools/TestProjects.targets | 26 +++++++++---------- .../test/Common/Directory.Build.props | 3 --- .../test/DRT/Directory.Build.props | 3 --- .../test/Directory.Build.props | 10 +------ .../test/Directory.Build.targets | 6 ----- 9 files changed, 61 insertions(+), 48 deletions(-) create mode 100644 eng/AddDrtsToPayload.targets delete mode 100644 eng/WpfArcadeSdk/tools/PublishAfterBuild.targets delete mode 100644 src/Microsoft.DotNet.Wpf/test/Directory.Build.targets diff --git a/eng/AddDrtsToPayload.targets b/eng/AddDrtsToPayload.targets new file mode 100644 index 00000000000..30f8f09b80a --- /dev/null +++ b/eng/AddDrtsToPayload.targets @@ -0,0 +1,26 @@ + + + + x64 + + + x86 + x64 + $(RepoRoot)artifacts\test\$(Configuration)\$(PayloadPlatformFolder) + $(PayloadBaseLocation)\Test\DRT + + + + + + + + + + + + + + + diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index c7872ca0772..958044295b7 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -3,14 +3,24 @@ win-$(Platform) win-x86 - $(NoWarn);NU3027;NU3018 + + + x86 + x64 + $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) + + $(PublishRoot)\Test + + + + $(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ @@ -19,12 +29,15 @@ $(Pkgruntime_win-x64_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ - + + + + + + + diff --git a/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets b/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets deleted file mode 100644 index 42f92318850..00000000000 --- a/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - true - - - - diff --git a/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets index 376c35bb846..8a73ac96dab 100644 --- a/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets +++ b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets @@ -1,4 +1,6 @@ + + diff --git a/eng/WpfArcadeSdk/tools/TestProjects.targets b/eng/WpfArcadeSdk/tools/TestProjects.targets index 28dcf279bcb..d5396b3a087 100644 --- a/eng/WpfArcadeSdk/tools/TestProjects.targets +++ b/eng/WpfArcadeSdk/tools/TestProjects.targets @@ -7,8 +7,7 @@ x86 None - false - true + true true @@ -19,8 +18,7 @@ --> + Version="$(MicrosoftDotNetWpfDncEngVersion)"> true true @@ -28,24 +26,24 @@ - + - - - - - + + + + + - - + + - - diff --git a/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props index 7e783514db2..66ffd0bbef4 100644 --- a/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props @@ -1,6 +1,3 @@ - - $(WpfTestBasePublishPath)\Common - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props index 7167d0c5112..66ffd0bbef4 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props @@ -1,6 +1,3 @@ - - $(WpfTestBasePublishPath)\DRT - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 7c34f925711..16e1712ef31 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -11,15 +11,7 @@ false false netcoreapp3.0 - - false - - - x86 - x64 - $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) - - $(PublishRoot)\Test + false diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets deleted file mode 100644 index 55094856dec..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From d5fb705aeb60486fa28a7c03a2d387e2d6a5469c Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 31 May 2019 14:08:44 -0700 Subject: [PATCH 22/72] updating documentation --- Documentation/developer-guide.md | 22 ++++++++++++++++++++++ Documentation/testing-in-helix.md | 11 +++++------ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/Documentation/developer-guide.md b/Documentation/developer-guide.md index b8386a38cc3..3673835a6c1 100644 --- a/Documentation/developer-guide.md +++ b/Documentation/developer-guide.md @@ -23,6 +23,28 @@ We use the following workflow for building and testing features and fixes. You first need to [Fork](https://github.com/dotnet/corefx/wiki/Checking-out-the-code-repository#fork-the-repository) and [Clone](https://github.com/dotnet/corefx/wiki/Checking-out-the-code-repository#clone-the-repository) this WPF repository. This is a one-time task. + +### Running DRTs locally ### +In order to run the set of DRTs on your local machine, pass the `-test` parameter to the `build.cmd` script. At the end of the run, you should see something like this: + +``` + A total of 1 test Infos were processed, with the following results. + Passed: 1 + Failed (need to analyze): 0 + Failed (with BugIDs): 0 + Ignore: 0 + +``` +If there were any failures, you can cd into $(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test and run the tests manually with the `/debugtests` flag. This will open a cmd window, where you can open the test executable in Visual Studio and debug it. For example, to debug DrtXaml.exe you would enter this into the command window: + +`"%ProgramFiles%\Microsoft Visual Studio\2019\Preview\Common7\IDE\devenv.exe" DrtXaml.exe` + +Once Visual Studio is open, you will first need to manually change the debugger type from `Auto` to `Mixed (CoreCLR)`. From there you can F5 and the test will execute. + +*Note: To run a specific test, you can pass the name of the test like this: `/name=DrtXaml`.* + +**NOTE: This requires being run from an admin window at the moment. This restriction will be removed shortly.** + ### Testing Locally built WPF assemblies (excluding PresentationBuildTasks) This section of guide is intended to discuss the different approaches for ad-hoc testing of WPF assemblies, and not automated testing. There are a few different ways this can be done, and for the most part, diff --git a/Documentation/testing-in-helix.md b/Documentation/testing-in-helix.md index 5cbd402f7ad..58274b9f261 100644 --- a/Documentation/testing-in-helix.md +++ b/Documentation/testing-in-helix.md @@ -2,12 +2,11 @@ I'd recommend seeing the official Helix [readme](https://github.com/dotnet/arcade/blob/master/src/Microsoft.DotNet.Helix/Sdk/Readme.md) if you are interested in some of the general Helix concepts. I'll briefly outline what we are doing that is a bit unique: -1. Helix has built-in support for running xUnit tests. Since we are not using xUnit, we have to manually setup our machines so that they work with QualityVault and STI. -We manually restore the helixpublish.proj project during CI builds; this is done in `pipeline.yml`. This allows us to package reference the `Microsoft.DotNet.Wpf.DncEng.Test` package to pull down the binaries that we need. We can extract them into a local folder using the MSBuild property `RestorePackagesPath`, so that when the project is restored, we know the exact relative location of the packages. -2. We need to create a "TestHost" installation of dotnet on the Helix machine. The default Helix support for installing dotnet only installs version 2.x, and only installs the `Microsoft.NETCore.App` runtime, and not the M`icrosoft.WindowsDesktop.App` or `Microsoft.AspNetCore.App` runtimes. I opted to doing this manually and copy it out of the `.dotnet` folder that gets created as part of ci builds, rather than running an installer on the Helix machine. I figured reducing the number of dependencies on making external network calls and downloading items from the internet the better. -3. We copy both the nuget packages we care care about and the dotnet install in the `prepare-helix-payload.ps1` script. This gets invoked before we actually run tests in the `pipeline-yml` file located in the `eng` directory. Helix allows you to specify a `HelixCorrelationPayload` directory, where this directory gets deployed to the Helix machine, and is made available in your various helix commands with the `HELIX_CORRELATION_PAYLOAD` environment variable. -4. Helix and Azure Pipelines can report xUnit logs, so we will be updating QualityVault to produce an xUnit compatible log. We will then need to copy that log to a known location for it to be picked up. +1. Helix has built-in support for running xUnit tests. Since we are not using xUnit, we have to manually setup our machines so that they work with QualityVault and STI. During the build, we create a payload directory that contains the infrastructure we need. A single project (in our case `DrtXaml`) is responsible for creating this directory (see instances of the MSBuild property `CreateTestPayload`). +2. After the build is done, we utilize Arcade's `AfterSolutionBuild.targets` extension point to finish creating the rest of the payload if the `-test` parameter is passed to the build. Here we add the just built DRTs and if `-ci` was **not** passed into to the build, run the tests. +3. Helix allows you to specify a `HelixCorrelationPayload` directory, where this directory gets deployed to the Helix machine, and is made available in your various helix commands with the `HELIX_CORRELATION_PAYLOAD` environment variable. We use the payload directory created described above. +4. Helix and Azure Pipelines can report xUnit logs, so we will be updating QualityVault to produce an xUnit compatible log. We will then need to copy that log to a known location for it to be picked up. This location can be in any subfolder of the `HelixWorkItem` working directory. ## How we are running tests 1. Currently, the `HelixQueues` that we selected are Windows.10.Amd64.Open;Windows.7.Amd64.Open;Windows.10.Amd64.ServerRS5.Open. Essentially, this translates to: "Latest Windows 10", "Windows 7", and "Windows 10 RS5 Server" addition. This enables tests to run on some of the most interesting and important SKUs, without overloading the Helix servers and/or making CI runs take an unnecessarily long time to run. -2. In similar vain, we only run test passes for Release builds, mainly to save time and resources running duplicate tests in a near-identical environment. \ No newline at end of file +2. In a similar fashion, we only run test passes for Release builds, mainly to save time and resources running duplicate tests in a near-identical environment. \ No newline at end of file From a0af0d35f778bb52cf32b605139cbceab76690a5 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 31 May 2019 14:34:04 -0700 Subject: [PATCH 23/72] fixing typo --- eng/WpfArcadeSdk/tools/CreateTestPayload.targets | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index 958044295b7..c92938d61f4 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -17,10 +17,6 @@ - - - - $(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ @@ -34,10 +30,7 @@ - - - - + - - From 474920934a0e585f9f61aca372feb2fa6e0f8f52 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 3 Jun 2019 09:46:43 -0700 Subject: [PATCH 24/72] responding to pr feedback --- Documentation/developer-guide.md | 12 ++- eng/AddDrtsToPayload.targets | 26 ----- eng/WpfArcadeSdk/Sdk/Sdk.props | 4 + .../tools/AddDrtsToPayload.targets | 35 ++++++ .../tools/CreateTestPayload.targets | 23 ++-- eng/WpfArcadeSdk/tools/DrtsToRun.props | 9 ++ eng/WpfArcadeSdk/tools/RunDrtsLocal.targets | 7 +- eng/WpfArcadeSdk/tools/TestProjects.targets | 3 +- eng/helixpublish.proj | 100 +----------------- 9 files changed, 75 insertions(+), 144 deletions(-) delete mode 100644 eng/AddDrtsToPayload.targets create mode 100644 eng/WpfArcadeSdk/tools/AddDrtsToPayload.targets create mode 100644 eng/WpfArcadeSdk/tools/DrtsToRun.props diff --git a/Documentation/developer-guide.md b/Documentation/developer-guide.md index 3673835a6c1..3e3ae808a4f 100644 --- a/Documentation/developer-guide.md +++ b/Documentation/developer-guide.md @@ -35,15 +35,17 @@ In order to run the set of DRTs on your local machine, pass the `-test` paramete Ignore: 0 ``` -If there were any failures, you can cd into $(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test and run the tests manually with the `/debugtests` flag. This will open a cmd window, where you can open the test executable in Visual Studio and debug it. For example, to debug DrtXaml.exe you would enter this into the command window: +If there were any failures, you can cd into $(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test and run the tests manually with the `/debugtests` flag using the `RunDrts.cmd` script. Note that you do not run the `RunDrtsDebug` script, as this will debug the test infrastructure, `QualityVault`. When you pass the `/debugtests` flag, a cmd window will open where you can open the test executable in Visual Studio and debug it. When the cmd pops up, you will see instructions for debugging using a few different commands, however these commands will enable you to debug the `Simple Test Invocation` executable, `sti.exe`, which simply launches the test executable you are most likely interested in debugging. Using `DrtXaml.exe` as an example, this is how you can debug the test executable: +1. `$(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test\RunDrts.cmd /name=DrtXaml /debugtests` +2. Enter following command into the cmd window that pops up: `"%ProgramFiles%\Microsoft Visual Studio\2019\Preview\Common7\IDE\devenv.exe" DrtXaml.exe` +3. Once Visual Studio is open, manually change the debugger type from `Auto` to `Mixed (CoreCLR)`. +4. From there you can F5 and the test will execute. -Once Visual Studio is open, you will first need to manually change the debugger type from `Auto` to `Mixed (CoreCLR)`. From there you can F5 and the test will execute. +*Note: To run a specific test, you can pass the name of the test like this: `/name=DrtXaml`. The names of these tests are contained in DrtList.xml* -*Note: To run a specific test, you can pass the name of the test like this: `/name=DrtXaml`.* - -**NOTE: This requires being run from an admin window at the moment. This restriction will be removed shortly.** +**NOTE: This requires being run from an admin window at the moment. Removing this restriction is tracked by https://github.com/dotnet/wpf/issues/816. ** ### Testing Locally built WPF assemblies (excluding PresentationBuildTasks) This section of guide is intended to discuss the different approaches for ad-hoc testing of WPF assemblies, diff --git a/eng/AddDrtsToPayload.targets b/eng/AddDrtsToPayload.targets deleted file mode 100644 index 30f8f09b80a..00000000000 --- a/eng/AddDrtsToPayload.targets +++ /dev/null @@ -1,26 +0,0 @@ - - - - x64 - - - x86 - x64 - $(RepoRoot)artifacts\test\$(Configuration)\$(PayloadPlatformFolder) - $(PayloadBaseLocation)\Test\DRT - - - - - - - - - - - - - - - diff --git a/eng/WpfArcadeSdk/Sdk/Sdk.props b/eng/WpfArcadeSdk/Sdk/Sdk.props index 2393ddf03e9..19eec4d0054 100644 --- a/eng/WpfArcadeSdk/Sdk/Sdk.props +++ b/eng/WpfArcadeSdk/Sdk/Sdk.props @@ -17,6 +17,10 @@ 8.0 true true + + + win-$(Platform) + win-x86 diff --git a/eng/WpfArcadeSdk/tools/AddDrtsToPayload.targets b/eng/WpfArcadeSdk/tools/AddDrtsToPayload.targets new file mode 100644 index 00000000000..60c1044a63f --- /dev/null +++ b/eng/WpfArcadeSdk/tools/AddDrtsToPayload.targets @@ -0,0 +1,35 @@ + + + + + x64 + + + $(RepoRoot)artifacts\test\$(Configuration)\$(Platform)\ + $(PayloadBaseLocation)Test\DRT\ + + + + + + + + + + + + + + + + diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index c92938d61f4..4f21f19dd24 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -1,8 +1,6 @@ - win-$(Platform) - win-x86 $(NoWarn);NU3027;NU3018 @@ -10,40 +8,37 @@ x64 $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) - $(PublishRoot)\Test + $(PublishRoot)\Test\ - + - - $(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ + + $(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_Test)\tools\$(WpfRuntimeIdentifier)\Test\ - - $(Pkgruntime_win-x64_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ + + $(Pkgruntime_win-x64_Microsoft_DotNet_Wpf_Test)\tools\$(WpfRuntimeIdentifier)\Test\ - + + DestinationFiles="@(MicrosoftDotNetWpfTestContents->'$(WpfTestBasePublishPath)%(RecursiveDir)%(Filename)%(Extension)')" /> - - + DestinationFolder="$(WpfTestBasePublishPath)DRT" /> diff --git a/eng/WpfArcadeSdk/tools/DrtsToRun.props b/eng/WpfArcadeSdk/tools/DrtsToRun.props new file mode 100644 index 00000000000..72da7bd3216 --- /dev/null +++ b/eng/WpfArcadeSdk/tools/DrtsToRun.props @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets index 8a73ac96dab..2c74d3ae3eb 100644 --- a/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets +++ b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets @@ -1,6 +1,11 @@ + - + diff --git a/eng/WpfArcadeSdk/tools/TestProjects.targets b/eng/WpfArcadeSdk/tools/TestProjects.targets index d5396b3a087..335d9cacf16 100644 --- a/eng/WpfArcadeSdk/tools/TestProjects.targets +++ b/eng/WpfArcadeSdk/tools/TestProjects.targets @@ -1,7 +1,6 @@ - win-$(Platform) - win-x86 + $(WpfRuntimeIdentifier) diff --git a/eng/helixpublish.proj b/eng/helixpublish.proj index 8f3aa2ac922..a662f8fbc98 100644 --- a/eng/helixpublish.proj +++ b/eng/helixpublish.proj @@ -1,12 +1,12 @@ + netcoreapp3.0 true runtime $(MicrosoftNetCoreAppVersion) - win-x86 - win-x64 + $(WpfRuntimeIdentifier) true true @@ -21,102 +21,10 @@ - + 00:20:00 - call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=Xaml + call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=%(Area) - \ No newline at end of file From 3d1f2d81deca5a8bd95eee9ec1bbe9da5351b575 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 3 Jun 2019 10:42:15 -0700 Subject: [PATCH 25/72] updating injectmoduleinitializer --- eng/WpfArcadeSdk/Sdk/Sdk.props | 5 +++- .../tools/InjectModuleInitializer.targets | 28 +++++++------------ 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/eng/WpfArcadeSdk/Sdk/Sdk.props b/eng/WpfArcadeSdk/Sdk/Sdk.props index 19eec4d0054..d688f838cfc 100644 --- a/eng/WpfArcadeSdk/Sdk/Sdk.props +++ b/eng/WpfArcadeSdk/Sdk/Sdk.props @@ -18,7 +18,10 @@ true true - + win-$(Platform) win-x86 diff --git a/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets b/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets index e1e3ef4a5bf..ca51526a799 100644 --- a/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets +++ b/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets @@ -1,12 +1,4 @@ - - - - win-$(Platform) - win-x86 - win-x64 - - - Bitness64 - Bitness32 + Bitness64 + Bitness32 From 2c91ec50c1749e216f81a3eaabfcc8da0b42ef35 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 3 Jun 2019 11:59:48 -0700 Subject: [PATCH 26/72] fix batching --- .../tools/configure-helix-machine.ps1 | 26 +------------------ eng/helixpublish.proj | 2 +- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 index 4f20fb2866a..50004a6ef5c 100644 --- a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 +++ b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 @@ -3,28 +3,4 @@ $dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.P # Set DOTNET_ROOT variables so the host can find it Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation -Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation - -$runtimes = dotnet --list-runtimes -foreach ($rt in $runtimes) -{ - if ($rt.StartsWith("Microsoft.WindowsDesktop.App")) - { - $version = $rt.Split(" ")[1] - } -} - -# Rewrite the *.runtimeconfig.json files to match the version of the runtime on the machine -$infraLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test\Infra" -$stiConfigFile = Join-Path $infraLocation "Sti.runtimeconfig.json" -$qvConfigFile = Join-Path $infraLocation "QualityVaultFrontEnd.runtimeconfig.json" -$configFiles = $stiConfigFile, $qvConfigFile -foreach ($config in $configFiles) -{ - # Read current config file - $jsondata = Get-Content -Raw -Path $config | ConvertFrom-Json - # Update version - $jsondata.runtimeOptions.framework.version = $version - # Write data back - $jsondata | ConvertTo-Json -depth 100 | Set-Content $config -} \ No newline at end of file +Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation \ No newline at end of file diff --git a/eng/helixpublish.proj b/eng/helixpublish.proj index a662f8fbc98..c1c150c4535 100644 --- a/eng/helixpublish.proj +++ b/eng/helixpublish.proj @@ -21,7 +21,7 @@ - + 00:20:00 call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=%(Area) From 91725b14c377d2557cbb38094d7c4443a81a8ce5 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 3 Jun 2019 14:23:16 -0700 Subject: [PATCH 27/72] add back workaround for missing WindowsDesktop --- .../tools/configure-helix-machine.ps1 | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 index 50004a6ef5c..eae32cb9213 100644 --- a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 +++ b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 @@ -3,4 +3,41 @@ $dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.P # Set DOTNET_ROOT variables so the host can find it Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation -Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation \ No newline at end of file +Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation + +# Temporary workaround until https://github.com/dotnet/wpf/issues/816 is addressed. +# The test infrastructure is built against an older version of Microsoft.WindowsDesktop.App. +# Here we re-write the infrastructure runtimeconfig files so that they can load +$runtimes = dotnet --list-runtimes +foreach ($rt in $runtimes) +{ + if ($rt.StartsWith("Microsoft.WindowsDesktop.App")) + { + $version = $rt.Split(" ")[1] + } +} + +if ($null -ne $version) +{ + # Rewrite the *.runtimeconfig.json files to match the version of the runtime on the machine + $infraLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test\Infra" + $stiConfigFile = Join-Path $infraLocation "Sti.runtimeconfig.json" + $qvConfigFile = Join-Path $infraLocation "QualityVaultFrontEnd.runtimeconfig.json" + $configFiles = $stiConfigFile, $qvConfigFile + foreach ($config in $configFiles) + { + # Read current config file + $jsondata = Get-Content -Raw -Path $config | ConvertFrom-Json + # Update version + $jsondata.runtimeOptions.framework.version = $version + # Write data back + $jsondata | ConvertTo-Json -depth 100 | Set-Content $config + } +} +else +{ + Write-Error "No WindowsDesktop runtime found on machine!" + + Write-Output "Runtimes installed:" + Write-Output $runtimes +} From 42ae287250c62f4371e426bc00cd2cc9ff8c2772 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 4 Jun 2019 06:48:36 -0700 Subject: [PATCH 28/72] add WindowsDesktop package to payload for CI builds QualityVault and STI require the WindowsDesktop package --- .../tools/CreateTestPayload.targets | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index 4f21f19dd24..74ec58027b8 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -6,9 +6,11 @@ x86 x64 - $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) + $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) - $(PublishRoot)\Test\ + $(PayloadRoot)\Test\ + + $(PayloadRoot)\dotnet\shared\Microsoft.WindowsDesktop.App\ @@ -29,16 +31,26 @@ + + + + DestinationFiles="@(MicrosoftDotNetWpfTestContents->'$(WpfTestBasePayloadPath)%(RecursiveDir)%(Filename)%(Extension)')" /> + DestinationFolder="$(PayloadRoot)" /> + DestinationFolder="$(WpfTestBasePayloadPath)DRT" /> + + From 8379bca415b63dc1e150e44013c304c5f1ee8446 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 4 Jun 2019 10:59:28 -0700 Subject: [PATCH 29/72] ensure ResolveFrameworkReferences actually works --- .../tools/configure-helix-machine.ps1 | 5 -- eng/WpfArcadeSdk/tools/runtests.ps1 | 24 ++++++- eng/helixpublish.proj | 2 +- .../BamlAvoidXmlTest/BamlAvoidXmlTest.csproj | 6 -- .../test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj | 2 +- .../XamlTestClasses/XamlTestClasses.csproj | 1 + .../test/Directory.Build.props | 2 +- .../test/MultiTargeting.props | 65 +++++++++++++++++++ 8 files changed, 90 insertions(+), 17 deletions(-) create mode 100644 src/Microsoft.DotNet.Wpf/test/MultiTargeting.props diff --git a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 index eae32cb9213..63d0db5ed97 100644 --- a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 +++ b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 @@ -1,9 +1,4 @@ # This file prepares the helix machine for our tests runs -$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" - -# Set DOTNET_ROOT variables so the host can find it -Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation -Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation # Temporary workaround until https://github.com/dotnet/wpf/issues/816 is addressed. # The test infrastructure is built against an older version of Microsoft.WindowsDesktop.App. diff --git a/eng/WpfArcadeSdk/tools/runtests.ps1 b/eng/WpfArcadeSdk/tools/runtests.ps1 index b3cda8665db..f9da1e186ce 100644 --- a/eng/WpfArcadeSdk/tools/runtests.ps1 +++ b/eng/WpfArcadeSdk/tools/runtests.ps1 @@ -1,13 +1,31 @@ [CmdLetBinding()] Param( - [string]$command + [string]$command, + [switch]$ci ) -# Configure the machine before running tests -if (Test-Path "$PSScriptRoot\configure-helix-machine.ps1") +if ($ci) { + # When running in ci, the dotnet install is located at %HELIX_CORRELATION_PAYLOAD% along with all our test content. + $dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" + # Only either the x86 or x64 versions of dotnet are installed on the helix machine, and they both go to the same location + $x86dotnetLocation = $dotnetLocation + + # Run any extra machine setup required for Helix . "$PSScriptRoot\configure-helix-machine.ps1" } +else +{ + # When running local, we run out of $(RepoRoot)artifacts\test\$(Configuration)\$(Platform) + # The dotnet install is located at $(RepoRoot).dotnet + $dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "..\..\..\..\.dotnet" -Resolve + # The x86 location installed by Arcade is in the x86 directory + $x86dotnetLocation = "$dotnetLocation\x86" +} + +# Set DOTNET_ROOT variables so the host can find it +Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $x86dotnetLocation +Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation # Run the tests $testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" diff --git a/eng/helixpublish.proj b/eng/helixpublish.proj index c1c150c4535..1b081126899 100644 --- a/eng/helixpublish.proj +++ b/eng/helixpublish.proj @@ -23,7 +23,7 @@ 00:20:00 - call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=%(Area) + call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=%(Area) -ci diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj index dae72c72de6..6587485ae36 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj @@ -1,12 +1,6 @@ BamlAvoidXmlTest - console - WCP - false - true - - BamlAvoidXmlTest AnyCPU;x64 diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj index 769c148aa6e..39fdb07e5da 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj @@ -3,7 +3,7 @@ DrtXaml DrtXaml console - WinExe + Exe AnyCPU;x64 DrtXaml.XamlDrt true diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj index a0d7274219d..72ccaf787f5 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj @@ -6,6 +6,7 @@ + true DrtXaml.snk diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 16e1712ef31..e7d3f6b26b9 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -10,7 +10,6 @@ false false false - netcoreapp3.0 false @@ -18,4 +17,5 @@ false + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props b/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props new file mode 100644 index 00000000000..f2482461c39 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props @@ -0,0 +1,65 @@ + + + netcoreapp3.0 + + + + $(DefineConstants);NET4X + $(DefineConstants);NETCOREAPP3_X + + $(DefineConstants);NET40 + $(DefineConstants);NET45 + $(DefineConstants);NET451 + $(DefineConstants);NET452 + $(DefineConstants);NET453 + $(DefineConstants);NET46 + $(DefineConstants);NET461 + $(DefineConstants);NET462 + $(DefineConstants);NET47 + $(DefineConstants);NET471 + $(DefineConstants);NET472 + + $(DefineConstants);NETCOREAPP3_0 + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers + + + all + runtime; build; native; contentfiles; analyzers + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 95b29c3d28c940195fca4acdf4b355e90c4723a7 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 4 Jun 2019 13:04:51 -0700 Subject: [PATCH 30/72] workaround no windowsdesktop install on helix machine --- eng/Versions.props | 4 ++++ .../tools/CreateTestPayload.targets | 19 ++++++++++--------- eng/helixpublish.proj | 14 +++++++++++++- eng/pipeline.yml | 6 +++++- eng/pre-build.ps1 | 7 +++++++ 5 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 eng/pre-build.ps1 diff --git a/eng/Versions.props b/eng/Versions.props index a8e3eaf1695..c397066c494 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -58,6 +58,10 @@ 2.4.0 $(XUnitVersion) $(XUnitVersion) + 1.0.0-beta.19263.1 diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index 74ec58027b8..935ee0943a7 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -10,7 +10,7 @@ $(PayloadRoot)\Test\ - $(PayloadRoot)\dotnet\shared\Microsoft.WindowsDesktop.App\ + $(PayloadRoot)\dotnet\shared\Microsoft.NETCore.App\$(MicrosoftNETCoreAppVersion)\ @@ -31,12 +31,7 @@ - - - + - + diff --git a/eng/helixpublish.proj b/eng/helixpublish.proj index 1b081126899..81f734141b4 100644 --- a/eng/helixpublish.proj +++ b/eng/helixpublish.proj @@ -3,9 +3,21 @@ netcoreapp3.0 true + + $(MicrosoftNetCoreAppVersion) + --> + sdk + $(DotNetCliVersion) $(WpfRuntimeIdentifier) true diff --git a/eng/pipeline.yml b/eng/pipeline.yml index f92f5428ee6..0f70d2be7ae 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -119,7 +119,11 @@ jobs: steps: - checkout: self clean: true - + + # Set VSO Variable(s) + - powershell: eng\pre-build.ps1 + displayName: Pre-Build - Set VSO Variables + # Use utility script to run script command dependent on agent OS. - script: eng\common\cibuild.cmd -configuration $(_BuildConfig) diff --git a/eng/pre-build.ps1 b/eng/pre-build.ps1 new file mode 100644 index 00000000000..baad60ccbd9 --- /dev/null +++ b/eng/pre-build.ps1 @@ -0,0 +1,7 @@ +# Open global.json +$globaljsonpath = Join-Path $env:BUILD_SOURCESDIRECTORY 'global.json' +$jsondata = Get-Content -Raw -Path $globaljsonpath | ConvertFrom-Json + +# Set DotNetCliVersion to global.json.tools.dotnet +$dotnetcliver = $jsondata.tools.dotnet +Write-Host "##vso[task.setvariable variable=DotNetCliVersion;]$dotnetcliver" \ No newline at end of file From 4c70764e42e21bd8b96d07e5e7397b933e471877 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 4 Jun 2019 13:52:27 -0700 Subject: [PATCH 31/72] updating developer documentation --- Documentation/developer-guide.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Documentation/developer-guide.md b/Documentation/developer-guide.md index 3e3ae808a4f..fae16537f42 100644 --- a/Documentation/developer-guide.md +++ b/Documentation/developer-guide.md @@ -35,15 +35,19 @@ In order to run the set of DRTs on your local machine, pass the `-test` paramete Ignore: 0 ``` -If there were any failures, you can cd into $(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test and run the tests manually with the `/debugtests` flag using the `RunDrts.cmd` script. Note that you do not run the `RunDrtsDebug` script, as this will debug the test infrastructure, `QualityVault`. When you pass the `/debugtests` flag, a cmd window will open where you can open the test executable in Visual Studio and debug it. When the cmd pops up, you will see instructions for debugging using a few different commands, however these commands will enable you to debug the `Simple Test Invocation` executable, `sti.exe`, which simply launches the test executable you are most likely interested in debugging. Using `DrtXaml.exe` as an example, this is how you can debug the test executable: +If there were any failures, you can cd into $(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test and run the tests manually with the `/debugtests` flag using the `RunDrts.cmd` script. Note that you do not run the `RunDrtsDebug` script, as this will debug the test infrastructure, `QualityVault`. When you pass the `/debugtests` flag, a cmd window will open where you can open the test executable in Visual Studio and debug it. When the cmd pops up, you will see instructions for debugging using a few different commands, however these commands will enable you to debug the `Simple Test Invocation` executable, `sti.exe`, which simply launches the test executable you are most likely interested in debugging. Using `DrtXaml.exe` as an example, this is how you can debug the test executable. Any MSBuild style properties should be replaced with actual values: 1. `$(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test\RunDrts.cmd /name=DrtXaml /debugtests` 2. Enter following command into the cmd window that pops up: `"%ProgramFiles%\Microsoft Visual Studio\2019\Preview\Common7\IDE\devenv.exe" DrtXaml.exe` -3. Once Visual Studio is open, manually change the debugger type from `Auto` to `Mixed (CoreCLR)`. +3. Once Visual Studio is open, go to `Debug-> DrtXaml Properties` and do the following: + - Manually change the `Debugger Type` from `Auto` to `Mixed (CoreCLR)`. + - Change the `Environment` from `Default` to a custom one that properly defines the `DOTNET_ROOT` variable so that the host is able to locate the install of `Microsoft.NETCore.App`. + - x86 (Default): Name: `DOTNET_ROOT(x86)` Value: `$(RepoRoot).dotnet\x86` + - x64 (/p:Platform=x64): Name: `DOTNET_ROOT` Value: `$(RepoRoot).dotnet` 4. From there you can F5 and the test will execute. -*Note: To run a specific test, you can pass the name of the test like this: `/name=DrtXaml`. The names of these tests are contained in DrtList.xml* +*Note: To run a specific test, you can pass the name of the test like this: `/name=DrtXaml`. The names of these tests are contained in DrtList.xml.* **NOTE: This requires being run from an admin window at the moment. Removing this restriction is tracked by https://github.com/dotnet/wpf/issues/816. ** From 5792d0db078dd4054f5faa0b3753dafb087b95be Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 4 Jun 2019 15:59:06 -0700 Subject: [PATCH 32/72] allow for looking outside of local dotnet install --- .../tools/CreateTestPayload.targets | 9 ++- .../tools/configure-helix-machine.ps1 | 38 ---------- eng/WpfArcadeSdk/tools/configure-machine.ps1 | 71 +++++++++++++++++++ eng/WpfArcadeSdk/tools/runtests.ps1 | 35 ++++----- 4 files changed, 93 insertions(+), 60 deletions(-) delete mode 100644 eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 create mode 100644 eng/WpfArcadeSdk/tools/configure-machine.ps1 diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index 935ee0943a7..d96c8e11098 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -26,12 +26,17 @@ + + $(DotNetRoot)x86\ + $(DotNetRoot) + + - - + + Date: Wed, 5 Jun 2019 17:13:57 -0700 Subject: [PATCH 33/72] Suppress all GUI from IL(D)Asm calls. (#877) * Suppress all GUI from IL(D)Asm calls. --- eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets b/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets index e1e3ef4a5bf..1e9b0d757cd 100644 --- a/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets +++ b/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets @@ -381,7 +381,8 @@ Assembly="$(InFile)" Condition="Exists('$(InFile)')" LineNum="true" - Out="$(OutFile)" /> + Out="$(OutFile)" + NoBar="true" /> @@ -421,7 +422,8 @@ SourceFile="$(ILFile)" Out="$(TargetFile)" Dll="true" - Debug="true" /> + Debug="true" + Quiet="true" /> From 1798ea52f6f12049cb2be6a55132741638bb68b4 Mon Sep 17 00:00:00 2001 From: Ryland <41491307+ryalanms@users.noreply.github.com> Date: Wed, 5 Jun 2019 19:54:10 -0700 Subject: [PATCH 34/72] Don't generate ref assemblies for WPF extension assemblies (#879) --- .../PresentationFramework-SystemCore.csproj | 1 + .../PresentationFramework-SystemData.csproj | 1 + .../PresentationFramework-SystemDrawing.csproj | 1 + .../PresentationFramework-SystemXml.csproj | 1 + .../PresentationFramework-SystemXmlLinq.csproj | 1 + 5 files changed, 5 insertions(+) diff --git a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemCore/PresentationFramework-SystemCore.csproj b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemCore/PresentationFramework-SystemCore.csproj index ae90fb22271..52a9e041a8d 100644 --- a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemCore/PresentationFramework-SystemCore.csproj +++ b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemCore/PresentationFramework-SystemCore.csproj @@ -4,6 +4,7 @@ AnyCPU;x64 false false + false diff --git a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemData/PresentationFramework-SystemData.csproj b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemData/PresentationFramework-SystemData.csproj index fca66dfba37..952af945c3f 100644 --- a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemData/PresentationFramework-SystemData.csproj +++ b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemData/PresentationFramework-SystemData.csproj @@ -4,6 +4,7 @@ AnyCPU;x64 false false + false diff --git a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemDrawing/PresentationFramework-SystemDrawing.csproj b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemDrawing/PresentationFramework-SystemDrawing.csproj index 2c2dbc344bd..02c7d8f28b4 100644 --- a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemDrawing/PresentationFramework-SystemDrawing.csproj +++ b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemDrawing/PresentationFramework-SystemDrawing.csproj @@ -4,6 +4,7 @@ AnyCPU;x64 false false + false diff --git a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXml/PresentationFramework-SystemXml.csproj b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXml/PresentationFramework-SystemXml.csproj index 63b23198ed4..fe6e950307a 100644 --- a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXml/PresentationFramework-SystemXml.csproj +++ b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXml/PresentationFramework-SystemXml.csproj @@ -4,6 +4,7 @@ AnyCPU;x64 false false + false diff --git a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXmlLinq/PresentationFramework-SystemXmlLinq.csproj b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXmlLinq/PresentationFramework-SystemXmlLinq.csproj index 922c1cfd2b5..9da2f96d40c 100644 --- a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXmlLinq/PresentationFramework-SystemXmlLinq.csproj +++ b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXmlLinq/PresentationFramework-SystemXmlLinq.csproj @@ -4,6 +4,7 @@ AnyCPU;x64 false false + false From 106bd213e60d960429a5b9f5c8dbbc589ccaa86e Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 6 Jun 2019 12:17:57 +0000 Subject: [PATCH 35/72] Update dependencies from https://github.com/dotnet/arcade build 20190605.13 (#883) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19305.13 - Microsoft.DotNet.CodeAnalysis - 1.0.0-beta.19305.13 --- eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 2 +- eng/common/tools.ps1 | 4 ++-- global.json | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 75c429b0092..f3e708550d0 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -63,13 +63,13 @@ https://github.com/dotnet/core-setup a620d0dba57cd18e49fa686e28e18369be23d067 - + https://github.com/dotnet/arcade - c9ab9c47d6c66fb9ad89e331900e06bed7463904 + d05c046913964e880be08b804e7249f297617c2f - + https://github.com/dotnet/arcade - c9ab9c47d6c66fb9ad89e331900e06bed7463904 + d05c046913964e880be08b804e7249f297617c2f https://github.com/dotnet/corefx diff --git a/eng/Versions.props b/eng/Versions.props index ee819bd9b05..1258b647704 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -40,7 +40,7 @@ - 1.0.0-beta.19304.23 + 1.0.0-beta.19305.13 diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 3983d719be3..538a0262b52 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -107,11 +107,11 @@ function Write-PipelineTaskError { if(!$ci) { if($Type -eq 'error') { - Write-Error $Message + Write-Host $Message -ForegroundColor Red return } elseif ($Type -eq 'warning') { - Write-Warning $Message + Write-Host $Message -ForegroundColor Yellow return } } diff --git a/global.json b/global.json index e355737c6e8..5be0a7dfa94 100644 --- a/global.json +++ b/global.json @@ -12,7 +12,7 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19304.23" + "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19305.13" }, "native-tools": { "strawberry-perl": "5.28.1.1-1" From fa1e85b0170b74d3c827d8e6a4f98a00d6f50990 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 6 Jun 2019 12:52:58 +0000 Subject: [PATCH 36/72] Update dependencies from https://github.com/dotnet/core-setup build 20190605.02 (#884) - Microsoft.NETCore.App - 3.0.0-preview7-27805-02 Dependency coherency updates - Microsoft.Win32.Registry - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.CodeDom - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.Configuration.ConfigurationManager - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.Diagnostics.EventLog - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.DirectoryServices - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.Drawing.Common - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.Reflection.Emit - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.Reflection.MetadataLoadContext - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.Security.AccessControl - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.Security.Cryptography.Xml - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.Security.Permissions - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.Security.Principal.Windows - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.Windows.Extensions - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - Microsoft.NETCore.Platforms - 3.0.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - System.IO.Packaging - 4.6.0-preview7.19305.9 (parent: Microsoft.NETCore.App) - Microsoft.NETCore.ILDAsm - 3.0.0-preview7.19305.2 (parent: Microsoft.NETCore.Runtime.CoreCLR) - Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview7.19305.2 (parent: Microsoft.NETCore.App) - Microsoft.NETCore.ILAsm - 3.0.0-preview7.19305.2 (parent: Microsoft.NETCore.Runtime.CoreCLR) - Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview7.19305.2 (parent: Microsoft.NETCore.App) --- eng/Version.Details.xml | 76 ++++++++++++++++++++--------------------- eng/Versions.props | 38 ++++++++++----------- 2 files changed, 57 insertions(+), 57 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f3e708550d0..83ad6c3baf3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -7,61 +7,61 @@ - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/core-setup - a620d0dba57cd18e49fa686e28e18369be23d067 + 2e54d1f6a6a9126126d6c9f8d730489892acf730 https://github.com/dotnet/arcade @@ -71,29 +71,29 @@ https://github.com/dotnet/arcade d05c046913964e880be08b804e7249f297617c2f - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int 24fbf672601b7b9c088abed2e850bfe14a69875f - + https://github.com/dotnet/corefx - 2469a91c2aa68f9cb6b0f18f75dffc673a1f7895 + 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://github.com/dotnet/coreclr - 89df4b9d928c7f21550d487328f5db000a498bdf + 10df20ed3ff0208b3f16f79d5062662a8827f579 - + https://github.com/dotnet/coreclr - 89df4b9d928c7f21550d487328f5db000a498bdf + 10df20ed3ff0208b3f16f79d5062662a8827f579 - + https://github.com/dotnet/coreclr - 89df4b9d928c7f21550d487328f5db000a498bdf + 10df20ed3ff0208b3f16f79d5062662a8827f579 diff --git a/eng/Versions.props b/eng/Versions.props index 1258b647704..2f3540f027e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -4,7 +4,7 @@ 4.8.0 preview7 4.0.0.0 - 4.6.0-preview7.19304.7 + 4.6.0-preview7.19305.9 @@ -12,31 +12,31 @@ - 3.0.0-preview7.19304.2 - 3.0.0-preview7.19304.2 - 3.0.0-preview7.19304.2 + 3.0.0-preview7.19305.2 + 3.0.0-preview7.19305.2 + 3.0.0-preview7.19305.2 - 3.0.0-preview7-27804-03 - 3.0.0-preview7.19304.7 - 4.6.0-preview7.19304.7 - 4.6.0-preview7.19304.7 - 4.6.0-preview7.19304.7 + 3.0.0-preview7-27805-02 + 3.0.0-preview7.19305.9 + 4.6.0-preview7.19305.9 + 4.6.0-preview7.19305.9 + 4.6.0-preview7.19305.9 - 4.6.0-preview7.19304.7 - 4.6.0-preview7.19304.7 - 4.6.0-preview7.19304.7 - 4.6.0-preview7.19304.7 - 4.6.0-preview7.19304.7 + 4.6.0-preview7.19305.9 + 4.6.0-preview7.19305.9 + 4.6.0-preview7.19305.9 + 4.6.0-preview7.19305.9 + 4.6.0-preview7.19305.9 4.6.0-preview4.19176.11 - 4.6.0-preview7.19304.7 - 4.6.0-preview7.19304.7 - 4.6.0-preview7.19304.7 - 4.6.0-preview7.19304.7 - 4.6.0-preview7.19304.7 + 4.6.0-preview7.19305.9 + 4.6.0-preview7.19305.9 + 4.6.0-preview7.19305.9 + 4.6.0-preview7.19305.9 + 4.6.0-preview7.19305.9 From 0c4546907f75f4e48503d60ebbe12a883b3b8b99 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 6 Jun 2019 12:53:57 +0000 Subject: [PATCH 37/72] Update dependencies from https://github.com/dotnet/winforms build 20190605.1 (#885) - Microsoft.Private.Winforms - 4.8.0-preview7.19305.1 --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 83ad6c3baf3..25edc9d5a5d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,9 +1,9 @@ - + https://github.com/dotnet/winforms - f59e9a9dde144098bb58365f210dfdf4acc9e693 + e65ecacdf2da06f11c847571b467f632393bd060 diff --git a/eng/Versions.props b/eng/Versions.props index 2f3540f027e..752b1a17450 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -8,7 +8,7 @@ - 4.8.0-preview7.19304.2 + 4.8.0-preview7.19305.1 From 49513e13b52ede586a931d90523fa2493351ee4c Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 6 Jun 2019 13:28:25 +0000 Subject: [PATCH 38/72] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int build 20190605.10 (#886) - Microsoft.DotNet.Wpf.DncEng - 4.8.0-preview7.19305.10 --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 25edc9d5a5d..1516246eb0f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -75,9 +75,9 @@ https://github.com/dotnet/corefx 5c2ba765f55462dcc5e00179a34398fc70bf37b7 - + https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int - 24fbf672601b7b9c088abed2e850bfe14a69875f + 76e5819b43718069ef5710a08032b616de5d754c https://github.com/dotnet/corefx diff --git a/eng/Versions.props b/eng/Versions.props index 752b1a17450..ec0f112db0b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -98,6 +98,6 @@ It is worth reiterating that this package *should not* be consumed to build the product. --> - 4.8.0-preview7.19304.6 + 4.8.0-preview7.19305.10 From 3d3a1725d45f9ec908f9abc2264e9b1f8d02d09d Mon Sep 17 00:00:00 2001 From: Rob LaDuca Date: Thu, 6 Jun 2019 10:09:53 -0700 Subject: [PATCH 39/72] Remove workaround for https://github.com/dotnet/corefx/issues/32641. (#882) --- .../SystemXmlLinqExtension.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXmlLinq/SystemXmlLinqExtension.cs b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXmlLinq/SystemXmlLinqExtension.cs index e983d7a60d5..5a0a67b906f 100644 --- a/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXmlLinq/SystemXmlLinqExtension.cs +++ b/src/Microsoft.DotNet.Wpf/src/Extensions/PresentationFramework-SystemXmlLinq/SystemXmlLinqExtension.cs @@ -21,10 +21,10 @@ static SystemXmlLinqExtension() XElement xelement = new XElement("Dummy"); PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(xelement); - s_XElementElementsPropertyDescriptorType = pdc["Elements"]?.GetType(); - s_XElementDescendantsPropertyDescriptorType = pdc["Descendants"]?.GetType(); - s_XElementAttributePropertyDescriptorType = pdc["Attribute"]?.GetType(); - s_XElementElementPropertyDescriptorType = pdc["Element"]?.GetType(); + s_XElementElementsPropertyDescriptorType = pdc["Elements"].GetType(); + s_XElementDescendantsPropertyDescriptorType = pdc["Descendants"].GetType(); + s_XElementAttributePropertyDescriptorType = pdc["Attribute"].GetType(); + s_XElementElementPropertyDescriptorType = pdc["Element"].GetType(); } // return true if the item is an XElement From 8fb5dce62b84cbc3ceaa7fe9b457afc0ebf398a5 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Thu, 6 Jun 2019 12:24:11 -0700 Subject: [PATCH 40/72] upload drt results in helix run --- eng/WpfArcadeSdk/tools/runtests.ps1 | 12 +++++++++--- .../test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj | 1 + src/Microsoft.DotNet.Wpf/test/Directory.Build.props | 1 - 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/eng/WpfArcadeSdk/tools/runtests.ps1 b/eng/WpfArcadeSdk/tools/runtests.ps1 index 7213e388000..5931b60f7fa 100644 --- a/eng/WpfArcadeSdk/tools/runtests.ps1 +++ b/eng/WpfArcadeSdk/tools/runtests.ps1 @@ -18,11 +18,16 @@ if (Test-Path "$env:AppData\QualityVault") # Run the tests $testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" -if (Test-Path "$testLocation\rundrts.cmd") +if (Test-Path "$testLocation\QV.cmd") { - Invoke-Expression "$testLocation\rundrts.cmd $command" + # We invoke QV directly instead of rundrts to prevent the "RunDrtReport" script being generated. + Invoke-Expression "$testLocation\QV.cmd Run /DiscoveryInfoPath=$testLocation\DiscoveryInfoDrts.xml /RunDirectory=$env:AppData\QualityVault\Run $command" } +if ($ci -and (Test-Path "$env:AppData\QualityVault\Run\Report\DrtReport.xml")) +{ + Invoke-Expression "$env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py -result $env:AppData\QualityVault\Run\Report\DrtReport.xml -result_name DrtReport.xml" +} # We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. # For example: $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg # Then, links to these artifacts can then be included in the xUnit logs. @@ -30,7 +35,8 @@ if (Test-Path "$testLocation\rundrts.cmd") # Need to copy the xUnit log to a known location that helix can understand if (Test-Path "$env:AppData\QualityVault\Run\Report\testResults.xml") { - $resultLocation = Get-Location + Get-ChildItem env: + $resultLocation = if($ci) { Get-Location } else { $PSScriptRoot } Write-Output "Copying testResults.xml to $resultLocation" Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" $resultLocation } diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj index 39fdb07e5da..028926828d1 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj @@ -10,6 +10,7 @@ + true false diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index e7d3f6b26b9..d0922997f6f 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -6,7 +6,6 @@ $(MsBuildThisFileDirectory) false - true false false false From f7fc9f2dcb9b3a318287aac79a1135284eb77b0e Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 23 Apr 2019 15:24:54 -0700 Subject: [PATCH 41/72] adding initial helix support note: this definitely won't work, it's just some basic initial infrastructure for us to build on once we have a better idea of what to do use dummy HelixWorkItem initially updating pipeline.yml fix Release only condition --- eng/Build.props | 8 ++ eng/Version.Details.xml | 4 + eng/helix/configure-helix-machine.ps1 | 18 ++++ eng/helix/helixpublish.proj | 127 ++++++++++++++++++++++++++ eng/helix/prepare-helix-payload.ps1 | 51 +++++++++++ eng/helix/runtests.cmd | 5 + eng/pipeline.yml | 66 ++++++++++++- eng/pre-build.ps1 | 7 ++ global.json | 3 +- 9 files changed, 287 insertions(+), 2 deletions(-) create mode 100644 eng/Build.props create mode 100644 eng/helix/configure-helix-machine.ps1 create mode 100644 eng/helix/helixpublish.proj create mode 100644 eng/helix/prepare-helix-payload.ps1 create mode 100644 eng/helix/runtests.cmd create mode 100644 eng/pre-build.ps1 diff --git a/eng/Build.props b/eng/Build.props new file mode 100644 index 00000000000..da83de21674 --- /dev/null +++ b/eng/Build.props @@ -0,0 +1,8 @@ + + + + <_NuGetRestoreTargets>$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets + true + true + + \ No newline at end of file diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1516246eb0f..ad1eac1f472 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -95,5 +95,9 @@ https://github.com/dotnet/coreclr 10df20ed3ff0208b3f16f79d5062662a8827f579 + + https://github.com/dotnet/arcade + 851e36df83d3361e4bd8a70a2a8a89f762469f9a + diff --git a/eng/helix/configure-helix-machine.ps1 b/eng/helix/configure-helix-machine.ps1 new file mode 100644 index 00000000000..3790623965a --- /dev/null +++ b/eng/helix/configure-helix-machine.ps1 @@ -0,0 +1,18 @@ +# This file prepares the helix machine for our tests runs + +$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" + +Write-Output "Adding dotnet location to path: $dotnetLocation" +Write-Output "Path before: $env:path" +# Prepend the path to ensure that dotnet.exe is called from there. +$env:path="$dotnetLocation;$env:path" + +Write-Output "Path after: $env:path" +# Don't look outside the TestHost to resolve best match SDKs. +$env:DOTNET_MULTILEVEL_LOOKUP = 0 + +# Disable first run since we do not need all ASP.NET packages restored. +$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + +# Ensure that the dotnet installed at our dotnetLocation is used +$env:DOTNET_ROOT=$dotnetLocation \ No newline at end of file diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj new file mode 100644 index 00000000000..819ddbc4a93 --- /dev/null +++ b/eng/helix/helixpublish.proj @@ -0,0 +1,127 @@ + + + + + netcoreapp3.0 + $(MSBuildThisFileDirectory)packages + + + + false + true + true + true + $(HelixPreCommands); + + + true + + $(RestoreSources); + https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json + + + + + + + + 00:20:00 + %HELIX_CORRELATION_PAYLOAD%\runtests.cmd + + + + + \ No newline at end of file diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 new file mode 100644 index 00000000000..8339d9a6782 --- /dev/null +++ b/eng/helix/prepare-helix-payload.ps1 @@ -0,0 +1,51 @@ +[CmdLetBinding()] +Param( + [string]$platform, + [string]$configuration +) + +$payloadDir = "HelixPayload\$configuration\$platform" + +$nugetPackagesDir = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "packages" + +# TODO: Once we have the nuget package from the dotnet-wpf-test, we can better understand what we +# need to do here. +# Create the payload directory. Remove it if it already exists. +if(Test-Path $payloadDir) +{ + Remove-Item $payloadDir -Recurse +} +New-Item -ItemType Directory -Force -Path $payloadDir + +function CopyFolderStructure($from, $to) +{ + if(Test-Path $to) + { + Remove-Item $to -Recurse + } + New-Item -ItemType Directory -Force -Path $to + + if (Test-Path $from) + { + Get-ChildItem $from | Copy-Item -Destination $to -Recurse + } + else + { + Write-Output "Location doesn't exist: $from" + } + +} + +# Copy files from nuget packages +$testNugetLocation = Join-Path $nugetPackagesDir "qv.wpf.test\1.0.0\tools\win-$platform\" +$testPayloadLocation = Join-Path $payloadDir "Test" +CopyFolderStructure $testNugetLocation $testPayloadLocation + +# Copy local dotnet install +$localDotnetInstall = Join-Path $env:BUILD_SOURCESDIRECTORY '.dotnet' +$dotnetPayloadLocation = Join-Path $payloadDir "dotnet" +CopyFolderStructure $localDotnetInstall $dotnetPayloadLocation + +# Copy scripts +Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir +Copy-Item "eng\helix\runtests.cmd" $payloadDir \ No newline at end of file diff --git a/eng/helix/runtests.cmd b/eng/helix/runtests.cmd new file mode 100644 index 00000000000..ef3923df0df --- /dev/null +++ b/eng/helix/runtests.cmd @@ -0,0 +1,5 @@ +@echo off +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0configure-helix-machine.ps1""" " +exit /b %ErrorLevel% + +dotnet --info \ No newline at end of file diff --git a/eng/pipeline.yml b/eng/pipeline.yml index 0a0d445c293..e2f05cb5eda 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -11,6 +11,7 @@ parameters: # Needed because runAsPublic is used in template expressions, which can't read from user-defined variables # Defaults to true runAsPublic: true + repoName: dotnet/wpf jobs: - template: /eng/common/templates/jobs/jobs.yml @@ -21,7 +22,7 @@ jobs: enablePublishBuildAssets: true enablePublishUsingPipelines: $(_PublishUsingPipelines) enableTelemetry: true - helixRepo: dnceng/wpf + helixRepo: $(repoName) jobs: - job: Windows_NT @@ -48,6 +49,16 @@ jobs: value: x86 - name: _PlatformArgs value: /p:Platform=$(_Platform) + - name: _TestHelixAgentPool + value: 'Windows.10.Amd64.Open' + - name: _HelixStagingDir + value: $(BUILD.STAGINGDIRECTORY)\helix\functests + - name: _HelixSource + value: ${{ parameters.repoName }}/$(Build.SourceBranch) + - name: _HelixToken + value: '' + - name: _HelixCreator + value: ${{ parameters.repoName }} # Override some values if we're building internally - ${{ if eq(parameters.runAsPublic, 'false') }}: @@ -60,6 +71,7 @@ jobs: value: true - group: DotNet-Blob-Feed - group: DotNet-Symbol-Server-Pats + - group: DotNet-HelixApi-Access - name: _PublishBlobFeedUrl value: https://dotnetfeed.blob.core.windows.net/dotnet-windowsdesktop/index.json @@ -78,6 +90,12 @@ jobs: /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat) - name: _OfficialBuildIdArgs value: /p:OfficialBuildId=$(BUILD.BUILDNUMBER) + - name: _HelixSource + value: official/${{ parameters.repoName }}/$(Build.SourceBranch) + - name: _HelixToken + value: '$(HelixApiAccessToken)' # from DotNet-HelixApi-Access group + - name: _HelixCreator + value: '' #if _HelixToken is set, Creator must be empty strategy: matrix: Build_Debug_x86: @@ -101,6 +119,11 @@ jobs: steps: - checkout: self clean: true + + # Set VSO Variable(s) + - powershell: eng\pre-build.ps1 + displayName: Pre-Build - Set VSO Variables + # Use utility script to run script command dependent on agent OS. - script: eng\common\cibuild.cmd -configuration $(_BuildConfig) @@ -110,3 +133,44 @@ jobs: $(_OfficialBuildIdArgs) $(_PlatformArgs) displayName: Windows Build / Publish + + - powershell: eng\common\build.ps1 + -restore + -configuration $(_BuildConfig) + $(_OfficialBuildIdArgs) + $(_PlatformArgs) + -projects $(Build.SourcesDirectory)\eng\helix\helixpublish.proj + displayName: Restoring Nuget Dependencies for Helix + env: + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + HelixSource: $(_HelixSource) + HelixType: 'tests/drt' + HelixBuild: $(Build.BuildNumber) + HelixTargetQueues: $(_TestHelixAgentPool) + HelixAccessToken: $(_HelixToken) # only defined for internal CI + Creator: $(_HelixCreator) + condition: and(succeeded(), eq(variables['_BuildConfig'], 'Release')) # on helix machine (with real signing) + + # Prepare the helix payload + - powershell: eng\helix\prepare-helix-payload.ps1 + -configuration $(_BuildConfig) -platform $(_Platform) + displayName: Preparing Helix Payload + condition: and(succeeded(), eq(variables['_BuildConfig'], 'Release')) # on helix machine (with real signing) + + # Run DRTs + - powershell: eng\common\cibuild.cmd + -configuration $(_BuildConfig) + $(_OfficialBuildIdArgs) + $(_PlatformArgs) + -projects $(Build.SourcesDirectory)\eng\helix\helixpublish.proj + /bl:$(BUILD.SOURCESDIRECTORY)\artifacts\log\$(_BuildConfig)\HelixUnit.binlog + displayName: Run Developer Regression Tests on Helix Machine (Release) + env: + HelixSource: $(_HelixSource) + HelixType: 'tests/drt' + HelixBuild: $(Build.BuildNumber) + HelixTargetQueues: $(_TestHelixAgentPool) + HelixAccessToken: $(_HelixToken) # only defined for internal CI + Creator: $(_HelixCreator) + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + condition: and(succeeded(), eq(variables['_BuildConfig'], 'Release')) # on helix machine (with real signing) diff --git a/eng/pre-build.ps1 b/eng/pre-build.ps1 new file mode 100644 index 00000000000..baad60ccbd9 --- /dev/null +++ b/eng/pre-build.ps1 @@ -0,0 +1,7 @@ +# Open global.json +$globaljsonpath = Join-Path $env:BUILD_SOURCESDIRECTORY 'global.json' +$jsondata = Get-Content -Raw -Path $globaljsonpath | ConvertFrom-Json + +# Set DotNetCliVersion to global.json.tools.dotnet +$dotnetcliver = $jsondata.tools.dotnet +Write-Host "##vso[task.setvariable variable=DotNetCliVersion;]$dotnetcliver" \ No newline at end of file diff --git a/global.json b/global.json index 5be0a7dfa94..1e111d5600a 100644 --- a/global.json +++ b/global.json @@ -12,7 +12,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19305.13" + "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19305.13", + "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19222.2" }, "native-tools": { "strawberry-perl": "5.28.1.1-1" From 29721fd3574cd0f2163ef1785860d9199a825dab Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Thu, 2 May 2019 15:43:07 -0700 Subject: [PATCH 42/72] move to using Microsoft.DotNet.Wpf.DncEng.Test package name --- eng/helix/configure-helix-machine.ps1 | 11 +++++------ eng/helix/helixpublish.proj | 26 ++++++++++---------------- eng/helix/helixrun.cmd | 12 ++++++++++++ eng/helix/prepare-helix-payload.ps1 | 4 ++-- eng/helix/runtests.cmd | 5 ----- 5 files changed, 29 insertions(+), 29 deletions(-) create mode 100644 eng/helix/helixrun.cmd delete mode 100644 eng/helix/runtests.cmd diff --git a/eng/helix/configure-helix-machine.ps1 b/eng/helix/configure-helix-machine.ps1 index 3790623965a..4074e20679f 100644 --- a/eng/helix/configure-helix-machine.ps1 +++ b/eng/helix/configure-helix-machine.ps1 @@ -3,16 +3,15 @@ $dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" Write-Output "Adding dotnet location to path: $dotnetLocation" -Write-Output "Path before: $env:path" + # Prepend the path to ensure that dotnet.exe is called from there. -$env:path="$dotnetLocation;$env:path" +[System.Environment]::SetEnvironmentVariable("PATH", "$dotnetLocation;$env:path", [System.EnvironmentVariableTarget]::User) -Write-Output "Path after: $env:path" # Don't look outside the TestHost to resolve best match SDKs. -$env:DOTNET_MULTILEVEL_LOOKUP = 0 +[System.Environment]::SetEnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0", [System.EnvironmentVariableTarget]::User) # Disable first run since we do not need all ASP.NET packages restored. -$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 +[System.Environment]::SetEnvironmentVariable("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", "1", [System.EnvironmentVariableTarget]::User) # Ensure that the dotnet installed at our dotnetLocation is used -$env:DOTNET_ROOT=$dotnetLocation \ No newline at end of file +[System.Environment]::SetEnvironmentVariable("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", "$dotnetLocation", [System.EnvironmentVariableTarget]::User) diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 819ddbc4a93..4cf69645c6d 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -4,35 +4,29 @@ netcoreapp3.0 $(MSBuildThisFileDirectory)packages - - + true + + $(RestoreSources); + https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json + + false true true true - $(HelixPreCommands); - - true - - $(RestoreSources); - https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json - + + $(HelixPreCommands); powershell %HELIX_CORRELATION_PAYLOAD%\configure-helix-machine.ps1; - + 00:20:00 - %HELIX_CORRELATION_PAYLOAD%\runtests.cmd + call %HELIX_CORRELATION_PAYLOAD%\helixrun.cmd - - $(HelixPreCommands); powershell %HELIX_CORRELATION_PAYLOAD%\configure-helix-machine.ps1; + $(HelixPreCommands); + + + Windows.10.Amd64.Open;Windows.7.Amd64.Open;Windows.10.Amd64.ServerRS5.Open @@ -30,91 +33,91 @@ diff --git a/eng/helix/helixrun.cmd b/eng/helix/helixrun.cmd index 1dd2d3d4e98..de4ef5db581 100644 --- a/eng/helix/helixrun.cmd +++ b/eng/helix/helixrun.cmd @@ -1,5 +1,6 @@ @echo off setlocal ENABLEDELAYEDEXPANSION +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0configure-helix-machine.ps1""" " REM Run the tests dotnet --info From 070f0d5426dc743a2861593cda4e51845fdfb595 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Thu, 2 May 2019 20:53:29 -0700 Subject: [PATCH 44/72] run test in powershell script --- eng/helix/helixpublish.proj | 48 ++++++++++++++--------------- eng/helix/helixrun.cmd | 13 -------- eng/helix/prepare-helix-payload.ps1 | 2 +- eng/helix/runtests.ps1 | 13 ++++++++ 4 files changed, 38 insertions(+), 38 deletions(-) delete mode 100644 eng/helix/helixrun.cmd create mode 100644 eng/helix/runtests.ps1 diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 4bc641568af..75037efd768 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -28,96 +28,96 @@ 00:20:00 - call %HELIX_CORRELATION_PAYLOAD%\helixrun.cmd + powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\runtests.ps1" diff --git a/eng/helix/helixrun.cmd b/eng/helix/helixrun.cmd deleted file mode 100644 index de4ef5db581..00000000000 --- a/eng/helix/helixrun.cmd +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal ENABLEDELAYEDEXPANSION -powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0configure-helix-machine.ps1""" " - -REM Run the tests -dotnet --info - -REM We can use %HELIX_PYTHONPATH% %HELIX_SCRIPT_ROOT%\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. -REM For example: %HELIX_PYTHONPATH% %HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg -REM Then, links to these artifacts can then be included in the xUnit logs. - -REM Need to copy the xUnit log to a known location that helix can understand -REM copy Test\Drts\testResults.xml ..\testResults.xml \ No newline at end of file diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index ea2d9aed842..675a95ddb74 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -48,4 +48,4 @@ CopyFolderStructure $localDotnetInstall $dotnetPayloadLocation # Copy scripts Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir -Copy-Item "eng\helix\helixrun.cmd" $payloadDir \ No newline at end of file +Copy-Item "eng\helix\runtests.ps1" $payloadDir \ No newline at end of file diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 new file mode 100644 index 00000000000..29ec11c15e3 --- /dev/null +++ b/eng/helix/runtests.ps1 @@ -0,0 +1,13 @@ + +# Configure the machine before running tests +& "$PSScriptRoot\configure-helix-machine.ps1" + +# Run the tests +dotnet --info + +# We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. +# For example: $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg +# Then, links to these artifacts can then be included in the xUnit logs. + +# Need to copy the xUnit log to a known location that helix can understand +# Copy-Item .\Test\Drts\testResults.xml ..\testResults.xml \ No newline at end of file From 847d4ef85c428e3bfd7e5971b9b38687e464ce5f Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 3 May 2019 10:05:52 -0700 Subject: [PATCH 45/72] updating dependencies and removing workaround --- eng/Build.props | 8 -------- eng/Version.Details.xml | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) delete mode 100644 eng/Build.props diff --git a/eng/Build.props b/eng/Build.props deleted file mode 100644 index da83de21674..00000000000 --- a/eng/Build.props +++ /dev/null @@ -1,8 +0,0 @@ - - - - <_NuGetRestoreTargets>$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets - true - true - - \ No newline at end of file diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ad1eac1f472..7967f760a08 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -95,9 +95,9 @@ https://github.com/dotnet/coreclr 10df20ed3ff0208b3f16f79d5062662a8827f579 - + https://github.com/dotnet/arcade - 851e36df83d3361e4bd8a70a2a8a89f762469f9a + e31dd0f6fd12a136a2310a308d235c360703b221 From b21ed79f0d30d8428acea6c7e9385632c2f66f01 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 3 May 2019 10:46:37 -0700 Subject: [PATCH 46/72] adding documentation --- Documentation/developer-guide.md | 1 + Documentation/testing-in-helix.md | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 Documentation/testing-in-helix.md diff --git a/Documentation/developer-guide.md b/Documentation/developer-guide.md index 5ad54ab8041..b8386a38cc3 100644 --- a/Documentation/developer-guide.md +++ b/Documentation/developer-guide.md @@ -162,3 +162,4 @@ Follow the steps defined [here](https://github.com/dotnet/arcade/blob/master/Doc * [up-for-grabs WPF issues](https://github.com/dotnet/wpf/issues?q=is%3Aopen+is%3Aissue+label%3Aup-for-grabs) * [easy WPF issues](https://github.com/dotnet/wpf/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3Aeasy) * [Code generation in dotnet/wpf](codegen.md) +* [Testing in Helix](testing-in-helix.md) diff --git a/Documentation/testing-in-helix.md b/Documentation/testing-in-helix.md new file mode 100644 index 00000000000..5cbd402f7ad --- /dev/null +++ b/Documentation/testing-in-helix.md @@ -0,0 +1,13 @@ +# Testing in Helix + +I'd recommend seeing the official Helix [readme](https://github.com/dotnet/arcade/blob/master/src/Microsoft.DotNet.Helix/Sdk/Readme.md) if you are interested in some of the general Helix concepts. I'll briefly outline what we are doing that is a bit unique: + +1. Helix has built-in support for running xUnit tests. Since we are not using xUnit, we have to manually setup our machines so that they work with QualityVault and STI. +We manually restore the helixpublish.proj project during CI builds; this is done in `pipeline.yml`. This allows us to package reference the `Microsoft.DotNet.Wpf.DncEng.Test` package to pull down the binaries that we need. We can extract them into a local folder using the MSBuild property `RestorePackagesPath`, so that when the project is restored, we know the exact relative location of the packages. +2. We need to create a "TestHost" installation of dotnet on the Helix machine. The default Helix support for installing dotnet only installs version 2.x, and only installs the `Microsoft.NETCore.App` runtime, and not the M`icrosoft.WindowsDesktop.App` or `Microsoft.AspNetCore.App` runtimes. I opted to doing this manually and copy it out of the `.dotnet` folder that gets created as part of ci builds, rather than running an installer on the Helix machine. I figured reducing the number of dependencies on making external network calls and downloading items from the internet the better. +3. We copy both the nuget packages we care care about and the dotnet install in the `prepare-helix-payload.ps1` script. This gets invoked before we actually run tests in the `pipeline-yml` file located in the `eng` directory. Helix allows you to specify a `HelixCorrelationPayload` directory, where this directory gets deployed to the Helix machine, and is made available in your various helix commands with the `HELIX_CORRELATION_PAYLOAD` environment variable. +4. Helix and Azure Pipelines can report xUnit logs, so we will be updating QualityVault to produce an xUnit compatible log. We will then need to copy that log to a known location for it to be picked up. + +## How we are running tests +1. Currently, the `HelixQueues` that we selected are Windows.10.Amd64.Open;Windows.7.Amd64.Open;Windows.10.Amd64.ServerRS5.Open. Essentially, this translates to: "Latest Windows 10", "Windows 7", and "Windows 10 RS5 Server" addition. This enables tests to run on some of the most interesting and important SKUs, without overloading the Helix servers and/or making CI runs take an unnecessarily long time to run. +2. In similar vain, we only run test passes for Release builds, mainly to save time and resources running duplicate tests in a near-identical environment. \ No newline at end of file From 2e6ea44ea23d0c45c038a53be6a4a889e0989b94 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 3 May 2019 10:59:08 -0700 Subject: [PATCH 47/72] reverting dependency update --- eng/Version.Details.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7967f760a08..ad1eac1f472 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -95,9 +95,9 @@ https://github.com/dotnet/coreclr 10df20ed3ff0208b3f16f79d5062662a8827f579 - + https://github.com/dotnet/arcade - e31dd0f6fd12a136a2310a308d235c360703b221 + 851e36df83d3361e4bd8a70a2a8a89f762469f9a From 56087eed4479857d79ff13e2f0c35ce3c0cb8626 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 10 May 2019 15:52:53 -0700 Subject: [PATCH 48/72] switching back to true DrtXaml --- .../test/Common/DRT/dirs.proj | 19 + .../test/Common/Directory.Build.props | 6 + .../test/Common/TestServices/DrtBase.cs | 5 - .../test/Common/keys/TestTrusted.snk | Bin 0 -> 596 bytes .../test/Common/keys/TestUntrusted.snk | Bin 0 -> 596 bytes src/Microsoft.DotNet.Wpf/test/DRT.Build.props | 5 + .../test/DRT/Directory.Build.props | 6 + .../BamlAvoidXmlTest/BamlAvoidXmlTest.csproj | 10 +- .../BamlTestClasses40/BCMarkupExtension.cs | 3 - .../test/DRT/DrtXaml/Directory.Build.props | 4 + .../test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs | 77 -- .../XamlTestClasses.FriendWithKey.csproj | 12 + .../XamlTestClasses.FriendWithoutKey.csproj | 13 + .../DrtXaml.PartialTrustTests.csproj | 20 + .../XamlTestClasses/XamlTestClasses.csproj | 2 +- .../test/DRT/DrtXaml/dirs.proj | 18 + .../test/Directory.Build.props | 59 +- .../test/Directory.Build.targets | 6 + src/Microsoft.DotNet.Wpf/test/Publish.props | 12 + .../test/PublishAfterBuild.targets | 11 + .../test/SourceLocations.props | 1072 +++++++++++++++++ .../test/StrongName.props | 17 + .../test/StrongName.targets | 12 + 23 files changed, 1293 insertions(+), 96 deletions(-) create mode 100644 src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj create mode 100644 src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props create mode 100644 src/Microsoft.DotNet.Wpf/test/Common/keys/TestTrusted.snk create mode 100644 src/Microsoft.DotNet.Wpf/test/Common/keys/TestUntrusted.snk create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT.Build.props create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj create mode 100644 src/Microsoft.DotNet.Wpf/test/Directory.Build.targets create mode 100644 src/Microsoft.DotNet.Wpf/test/Publish.props create mode 100644 src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets create mode 100644 src/Microsoft.DotNet.Wpf/test/SourceLocations.props create mode 100644 src/Microsoft.DotNet.Wpf/test/StrongName.props create mode 100644 src/Microsoft.DotNet.Wpf/test/StrongName.targets diff --git a/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj b/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj new file mode 100644 index 00000000000..72dcacf30b3 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props new file mode 100644 index 00000000000..7e783514db2 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props @@ -0,0 +1,6 @@ + + + + $(WpfTestBasePublishPath)\Common + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs b/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs index 59d384c5013..37bd98942c6 100644 --- a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs +++ b/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs @@ -22,7 +22,6 @@ using System.Text; using Microsoft.Win32; -using Xunit.Abstractions; using MS.Internal; /************************************************************************ @@ -422,7 +421,6 @@ protected virtual bool HandleCommandLineArgument(string arg, bool option, string case "help": PrintUsage(); - Xunit.Assert.True(true); Environment.Exit(0); break; @@ -1138,7 +1136,6 @@ public void Assert(bool cond, string message, params object[] arg) // Write any delayed output for debugging purposes WriteDelayedOutput(); - Xunit.Assert.True(cond, s); if (_loudAsserts) { @@ -2051,7 +2048,6 @@ void RunNextTest() _testIndex++; } - Xunit.Assert.False(aborting); // Schedule the next test. // Special situation: The current test may have called Suspend() and then @@ -2099,7 +2095,6 @@ private void ReportException(object o) ReportDrtInfo(); - Xunit.Assert.True(_retcode == 0); Environment.Exit(_retcode); } diff --git a/src/Microsoft.DotNet.Wpf/test/Common/keys/TestTrusted.snk b/src/Microsoft.DotNet.Wpf/test/Common/keys/TestTrusted.snk new file mode 100644 index 0000000000000000000000000000000000000000..425dc4d7c7b74af91147890c2c856ee5e3a457b5 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097h+Xr;b{``olreQNO<-QW38`CP=elD#{ z1f2iOVubpaT-93wk#mAam`wci2T5?mOdX<|2Ot{{ko$WqVA7@p#H*?M!3M287&zM0 zmUs&eMHtXU{&2+JPL^XeNr}&zE>D`>LBH>ULw%!MiyRsaZLGB+MQls4i>;!*bO*x? z-ZT!EJnN1o04^45o-ow$iKKx<%b7#VJuo`O*}9wM?waJmD$Fr(%Q0)) z4@9WjxvBK;>;EnL8w%^)}u&d0H8y1F&-4*@5&sNR%ghvl%*)kq3)B>+#U=jbs2V|#Trv);Tgx#BS`SQ$#&t6!4)PXAJYvnK)T%gSX4Xo-H`n!CT)S7kEqTm?_?}^X zJDZ|h;dEe9W4t%dt2UJ3TlGjuXjLXK iT<;)^w4m{N+c4%9t^F>L|ceMMnRTBlh`DS$RJwbVGZ?(Ke(2mC*TM=BA{b zEF|Gv%>7a>On-1vKUNU+)v^?qTZkdYS>|vVrpckXVSwhwH`$D{T;=}-`<_*6pTz6S zla(S_@?`a3cyZNr?bQF)bhR69cAMP!vb5CG|FWbqYE4873?Yib>(5m{c5^a512o=S zespg_F-va8{NBnYCF%u9R&*>&N)5$g3ZwVl + + $(WpfDrtTestBasePublishPath) + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props new file mode 100644 index 00000000000..7e783514db2 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props @@ -0,0 +1,6 @@ + + + + $(WpfTestBasePublishPath)\Common + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj index e5778ec5e8f..288c956924a 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj @@ -1,6 +1,13 @@ - + BamlAvoidXmlTest + console + WCP + false + true + + + true BamlAvoidXmlTest AnyCPU;x64 @@ -12,6 +19,7 @@ + diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BCMarkupExtension.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BCMarkupExtension.cs index 90e3c53b5bc..d0f514bfc81 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BCMarkupExtension.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BCMarkupExtension.cs @@ -32,7 +32,6 @@ public override object ProvideValue( { return string.Format("Path: {0} , Mode: {1}", Path, Mode); } - [CLSCompliant(false)] [MarkupExtensionBracketCharacters('(',')')] [MarkupExtensionBracketCharacters('[',']')] [ConstructorArgument("value")] @@ -44,7 +43,6 @@ public string Path set { _value = value; } } - [CLSCompliant(false)] [ConstructorArgument("value2")] [MarkupExtensionBracketCharacters('$','^')] #pragma warning disable CS3021 // Type or member does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute @@ -71,7 +69,6 @@ public override object ProvideValue( return Path; } - [CLSCompliant(false)] [MarkupExtensionBracketCharacters('[',']')] [MarkupExtensionBracketCharacters('(', ')')] #pragma warning disable CS3021 // Type or member does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props new file mode 100644 index 00000000000..319f7c13864 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs index 71b3191ccef..2feeead35e0 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs @@ -12,86 +12,9 @@ using System.IO; using DrtXaml.XamlTestFramework; using System.Xml; -using Xunit; -using Xunit.Abstractions; -using System.Threading.Tasks; -using System.Threading; namespace DrtXaml { - public class TestFrontEnd - { - public TestFrontEnd(ITestOutputHelper testOutputHelper) - { - _testOutputHelper = testOutputHelper; - } - - [Theory] - [InlineData("ValueSerializerSerializationTests")] - [InlineData("ValueSerializerDeserializationAndRoundtripTest")] - [InlineData("NameReferenceTests")] - [InlineData("AdvXamlFeatureTests")] - [InlineData("AttachablePropertyServicesTests")] - [InlineData("AvoidSystemXmlTest")] - [InlineData("BamlTests")] - [InlineData("BasicXamlTests")] - [InlineData("CollectionTests")] - [InlineData("EventTests")] - [InlineData("FactoryArgumentTests")] - [InlineData("LoadPermissionTests")] - [InlineData("MarkupExtensionTests")] - [InlineData("NodeStreamTests")] - [InlineData("ObjectReaderTests")] - [InlineData("ObjectWriterBasicTests")] - [InlineData("SavedContextTests")] - [InlineData("SchemaTests")] - [InlineData("SubreaderTests")] - [InlineData("TypeArgumentTests")] - [InlineData("WpfUsageTests")] - [InlineData("XamlMarkupExtensionWriterTests")] - [InlineData("XamlXmlWriterTests")] - [InlineData("XamlXmlReaderTests")] - [InlineData("XamlTemplateTests")] - [InlineData("XamlServicesTests")] - public async Task RunSuite(params string[] data) - { - string[] switches = new[] { "-verbose", "-catchexceptions", "-quietasserts" }; - - var args = new List(switches); - foreach (var arg in data) - { - if (!arg.StartsWith("-")) - { - args.Add("-suite"); - } - args.Add(arg); - } - - await StartSTATask(() => new XamlDrt(_testOutputHelper).RunTests(args.ToArray())); - } - - private static Task StartSTATask(Action action) - { - var tcs = new TaskCompletionSource(); - var thread = new Thread(() => - { - try - { - action(); - tcs.SetResult(new object()); - } - catch (Exception e) - { - tcs.SetException(e); - } - }); - thread.SetApartmentState(ApartmentState.STA); - thread.Start(); - return tcs.Task; - } - - private ITestOutputHelper _testOutputHelper; - } public sealed class XamlDrt : DrtBase { public void RunTests(params string[] args) diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj new file mode 100644 index 00000000000..0d96d982242 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj @@ -0,0 +1,12 @@ + + + XamlTestClasses.FriendWithKey + Library + $(DefineConstants);OLDRESOURCES + true + true + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj new file mode 100644 index 00000000000..b3ad111fa7f --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj @@ -0,0 +1,13 @@ + + + XamlTestClasses.FriendWithoutKey + Library + $(DefineConstants);OLDRESOURCES + true + true + false + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj new file mode 100644 index 00000000000..22e6c73fbf0 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj @@ -0,0 +1,20 @@ + + + DrtXaml.PartialTrustTests + Library + $(DefineConstants);OLDRESOURCES + true + true + false + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj index 72ccaf787f5..faf81e73e6e 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj @@ -6,7 +6,7 @@ - true + false DrtXaml.snk diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj new file mode 100644 index 00000000000..a74471c0709 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 4ca582bca1e..730df2169f9 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -1,20 +1,61 @@ + + - true + $(WpfIntRootDirectory)publish\ + x86 + x64 - + - $(MsBuildThisFileDirectory) - false - true - false - false - false + $(MsBuildThisFileDirectory) + $(WpfTestBasePath)\Common\DRT + $(WpfTestBasePath)\Shared + netcoreapp3.0 + AnyCPU;x64 + win-x64;win-x86 + true + + + + false + + + contentfiles;analyzers;build + - + + + $(WpfTestBasePath)\Infra\TestUtilities\InternalUtilities\InternalUtilities.csproj + $(WpfTestBasePath)\Infra\CommunityChest\TestContracts\TestContracts.csproj + $(WpfTestBasePath)\Infra\TestApi\TestApiCore\Code\TestApiCore.csproj + $(WpfTestBasePath)\Common\TestRuntime\TestRuntime.csproj + $(WpfTestBasePath)\Common\Drt\TestServices\TestServices.csproj + $(WpfTestBasePath)\Infra\QualityVault\QualityVaultUtilities\QualityVaultUtilities.csproj + $(WpfTestBasePath)\Common\DRT\Tools\DrtTools.csproj + + + + + + true + false + false + + + + + + + + CS0618;VSTHRD002;VSTHRD001 + + + $(NoWarn);CS3005;CS3001;CS3002;CS3003;CS0169 + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets new file mode 100644 index 00000000000..c42bcba8ce7 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/Publish.props b/src/Microsoft.DotNet.Wpf/test/Publish.props new file mode 100644 index 00000000000..d1401f44259 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/Publish.props @@ -0,0 +1,12 @@ + + + <_IsPortable >true + false + win-x86 + win-x64 + $(PublishRoot)$(Configuration)\$(PlatformFolder) + $(PublishDir)\Test + $(WpfTestBasePublishPath)\FeatureTests + $(WpfTestBasePublishPath)\DRT + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets b/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets new file mode 100644 index 00000000000..32916f86819 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets @@ -0,0 +1,11 @@ + + + + + + + true + + + diff --git a/src/Microsoft.DotNet.Wpf/test/SourceLocations.props b/src/Microsoft.DotNet.Wpf/test/SourceLocations.props new file mode 100644 index 00000000000..8b669d5ffd5 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/SourceLocations.props @@ -0,0 +1,1072 @@ + + + + $(WpfTestBasePath)\Common\Code\Microsoft\Test + $(WpfTestBasePath)\Common\Code\Critical\Microsoft\Test + $(WpfTestBasePath)\Common\Data + + + + + Test\Deployment\ClickOnceHelper.cs + + + + + Test\Container\StorageRootWrapper.cs + + + + + Test\Globalization\Exceptions.cs + + + + + Test\MSBuildEngine\Compiler.cs + Test\MSBuildEngine\ErrorCodes.cs + Test\MSBuildEngine\ErrorWarningParser.cs + Test\MSBuildEngine\IMSBuildLogger.cs + Test\MSBuildEngine\MSBuildCommonHelper.cs + Test\MSBuildEngine\MSBuildLogger.cs + Test\MSBuildEngine\MSBuildPerf.cs + Test\MSBuildEngine\MSBuildPerfLogger.cs + Test\MSBuildEngine\MSBuildProjExecutor.cs + Test\MSBuildEngine\CompilerHelper.cs + + + + + Test\Globalization\AutoDataEnums.cs + Test\Globalization\extract.cs + Test\Globalization\generate.cs + Test\Globalization\LangPackHelper.cs + + + + + Test\EventTracing\ClrTraceEventParser.cs + Test\EventTracing\DynamicTraceEventParser.cs + Test\EventTracing\ETWTraceEventSource.cs + Test\EventTracing\KernelTraceEventParser.cs + Test\EventTracing\Manifest.cs + Test\EventTracing\SymbolEventParser.cs + Test\EventTracing\SymbolResolver.cs + Test\EventTracing\TraceEvent.cs + Test\TraceEventNativeMethods.cs + Test\EventTracing\TraceEventSession.cs + Test\EventTracing\TraceLog.cs + Test\EventTracing\Utility.cs + Test\EventTracing\WPFTraceEventParser.cs + + Test\EventTracing\Utilities\CompressedStream.cs + Test\EventTracing\Utilities\FastSerialization.cs + Test\EventTracing\Utilities\GrowableArray.cs + Test\EventTracing\Utilities\StreamReaderWriter.cs + Test\EventTracing\Utilities\StreamUtilities.cs + Test\EventTracing\Utilities\XmlUtilities.cs + + + + + + ChineseSimplified.txt + Resources\Globalization\ChineseSimplified.txt + + + ChineseTraditional.txt + Resources\Globalization\ChineseTraditional.txt + + + Japanese.txt + Resources\Globalization\Japanese.txt + + + Korean.txt + Resources\Globalization\Korean.txt + + + ProblemDate.xml + Resources\Globalization\ProblemDate.xml + + + ProblemString.xml + Resources\Globalization\ProblemString.xml + + + + + + Test\Markup\ModifyXaml.cs + Test\Markup\WPFLibraryGenerator.cs + Test\Markup\WPFTreeGenerator.cs + Test\Markup\WPFXamlGenerator.cs + Test\Markup\XamlGenerator.cs + Test\Markup\XmlGenerator.cs + Test\Markup\XamlComparer.cs + Test\Markup\XamlTestDocument.cs + + + + + Test\WindowsForms\Application.cs + Test\WindowsForms\WindowsFormsSource.cs + + + + + Test\Loaders\ApplicationDeploymentHelper.cs + Test\Loaders\ApplicationMonitorTest.cs + Test\Loaders\ApplicationMonitor.cs + Test\Loaders\ApplicationMonitorConfig.cs + Test\Loaders\FileHost.cs + Test\Loaders\IXamlLauncher.cs + Test\Loaders\LoaderStep.cs + Test\Loaders\ResourceHelper.cs + Test\Loaders\FireFoxAutomationHelper.cs + Test\Loaders\UIHandler.cs + Test\Loaders\Steps\ActivationStep.cs + Test\Loaders\Steps\FileHostStep.cs + Test\Loaders\Steps\HostingRuntimePolicyHelper.cs + Test\Loaders\Steps\LoggingSteps.cs + Test\Loaders\Steps\VersionHelper.cs + Test\Loaders\Steps\RegistryStep.cs + Test\Loaders\UIHandlers\DefaultHandlers.cs + Test\Loaders\Steps\Scripter.cs + Test\Loaders\Steps\String.cs + Test\Loaders\Steps\Win32.cs + Test\Loaders\Steps\Resources.cs + Test\Loaders\Steps\Registry.cs + Test\Loaders\Steps\Tests.cs + Test\Loaders\Steps\Diagnostics.cs + Test\Loaders\Steps\IO.cs + Test\Loaders\Steps\UI.cs + Test\Loaders\Steps\XML.cs + Test\Loaders\Steps\Input.cs + + Test\Loaders\Steps\Reflection.cs + Test\Loaders\Steps\Avalon.cs + Test\Loaders\Steps\Collections.cs + Test\Loaders\Steps\Environment.cs + Test\Loaders\Steps\ScripterStep.cs + Test\Loaders\UIHandlers\CustomUIHandler.cs + Test\Loaders\Steps\ConfigFileStep.cs + + Test\Loaders\IENavigationHelper.cs + Test\Loaders\Steps\MachineInfoStepDisabler.cs + + + + + + + NamedRegistrations.xml + Resources\Loaders\NamedRegistrations.xml + + + ErrorCodes.xml + Resources\Loaders\ErrorCodes.xml + + + + + + Test\Threading\DispatcherHelper.cs + Test\Threading\DispatcherQueueWrapper.cs + Test\Threading\DispatcherTimerHelper.cs + Test\Threading\DispatcherPriorityHelper.cs + Test\Threading\DispatcherSignalHelper.cs + + + + + Test\Security\Secure.cs + + + + + Test\Security\Wrappers\TestAPISw.cs + Test\Security\Wrappers\AvalonWrappers.cs + Test\Security\Wrappers\WrapperClasses.cs + + Test\Security\Wrappers\WrapperClasses40.cs + + + + + Test\Display\DisplayConfiguration.cs + Test\Display\DisplaySettings.cs + Test\Display\DisplaySettingsInfo.cs + Test\Display\DwmApi.cs + Test\Display\Monitor.cs + + + + + Test\Display\Desktop.cs + + + + + + Test\Leak\LeakTest.cs + + + + + Test\TestTypes\AvalonModel.cs + Test\TestTypes\AvalonTest.cs + Test\TestTypes\ETWVerificationTest.cs + Test\TestTypes\StepsTest.cs + Test\TestTypes\WindowModel.cs + Test\TestTypes\WindowTest.cs + Test\TestTypes\WindowUtil.cs + Test\TestTypes\XamlModel.cs + Test\TestTypes\XamlTest.cs + Test\TestTypes\XamlVisualVerificationTest.cs + + + + + Test\Drt\DrtRunner.cs + + + + + Test\Verification\IVerifier.cs + Test\Verification\IVerifyResult.cs + Test\Verification\VerifyResult.cs + + + + + Test\Input\InputHelper.cs + + + + + Test\Input\Input.cs + Test\Input\NativeMethods.cs + Test\Input\SafeNativeMethods.cs + Test\Input\UnsafeNativeMethods.cs + Test\Input\InputManagerWrapper.cs + Test\Input\KeyboardRecorder.cs + Test\Input\RawMouseActions.cs + Test\Input\InputReportEventArgsWrapper.cs + Test\Input\RawKeyboardActions.cs + Test\Input\RawMouseInputReportWrapper.cs + Test\Input\RawMouseState.cs + Test\Input\RawKeyboardInputReportWrapper.cs + Test\Input\InputReportWrapper.cs + Test\Input\KeyboardPlayer.cs + Test\Input\RawKeyboardState.cs + Test\Input\RawTextInputReportWrapper.cs + Test\Input\MultiMonitorHelper.cs + Test\Input\UserInput.cs + + + + + + Test\Hosting\UiaDistributedStepInfo.cs + Test\Hosting\UiaDistributedStepTarget.cs + Test\Hosting\UiaDistributedTestcase.cs + Test\Hosting\UiaDistributedTestCaseHost.cs + Test\Hosting\UiaSimpleTestCase.cs + Test\Hosting\UiaTestState.cs + + Test\Hosting\XamlBrowserHost.cs + + + + + Critical\Test\Serialization\ObjectSerializer.cs + Critical\Test\Serialization\DefaultObjectSerializer.cs + + + + + Critical\Test\Logging\TestResult.cs + Critical\Test\Logging\IHarnessLoggingContract.cs + + + + + + Test\Logging\TestLog.cs + Test\Logging\TestStage.cs + Test\Logging\GlobalLog.cs + + + + + Test\Diagnostics\SystemInformation.cs + Test\Diagnostics\ProcessorInformation.cs + Test\Diagnostics\SystemMetrics.cs + + + + + Test\Diagnostics\SystemInformation_Wpf.cs + + + + + Test\Diagnostics\SystemInformation_WindowsMediaPlayer.cs + + + + + Test\Diagnostics\ProcessMonitor.cs + + + + + Test\Diagnostics\ProcessHelper.cs + Test\Diagnostics\ProcessGroup.cs + Test\Diagnostics\ManifestHelper.cs + + + + + + + + + + Test\Diagnostics\CdbSession.cs + + + + + Test\Configuration\MachineStateManager.cs + + + + + Test\StateManagement\StateManager.cs + Test\StateManagement\State.cs + Test\StateManagement\RegistryState.cs + Test\StateManagement\UserSessionState.cs + Test\StateManagement\SystemInformationState.cs + Test\StateManagement\MonitorState.cs + Test\StateManagement\DisplayThemeState.cs + Test\StateManagement\BrowserState.cs + Test\StateManagement\FirewallExceptionState.cs + Test\StateManagement\ComServerState.cs + + + + + Test\Diagnostics\IExecutionService.cs + Test\Diagnostics\ExecutionServiceClient.cs + Test\Diagnostics\ExecutionServiceClientConnection.cs + Test\Diagnostics\FirefoxHelper.cs + Test\Diagnostics\FirewallHelper.cs + Test\Diagnostics\RegistrationHelper.cs + Test\Diagnostics\UserSessionHelper.cs + Test\Diagnostics\UserInfo.cs + Test\Diagnostics\WttHelper.cs + Test\Diagnostics\ImpersonateUserHelper.cs + Critical\Test\Deployment\RuntimeDeploymentHelper.cs + + + + + Test\Diagnostics\ExecutionServiceProxyClient.cs + Test\Diagnostics\ExecutionServiceProxy.cs + + + + + Test\Win32\NativeStructs.cs + Test\Win32\NativeConstants.cs + Test\Win32\Gdi32.cs + Test\Win32\User32.cs + Test\Win32\Kernel32.cs + Test\Win32\WindowEnumerator.cs + Test\Win32\Ntdll.cs + + + + + Test\Win32\HwndSubClass.cs + Test\Win32\HwndWrapper.cs + Test\Win32\ManagedWndProcTracker.cs + Test\Win32\NativeMethods.cs + Test\Win32\WeakReferenceList.cs + Test\Win32\WeakReferenceListEnumerator.cs + Test\Win32\AcceleratorTable.cs + + + + + + Test\Modeling\AsyncActionManager.cs + Test\Modeling\Model.cs + Test\Modeling\ModelingBaseObject.cs + Test\Modeling\TestLoader.cs + Test\Modeling\XamlTransformer.cs + Test\Modeling\XtcParser.cs + Test\Modeling\XtcTestCaseLoader.cs + + + + + Test\Windows\ActionForTypeHelper.cs + Test\Windows\TreeComparer.cs + + + + + + PropertiesToSkip.xml + Resources\Windows\PropertiesToSkip.xml + + + + + + Test\EventHelper.cs + Test\ExceptionHelper.cs + Test\TestException.cs + Test\TestSetupException.cs + Test\TestValidationException.cs + + + + + Test\Serialization\BamlHelper.cs + Test\Serialization\BamlReaderWrapper.cs + Test\Serialization\BamlWriterWrapper.cs + Test\Serialization\IOHelper.cs + Test\Serialization\SerializationHelper.cs + Test\Serialization\WrapperUtil.cs + Test\Serialization\XamlRoundTrip.cs + + + + + Test\Serialization\CustomElements\CustomBorder.cs + Test\Serialization\CustomElements\CustomButton.cs + Test\Serialization\CustomElements\CustomCanvas.cs + Test\Serialization\CustomElements\CustomDockPanel.cs + Test\Serialization\CustomElements\CustomElementHelper.cs + Test\Serialization\CustomElements\CustomPage.cs + Test\Serialization\CustomElements\CustomStackPanel.cs + Test\Serialization\CustomElements\CustomTextPanel.cs + Test\Serialization\CustomElements\CustomWindow.cs + Test\Serialization\CustomElements\ICustomElement.cs + + + + + Test\Integration\ActionForXamlInfo.cs + Test\Integration\FileVariationGenerator.cs + Test\Integration\FileVariationItem.cs + Test\Integration\BaseTestContract.cs + Test\Integration\BaseVariationGenerator.cs + Test\Integration\CallbackVariationGenerator.cs + Test\Integration\CallbackVariationItem.cs + Test\Integration\CollectionsXamlHelper.cs + Test\Integration\CombinationGenerator.cs + Test\Integration\GeneratorReference.cs + Test\Integration\Helper.cs + Test\Integration\ITestContract.cs + Test\Integration\IVariationGenerator.cs + Test\Integration\MDEVariationGenerator.cs + Test\Integration\MDEVariationItem.cs + Test\Integration\NotificationList.cs + Test\Integration\StorageItem.cs + Test\Integration\TestExtenderGraph.cs + Test\Integration\TestExtenderOutput.cs + Test\Integration\VariationItem.cs + Test\Integration\VariationItemGroup.cs + Test\Integration\CommonStorage.cs + Test\Integration\SelectorGenerator.cs + Test\Integration\ContentItem.cs + Test\Integration\AssemblyDesc.cs + Test\Integration\WPF3Helper.cs + Test\Integration\Windows\TypeVariationGenerator.cs + Test\Integration\Windows\TypeVariationItem.cs + Test\Integration\Windows\ContainerVariationGenerator.cs + Test\Integration\Windows\ContainerVariationItem.cs + Test\Integration\Windows\ActionSequenceVariationGenerator.cs + Test\Integration\Windows\ControllerProxy.cs + Test\Integration\Windows\Controller.cs + Test\Integration\Windows\ThreadController.cs + Test\Integration\Windows\ApplicationController.cs + Test\Integration\Windows\WinFormsController.cs + Test\Integration\TestExtenderHelper.cs + + + + + Test\PICT\ObjectArrays\AllPossibleObjectArrayCollection.cs + Test\PICT\ObjectArrays\AllPossibleObjectArrayEnumerator.cs + Test\PICT\ObjectArrays\AllPossibleObjectArrayGenerationStrategy.cs + Test\PICT\ObjectArrays\IObjectArrayCollection.cs + Test\PICT\ObjectArrays\IObjectArrayEnumerator.cs + Test\PICT\ObjectArrays\IObjectArrayGenerationStrategy.cs + Test\PICT\ObjectArrays\ObjectArrayGeneration.cs + Test\PICT\ObjectArrays\ObjectArrayGenerator.cs + Test\PICT\ObjectArrays\ObjectArrayPairwiseGeneration.cs + Test\PICT\ObjectArrays\PairwiseObjectArrayCollection.cs + Test\PICT\ObjectArrays\PairwiseObjectArrayEnumerator.cs + Test\PICT\ObjectArrays\PairwiseObjectArrayGenerationStrategy.cs + Test\PICT\IPairwiseComment.cs + Test\PICT\IPairwiseVisitable.cs + Test\PICT\PairwiseAliasCollection.cs + Test\PICT\PairwiseAndClause.cs + Test\PICT\PairwiseComparison.cs + Test\PICT\PairwiseComparisonTerm.cs + Test\PICT\PairwiseCondition.cs + Test\PICT\PairwiseConditionCollection.cs + Test\PICT\PairwiseEqualTerm.cs + Test\PICT\PairwiseException.cs + Test\PICT\PairwiseGreaterThanOrEqualTerm.cs + Test\PICT\PairwiseGreaterThanTerm.cs + Test\PICT\PairwiseIfThenConstraint.cs + Test\PICT\PairwiseIfThenConstraintCollection.cs + Test\PICT\PairwiseInTerm.cs + Test\PICT\PairwiseLessThanOrEqualTerm.cs + Test\PICT\PairwiseLessThanTerm.cs + Test\PICT\PairwiseLikeTerm.cs + Test\PICT\PairwiseLogicalClause.cs + Test\PICT\PairwiseLogicalRelationship.cs + Test\PICT\PairwiseModel.cs + Test\PICT\PairwiseNotClause.cs + Test\PICT\PairwiseNotEqualTerm.cs + Test\PICT\PairwiseNotInTerm.cs + Test\PICT\PairwiseOrClause.cs + Test\PICT\PairwiseParameter.cs + Test\PICT\PairwiseParameterCollection.cs + Test\PICT\PairwiseParameterConstraint.cs + Test\PICT\PairwiseParameterConstraintCollection.cs + Test\PICT\PairwisePICTCache.cs + Test\PICT\PairwiseSettings.cs + Test\PICT\PairwiseSubModel.cs + Test\PICT\PairwiseSubModelCollection.cs + Test\PICT\PairwiseTerm.cs + Test\PICT\PairwiseTuple.cs + Test\PICT\PairwiseValue.cs + Test\PICT\PairwiseValueCollection.cs + Test\PICT\PairwiseValueType.cs + Test\PICT\PairwiseVisitor.cs + Test\PICT\PICTConstants.cs + Test\PICT\PICTExecutionInformation.cs + Test\PICT\PICTPairwiseVisitor.cs + Test\PICT\PICTRunner.cs + Test\PICT\PICTWarningBehaviors.cs + Test\PICT\PICTWarningEventArgs.cs + Test\PICT\PICTWarningEventHandler.cs + Test\PICT\MatrixOutput\PairwiseTestCase.cs + Test\PICT\MatrixOutput\PairwiseTestMatrix.cs + Test\PICT\MatrixOutput\PairwiseTestParameter.cs + Test\PICT\MatrixOutput\PairwiseTestParameter.cs + + + + + Test\Imaging\BitmapCapture.cs + Test\Imaging\BitmapUtils.cs + Test\Imaging\ColorUtils.cs + Test\Imaging\ComparisonAlgorithm.cs + Test\Imaging\ComparisonCriteria.cs + Test\Imaging\ComparisonOperation.cs + Test\Imaging\ComparisonOperationUtils.cs + Test\Imaging\ComparisonResult.cs + Test\Imaging\ElementUtils.cs + Test\Imaging\PixelData.cs + + + + + Test\Animation\AnimationSideBySide.cs + Test\Animation\AnimationUtils.cs + Test\Animation\AnimationValidator.cs + Test\Animation\TimeManagerCommon.cs + + + + + Test\RenderingVerification\ColorByte.cs + Test\RenderingVerification\ColorDouble.cs + Test\RenderingVerification\Color_Avalon.cs + Test\RenderingVerification\Curve.cs + Test\RenderingVerification\CurveTolerance.cs + Test\RenderingVerification\DisplayConfiguration.cs + Test\RenderingVerification\DisplayConfigurationMinimal.cs + Test\RenderingVerification\Exceptions.cs + Test\RenderingVerification\ImageAdapter.cs + Test\RenderingVerification\ImageComparator.cs + Test\RenderingVerification\ImageUtility.cs + Test\RenderingVerification\ImageUtilityProxy.cs + Test\RenderingVerification\ImageUtility_Avalon.cs + Test\RenderingVerification\Interfaces.cs + Test\RenderingVerification\IPUtil.cs + Test\RenderingVerification\KeepGreaterKey.cs + Test\RenderingVerification\MetaDataInfo.cs + Test\RenderingVerification\MismatchingPoints.cs + Test\RenderingVerification\Package.cs + Test\RenderingVerification\Pixel.cs + Test\RenderingVerification\PInvoke.cs + Test\RenderingVerification\PropertyItemWrapper.cs + Test\RenderingVerification\RuntimeInfo.cs + Test\RenderingVerification\RenderRect.cs + Test\RenderingVerification\VideoCapture.cs + Test\RenderingVerification\XamlLauncherReflect.cs + Test\RenderingVerification\Filters\AffineFilter.cs + Test\RenderingVerification\Filters\AttractorFilter.cs + Test\RenderingVerification\Filters\BlurFilter.cs + Test\RenderingVerification\Filters\BrightnessContrastFilter.cs + Test\RenderingVerification\Filters\ChannelOperationFilter.cs + Test\RenderingVerification\Filters\ColorFilter.cs + Test\RenderingVerification\Filters\ColorSpaceConversion.cs + Test\RenderingVerification\Filters\ColorTransformFilter.cs + Test\RenderingVerification\Filters\ContrastFilter.cs + Test\RenderingVerification\Filters\ConvolutionFilter.cs + Test\RenderingVerification\Filters\EqualizeFilter.cs + Test\RenderingVerification\Filters\Filter.cs + Test\RenderingVerification\Filters\FilterParameter.cs + Test\RenderingVerification\Filters\FlipRotateFilter.cs + Test\RenderingVerification\Filters\GammaCorrectFilter.cs + Test\RenderingVerification\Filters\GaussianFilter.cs + Test\RenderingVerification\Filters\GlowFilter.cs + Test\RenderingVerification\Filters\GrayscaleFilter.cs + Test\RenderingVerification\Filters\IColorConverter.cs + Test\RenderingVerification\Filters\Image2DTransforms.cs + Test\RenderingVerification\Filters\Interpolator.cs + Test\RenderingVerification\Filters\LogicalOperationFilter.cs + Test\RenderingVerification\Filters\Matrix2D.cs + Test\RenderingVerification\Filters\Matrix2DConverter.cs + Test\RenderingVerification\Filters\MorphologicalFilter.cs + Test\RenderingVerification\Filters\MorphShapeFilter.cs + Test\RenderingVerification\Filters\NegateFilter.cs + Test\RenderingVerification\Filters\OpacityPointsFilter.cs + Test\RenderingVerification\Filters\OrderStatisticFilter.cs + Test\RenderingVerification\Filters\PixelizeFilter.cs + Test\RenderingVerification\Filters\ProcessXmlFilter.cs + Test\RenderingVerification\Filters\RenderingColorConverter.cs + Test\RenderingVerification\Filters\SaturateEdgeFilter.cs + Test\RenderingVerification\Filters\SchematizationFilter.cs + Test\RenderingVerification\Filters\SharpenFilter.cs + Test\RenderingVerification\Filters\SpatialTransformFilter.cs + Test\RenderingVerification\Filters\TintFilter.cs + Test\RenderingVerification\Filters\TintShadeFilter.cs + Test\RenderingVerification\Filters\VMorph.cs + Test\RenderingVerification\Filters\WaveletTransformFilter.cs + Test\RenderingVerification\Filters\WVMorph.cs + Test\RenderingVerification\Models\Analytical\CartesianMomentDescriptor.cs + Test\RenderingVerification\Models\Analytical\Criterion.cs + Test\RenderingVerification\Models\Analytical\DescriptorBase.cs + Test\RenderingVerification\Models\Analytical\DescriptorInfo.cs + Test\RenderingVerification\Models\Analytical\DescriptorManager.cs + Test\RenderingVerification\Models\Analytical\DescriptorSquareMatrix.cs + Test\RenderingVerification\Models\Analytical\ImageToShapeIDMapping.cs + Test\RenderingVerification\Models\Analytical\Interfaces.cs + Test\RenderingVerification\Models\Analytical\ModelManager2.cs + Test\RenderingVerification\Models\Analytical\MomentDescriptorBase.cs + Test\RenderingVerification\Models\Analytical\PolarMomentDescriptor.cs + Test\RenderingVerification\Models\Analytical\VScan.cs + Test\RenderingVerification\Models\Synthetical\AnimatedProperty.cs + Test\RenderingVerification\Models\Synthetical\Animator.cs + Test\RenderingVerification\Models\Synthetical\AvalonTypographer.cs + Test\RenderingVerification\Models\Synthetical\DeltaImageComparator.cs + Test\RenderingVerification\Models\Synthetical\GeometryFilter.cs + Test\RenderingVerification\Models\Synthetical\GlyphBase.cs + Test\RenderingVerification\Models\Synthetical\GlyphChar.cs + Test\RenderingVerification\Models\Synthetical\GlyphColorChooser.cs + Test\RenderingVerification\Models\Synthetical\GlyphComparator.cs + Test\RenderingVerification\Models\Synthetical\GlyphCompareInfo.cs + Test\RenderingVerification\Models\Synthetical\GlyphContainer.cs + Test\RenderingVerification\Models\Synthetical\GlyphFont.cs + Test\RenderingVerification\Models\Synthetical\GlyphImage.cs + Test\RenderingVerification\Models\Synthetical\GlyphLayout.cs + Test\RenderingVerification\Models\Synthetical\GlyphModel.cs + Test\RenderingVerification\Models\Synthetical\GlyphPanel.cs + Test\RenderingVerification\Models\Synthetical\GlyphResource.cs + Test\RenderingVerification\Models\Synthetical\GlyphShape.cs + Test\RenderingVerification\Models\Synthetical\GlyphText.cs + Test\RenderingVerification\Models\Synthetical\Interfaces.cs + Test\RenderingVerification\Models\Synthetical\LayoutContainer.cs + Test\RenderingVerification\Models\Synthetical\MatchingInfo.cs + Test\RenderingVerification\Models\Synthetical\MatchingInfoEditor.cs + Test\RenderingVerification\Models\Synthetical\StandardTypographer.cs + Test\RenderingVerification\Models\Synthetical\TypographBroker.cs + Test\RenderingVerification\Models\Synthetical\XenoSymbolBroker.cs + Test\RenderingVerification\Models\Synthetical\LayoutEngine\CanvasLayoutEngine.cs + Test\RenderingVerification\Models\Synthetical\LayoutEngine\FlowLayoutEngine.cs + Test\RenderingVerification\ResourceFetcher\EmbeddedResourceKey.cs + Test\RenderingVerification\ResourceFetcher\EmbeddedResourceProvider.cs + Test\RenderingVerification\ResourceFetcher\ResourceProvider.cs + Test\RenderingVerification\ResourceFetcher\Resourcestripper.cs + Test\RenderingVerification\UnmanagedProxies\UnmanagedInterfaces.cs + Test\RenderingVerification\AsyncData.cs + Test\RenderingVerification\AsyncHelper.cs + Test\RenderingVerification\ImageComparisonResult.cs + Test\RenderingVerification\ImageComparisonSettings.cs + Test\RenderingVerification\ImageMetadata.cs + Test\RenderingVerification\MasterDimensions.cs + Test\RenderingVerification\MasterImageComparer.cs + Test\RenderingVerification\MasterIndex.cs + Test\RenderingVerification\MasterMetadata.cs + + + + + + Microsoft.Test.RenderingVerification.RenderingVerification.DefaultTolerance.xml + Resources\VScan\DefaultTolerance.xml + + + + + + Test\Compression\Archiver.cs + Test\Compression\Cab\Cab.cs + Test\Compression\Cab\CabApi.cs + Test\Compression\Cab\CabBase.cs + Test\Compression\Cab\CabCreator.cs + Test\Compression\Cab\CabException.cs + Test\Compression\Cab\CabExtractor.cs + Test\Compression\Cab\CabInfo.cs + Test\Compression\Cab\CabStatus.cs + Test\Compression\Cab\DuplicateStream.cs + Test\Compression\Cab\HandleManager.cs + Test\Compression\Cab\OffsetStream.cs + + + + + Test\Graphics\ColorOperations.cs + Test\Graphics\DiscreteAnimation.cs + Test\Graphics\MathEx.cs + Test\Graphics\Matrix3DAnimation.cs + Test\Graphics\MatrixUtils.cs + Test\Graphics\MeshOperations.cs + Test\Graphics\ObjectUtils.cs + Test\Graphics\StringConverter.cs + Test\Graphics\VisualUtils.cs + Test\Graphics\DpiScalingHelper.cs + Test\Graphics\RenderingModeHelper.cs + Test\Graphics\RenderingMode.cs + + + + + Test\Graphics\Factories\BrushFactory.cs + Test\Graphics\Factories\CameraFactory.cs + Test\Graphics\Factories\Const.cs + Test\Graphics\Factories\Const2D.cs + Test\Graphics\Factories\DrawingFactory.cs + Test\Graphics\Factories\EffectFactory.cs + Test\Graphics\Factories\EffectInputFactory.cs + Test\Graphics\Factories\GeometryFactory.cs + Test\Graphics\Factories\HitTestFilterFactory.cs + Test\Graphics\Factories\LightFactory.cs + Test\Graphics\Factories\MaterialFactory.cs + Test\Graphics\Factories\MeshFactory.cs + Test\Graphics\Factories\ModelFactory.cs + Test\Graphics\Factories\ObjectFactory.cs + Test\Graphics\Factories\PenFactory.cs + Test\Graphics\Factories\SceneFactory.cs + Test\Graphics\Factories\ShapeFactory.cs + Test\Graphics\Factories\Transform2DFactory.cs + Test\Graphics\Factories\TransformFactory.cs + Test\Graphics\Factories\Visual3DFactory.cs + Test\Graphics\Factories\VisualFactory.cs + + + + + Test\Graphics\ReferenceRender\BiLinearTextureFilter.cs + Test\Graphics\ReferenceRender\Edge.cs + Test\Graphics\ReferenceRender\GouraudShader.cs + Test\Graphics\ReferenceRender\HdrColor.cs + Test\Graphics\ReferenceRender\Interpolators.cs + Test\Graphics\ReferenceRender\LightEquations.cs + Test\Graphics\ReferenceRender\MeshProjectedGeometry.cs + Test\Graphics\ReferenceRender\ModelBounder.cs + Test\Graphics\ReferenceRender\ModelRenderer.cs + Test\Graphics\ReferenceRender\NearestNeighbourTextureFilter.cs + Test\Graphics\ReferenceRender\PhongShader.cs + Test\Graphics\ReferenceRender\ProjectedGeometry.cs + Test\Graphics\ReferenceRender\RenderBuffer.cs + Test\Graphics\ReferenceRender\RenderTolerance.cs + Test\Graphics\ReferenceRender\RenderToToleranceShader.cs + Test\Graphics\ReferenceRender\RenderVerifier.cs + Test\Graphics\ReferenceRender\SceneRenderer.cs + Test\Graphics\ReferenceRender\Shader.cs + Test\Graphics\ReferenceRender\SolidColorTextureFilter.cs + Test\Graphics\ReferenceRender\SSLProjectedGeometry.cs + Test\Graphics\ReferenceRender\TextureFilter.cs + Test\Graphics\ReferenceRender\TextureGenerator.cs + Test\Graphics\ReferenceRender\Triangle.cs + Test\Graphics\ReferenceRender\TriLinearTextureFilter.cs + Test\Graphics\ReferenceRender\Vertex.cs + Test\Graphics\ReferenceRender\VisualBounder.cs + + + + + Test\Graphics\TestTypes\AnimationAPITest.cs + Test\Graphics\TestTypes\AnimationAPITestBase.cs + Test\Graphics\TestTypes\ClassGenerator.cs + Test\Graphics\TestTypes\CodeGenerator.cs + Test\Graphics\TestTypes\ConstructorGenerator.cs + Test\Graphics\TestTypes\CoreGraphicsTest.cs + Test\Graphics\TestTypes\EnvironmentWrapper.cs + Test\Graphics\TestTypes\ExceptionCatchingTest.cs + Test\Graphics\TestTypes\Exceptions.cs + Test\Graphics\TestTypes\FactoryParser.cs + Test\Graphics\TestTypes\InfoOrganizer.cs + Test\Graphics\TestTypes\InheritanceChecker.cs + Test\Graphics\TestTypes\Interop.cs + Test\Graphics\TestTypes\Logger.cs + Test\Graphics\TestTypes\MethodGenerator.cs + Test\Graphics\TestTypes\MethodGeneratorBase.cs + Test\Graphics\TestTypes\PartialTrust.cs + Test\Graphics\TestTypes\PhotoConverter.cs + Test\Graphics\TestTypes\Photographer.cs + Test\Graphics\TestTypes\PropertyGenerator.cs + Test\Graphics\TestTypes\ReferenceTest.cs + Test\Graphics\TestTypes\RenderingTest.cs + Test\Graphics\TestTypes\RenderingWindow.cs + Test\Graphics\TestTypes\RunAllTester.cs + Test\Graphics\TestTypes\RunScriptTester.cs + Test\Graphics\TestTypes\SerializationTest.cs + Test\Graphics\TestTypes\Tester.cs + Test\Graphics\TestTypes\TestLauncher.cs + Test\Graphics\TestTypes\TestObjects.cs + Test\Graphics\TestTypes\Tokens.cs + Test\Graphics\TestTypes\Variation.cs + Test\Graphics\TestTypes\ViewportWindow.cs + Test\Graphics\TestTypes\VisualObjects.cs + Test\Graphics\TestTypes\VisualVerificationTest.cs + Test\Graphics\TestTypes\VisualWindow.cs + Test\Graphics\TestTypes\VisualWrapper.cs + Test\Graphics\TestTypes\XAMLTest.cs + + + + + + + + + + + + + Test\Layout\Common\Common.cs + Test\Layout\Common\LayoutTestWindows.cs + Test\Layout\Common\LayoutUtility.cs + Test\Layout\Common\DoubleUtil.cs + Test\Layout\Common\VisualScan.cs + Test\Layout\TestTypes\LayoutTest.cs + Test\Layout\TestTypes\CodeTest.cs + Test\Layout\TestTypes\PropertyDumpTest.cs + Test\Layout\TestTypes\VisualScanTest.cs + Test\Layout\PropertyDump\Arguments.cs + Test\Layout\PropertyDump\DiffPackage.cs + Test\Layout\PropertyDump\Filter.cs + Test\Layout\PropertyDump\FrameworkElements.cs + Test\Layout\PropertyDump\Package.cs + Test\Layout\PropertyDump\PropertyDumpCore.cs + Test\Layout\PropertyDump\PropertyDumpHelper.cs + Test\Layout\PropertyDump\TextViewWrapper\ColumnResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\ContainerParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\DocumentPageTextViewW.cs + Test\Layout\PropertyDump\TextViewWrapper\FloaterParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\FigureParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\FlowDocumentPageW.cs + Test\Layout\PropertyDump\TextViewWrapper\IEnumerableW.cs + Test\Layout\PropertyDump\TextViewWrapper\LineResultDetailsW.cs + Test\Layout\PropertyDump\TextViewWrapper\LineResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\OrientedTextPositionW.cs + Test\Layout\PropertyDump\TextViewWrapper\ParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\ReflectionHelper.cs + Test\Layout\PropertyDump\TextViewWrapper\RowParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\SubpageParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\TableParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\TextDocumentViewW.cs + Test\Layout\PropertyDump\TextViewWrapper\TextParagraphResultW.cs + Test\Layout\PropertyDump\TextViewWrapper\TextParagraphViewW.cs + Test\Layout\PropertyDump\TextViewWrapper\UIElementParagraphResultW.cs + + + + + Test\Stability\Stress\DistributionFactory.cs + Test\Stability\Stress\RandDist.cs + Test\Stability\Stress\RandomGenerator.cs + Test\Stability\Stress\Invariant.cs + Test\Stability\Stress\StressFrameWorkHelper.cs + Test\Stability\Stress\WeightedList.cs + Test\Stability\Stress\Action\ActionManager.cs + Test\Stability\Stress\Action\Attributes.cs + Test\Stability\Stress\Action\IAction.cs + Test\Stability\Stress\Action\IActionFactory.cs + Test\Stability\Stress\Action\WeightedActionFactory.cs + Test\Stability\Stress\ConfigReader\ConfigReader.cs + Test\Stability\Stress\ConfigReader\IConfigReader.cs + Test\Stability\Stress\ConfigReader\MultipleTagSectionHandler.cs + Test\Stability\Stress\Context\ActionHandlers.cs + Test\Stability\Stress\Context\EventHandlers.cs + Test\Stability\Stress\Context\EventArgs.cs + Test\Stability\Stress\Context\Handlers.cs + Test\Stability\Stress\Context\IStressContext.cs + Test\Stability\Stress\Context\IStressContextManager.cs + Test\Stability\Stress\Context\StressContext.cs + Test\Stability\Stress\Context\StressContextManager.cs + Test\Stability\Stress\Context\IObjectFactory.cs + Test\Stability\Stress\Context\EnumerationObjectFactory.cs + Test\Stability\Stress\Context\ReflectionObjectFactory.cs + Test\Stability\Stress\CoreServices\CoreServices.cs + Test\Stability\Stress\CoreServices\ICoreServices.cs + Test\Stability\Stress\CoreServices\IStressManager.cs + Test\Stability\Stress\CoreServices\StressManager.cs + Test\Stability\Stress\CoreServices\EventLogger.cs + Test\Stability\Stress\Exceptions\ExceptionEventArgs.cs + Test\Stability\Stress\Exceptions\ExceptionEventHandlers.cs + Test\Stability\Stress\PropertyEngine\PropertyEngine.cs + Test\Stability\Stress\Storage\ContextStorage.cs + Test\Stability\Stress\Storage\EventArgs.cs + Test\Stability\Stress\Storage\IStorage.cs + Test\Stability\Stress\StressFrameworkObject\IStressFrameworkObject.cs + Test\Stability\Stress\StressFrameworkObject\StressFrameworkObject.cs + Test\Stability\Stress\Security\SecurityHelper.cs + Test\Stability\Stress\Thread\EventArgs.cs + Test\Stability\Stress\Thread\EventHandlers.cs + Test\Stability\Stress\Thread\IStressThread.cs + Test\Stability\Stress\Thread\IStressThreadManager.cs + Test\Stability\Stress\Thread\StressThread.cs + Test\Stability\Stress\Thread\StressThreadManager.cs + Test\Stability\Stress\Utils\ProcessShutdownMonitor.cs + Test\Stability\Stress\Utils\Win32NativeInterop.cs + Test\Stability\Stress\Utils\CommandlineParser.cs + Test\Stability\Stress\Utils\XmlParser.cs + Test\Stability\Stress\IEHelper\DISPIDs.cs + Test\Stability\Stress\IEHelper\IEInterop.cs + Test\Stability\Stress\IEHelper\Rtl.cs + Test\Collections\Generics\WeightedList.cs + + + + + Test\Stability\Stress\AvalonProxy\AssemblyCacheEnum.cs + Test\Stability\Stress\AvalonProxy\AvalonActionManager.cs + Test\Stability\Stress\AvalonProxy\AvalonStressContext.cs + Test\Stability\Stress\AvalonProxy\AvalonStressContextManager.cs + Test\Stability\Stress\AvalonProxy\AvalonStressThreadManager.cs + Test\Stability\Stress\AvalonProxy\MemoryChecker.cs + Test\Stability\Stress\AvalonProxy\AvalonStressFrameworkHelper.cs + Test\Stability\Stress\AvalonProxy\BrowserStressContext.cs + Test\Stability\Stress\AvalonProxy\BrowserStressContextManager.cs + Test\Stability\Stress\AvalonProxy\BrowserStressThreadManager.cs + + + + + Test\Stability\Stress\LonghaulProxy\LonghaulSQLConnect.cs + Test\Stability\Stress\LonghaulProxy\LonghaulCommon.cs + Test\Stability\Stress\LonghaulProxy\LonghaulStateObjects.cs + Test\Stability\Stress\LonghaulProxy\LonghaulStressContext.cs + Test\Stability\Stress\LonghaulProxy\LonghaulStressContextManager.cs + Test\Stability\Stress\LonghaulProxy\LonghaulStressThreadManager.cs + Test\Stability\Stress\LonghaulProxy\LonghaulEventLog.cs + + + + + Test\Stability\LeakUtility.cs + Test\Stability\Input.cs + + + + + Test\Stability\Stress\Graphics\AddNodes.cs + Test\Stability\Stress\Graphics\AnimationFactory.cs + Test\Stability\Stress\Graphics\Channel.cs + Test\Stability\Stress\Graphics\ChannelFactory.cs + Test\Stability\Stress\Graphics\CompositionActorFactory.cs + Test\Stability\Stress\Graphics\ConnectDisconnect.cs + Test\Stability\Stress\Graphics\ConnectDisconnectActorFactory.cs + Test\Stability\Stress\Graphics\ContainerVisual.cs + Test\Stability\Stress\Graphics\DrawContextProvider.cs + Test\Stability\Stress\Graphics\GetHwndSources.cs + Test\Stability\Stress\Graphics\GetProperties.cs + Test\Stability\Stress\Graphics\GetPropertiesFactory.cs + Test\Stability\Stress\Graphics\HelperClass.cs + Test\Stability\Stress\Graphics\HitTest.cs + Test\Stability\Stress\Graphics\HitTestFactory.cs + Test\Stability\Stress\Graphics\HostVisual.cs + Test\Stability\Stress\Graphics\HwndSourceCreator.cs + Test\Stability\Stress\Graphics\IDrawContextProvider.cs + Test\Stability\Stress\Graphics\IRootVisualHolder.cs + Test\Stability\Stress\Graphics\ISurface.cs + Test\Stability\Stress\Graphics\IVisual.cs + Test\Stability\Stress\Graphics\IVisualProperties.cs + Test\Stability\Stress\Graphics\Magnifier.cs + Test\Stability\Stress\Graphics\MagnifierFactory.cs + Test\Stability\Stress\Graphics\MoveNode.cs + Test\Stability\Stress\Graphics\NodeActor.cs + Test\Stability\Stress\Graphics\NodeCreator.cs + Test\Stability\Stress\Graphics\R3DVisual.cs + Test\Stability\Stress\Graphics\Random.cs + Test\Stability\Stress\Graphics\RemoveNode.cs + Test\Stability\Stress\Graphics\RenderTargetBitmap.cs + Test\Stability\Stress\Graphics\RenderTargetBitmapFactory.cs + Test\Stability\Stress\Graphics\RootVisualHolder.cs + Test\Stability\Stress\Graphics\RootVisualHolderActor.cs + Test\Stability\Stress\Graphics\SharedObjects.cs + Test\Stability\Stress\Graphics\TransformCreatorFactory.cs + Test\Stability\Stress\Graphics\TreeActor.cs + Test\Stability\Stress\Graphics\TreeCreator.cs + Test\Stability\Stress\Graphics\TreeCreatorInitFactory.cs + Test\Stability\Stress\Graphics\TreeInitActor.cs + Test\Stability\Stress\Graphics\UpdateProperties.cs + Test\Stability\Stress\Graphics\UpdatePropertiesFactory.cs + Test\Stability\Stress\Graphics\VisualTarget.cs + + + + + Test\Performance\CLRProfilerControl.cs + Test\Performance\CustomTestAction.cs + Test\Performance\InputPerf.cs + Test\Performance\PerfActionHelper.cs + Test\Performance\TraceProvider.cs + Test\Performance\EventTrace.cs + Test\Performance\EventType.cs + + + + + Test\Performance\CLRProfilerControl.cs + Test\Performance\CustomTestAction.cs + Test\Performance\InputPerf_PartialTrust.cs + Test\Performance\PerfActionHelper.cs + Test\Performance\PerfTestTraceProvider.cs + + + + + Test\Annotations\AnnotationsTestSettings.cs + Test\Annotations\Attributes.cs + Test\Annotations\FastTestSuite.cs + Test\Annotations\TestSuite.cs + Test\Annotations\TestSuiteRunner.cs + Test\Annotations\UIAutomationModule.cs + Test\Annotations\VisualAutomationTestSuite.cs + Test\Annotations\VScanModule.cs + Test\Annotations\Internal\ALogger.cs + Test\Annotations\Internal\TestCase.cs + Test\Annotations\Internal\TestVariation.cs + + + diff --git a/src/Microsoft.DotNet.Wpf/test/StrongName.props b/src/Microsoft.DotNet.Wpf/test/StrongName.props new file mode 100644 index 00000000000..9d7644845c8 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/StrongName.props @@ -0,0 +1,17 @@ + + + false + $(WpfTestBasePath)\Common\keys\TestUntrusted.snk + 0024000004800000940000000602000000240000525341310004000001000100C1BCD9B7844CD35725B1138216ED5E0FAB914676D580860F6F081C8C0E83B92D835FFAE76FA968F7637E4B6E32D77FEE1C084088CEE736CE589D65AD0FA66F086C2F5F755A6F2909D17C643B45C72A906AAAC617BFD67491A8FCE54784CA98317AEA28C0544546FF9123F6F94E59793F2874437BC3D136A40095D0F960E6A6A4 + A069DEE354D95F76 + + $(WpfTestBasePath)\Common\keys\TestTrusted.snk + 00240000048000009400000006020000002400005253413100040000010001007FDB0774CDFEFC88AAA6613332E5BE12A11BD32ADB7E2EAD4C049CFFCC6284FA975CD55B0291738247984CFCF4074970C44C1DA29B07201B0F90FB7B2C60D2A604C4ABA9FBC106AD3D1838DAD496780B0E4518D045FE70C4DE4E9663354989CF9A2E4F9ADD41BFEF82437DA35C8B1C1A0D6DACB521456C4BB18BADA2BE7407C3 + e1e6160fdd198bb1 + + + false + $(TestUntrustedKey) + custom + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/StrongName.targets b/src/Microsoft.DotNet.Wpf/test/StrongName.targets new file mode 100644 index 00000000000..cfc73c73f7b --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/StrongName.targets @@ -0,0 +1,12 @@ + + + + $(TestTrustedPublicKey) + $(TestTrustedPublicKeyToken) + + + + $(TestUntrustedPublicKey) + $(TestUntrustedPublicKeyToken) + + From 8c5ec100019b1a0c5a7b70babf0867a2b72b79a4 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 10 May 2019 16:13:51 -0700 Subject: [PATCH 49/72] prepare helix payload with DRT --- eng/helix/helixpublish.proj | 2 +- eng/helix/prepare-helix-payload.ps1 | 17 ++++++++++++++--- eng/helix/runtests.ps1 | 2 +- .../test/Directory.Build.props | 2 +- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 75037efd768..3792f934aaa 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -24,7 +24,7 @@ - + 00:20:00 diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index 675a95ddb74..7181d004d07 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -37,12 +37,23 @@ function CopyFolderStructure($from, $to) } # Copy files from nuget packages -$testNugetLocation = Join-Path $nugetPackagesDir "Microsoft.DotNet.Wpf.DncEng.Test\1.0.0\tools\win-$platform\" +$testNugetLocation = Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.DncEng.Test\1.0.0-beta.19260.5\tools\win-$platform\" $testPayloadLocation = Join-Path $payloadDir "Test" CopyFolderStructure $testNugetLocation $testPayloadLocation -# Copy local dotnet install -$localDotnetInstall = Join-Path $env:BUILD_SOURCESDIRECTORY '.dotnet' +# Copy local DRT assemblies to test location +CopyFolderStructure $testNugetLocation $testPayloadLocation +$drtArtifactsLocation = [System.IO.Path]::Combine($env:BUILD_SOURCESDIRECTORY, "artifacts\test", $configuration, $platform, "Test\DRT") +$drtPayloadLocation = Join-Path $payloadDir "Test\DRT" +CopyFolderStructure $drtArtifactsLocation $drtPayloadLocation + +# Copy built assemblies to dotnet install location +$eng = Join-Path $env:BUILD_SOURCESDIRECTORY "eng" +$configArgs = if ($configuration == "Release") { "-release" } else { } +& "$eng\copy-wpf.ps1 -local -arch $platform $configArgs" + +# Copy local dotnet install to payload +$localDotnetInstall = Join-Path $env:BUILD_SOURCESDIRECTORY ".dotnet" $dotnetPayloadLocation = Join-Path $payloadDir "dotnet" CopyFolderStructure $localDotnetInstall $dotnetPayloadLocation diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 index 29ec11c15e3..90dff99c810 100644 --- a/eng/helix/runtests.ps1 +++ b/eng/helix/runtests.ps1 @@ -3,7 +3,7 @@ & "$PSScriptRoot\configure-helix-machine.ps1" # Run the tests -dotnet --info +Get-ChildItem -Recurse # We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. # For example: $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 730df2169f9..5f0070737bf 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -2,7 +2,7 @@ - $(WpfIntRootDirectory)publish\ + $(RepoRoot)artifacts\test\ x86 x64 From a5010142bf4fb0e7240fba0fadcce59021116fcd Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Sun, 12 May 2019 07:40:56 -0700 Subject: [PATCH 50/72] add source link for deterministic source path issue --- src/Microsoft.DotNet.Wpf/test/Directory.Build.props | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 5f0070737bf..bff1c6bee77 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -5,8 +5,13 @@ $(RepoRoot)artifacts\test\ x86 x64 + 1.0.0-beta2-18618-05 + + + + $(MsBuildThisFileDirectory) $(WpfTestBasePath)\Common\DRT From 5222a873a1666c805d09b280dbf83a9ae8ebd889 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Sun, 12 May 2019 08:13:59 -0700 Subject: [PATCH 51/72] remove explicit platform and extra file added --- .../test/DRT/DrtXaml/dirs.proj | 18 ---------- .../test/Directory.Build.props | 35 ++++++++++++------- 2 files changed, 22 insertions(+), 31 deletions(-) delete mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj deleted file mode 100644 index a74471c0709..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/dirs.proj +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index bff1c6bee77..471b0be1781 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -2,25 +2,35 @@ + $(MsBuildThisFileDirectory) + $(WpfTestBasePath)\Common\DRT + $(WpfTestBasePath)\Shared $(RepoRoot)artifacts\test\ - x86 - x64 + + netcoreapp3.0 + true + 1.0.0-beta2-18618-05 + + + + win-x64 + x64 + + + + + win-x86 + x86 + + + + - - - $(MsBuildThisFileDirectory) - $(WpfTestBasePath)\Common\DRT - $(WpfTestBasePath)\Shared - netcoreapp3.0 - AnyCPU;x64 - win-x64;win-x86 - true - @@ -53,7 +63,6 @@ false - From f3b4f5bb86d2bf53e646788da416ac33aedc6cf6 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Sun, 12 May 2019 10:59:12 -0700 Subject: [PATCH 52/72] fixing up targets/props so we can build with -test --- Microsoft.Dotnet.Wpf.sln | 4 +- .../WpfArcadeSdk/tools}/DRT.Build.props | 2 + .../WpfArcadeSdk/tools}/Publish.props | 2 +- .../tools/PublishAfterBuild.targets | 18 + .../WpfArcadeSdk/tools}/SourceLocations.props | 0 .../WpfArcadeSdk/tools}/StrongName.props | 2 +- .../WpfArcadeSdk/tools}/StrongName.targets | 0 eng/copy-wpf.ps1 | 5 +- eng/helix/configure-helix-machine.ps1 | 16 - eng/helix/helixpublish.proj | 22 +- eng/helix/prepare-helix-payload.ps1 | 18 +- eng/helix/runtests.ps1 | 19 +- .../test/BranchCommon/data/CommonData.csproj | 20 + .../BranchCommon/data/Directory.Build.props | 3 + .../test/BranchCommon/data/DrtList.xml | 587 ++++++++++++++++++ .../Common/{ => DRT}/TestServices/DrtBase.cs | 0 .../TestServices/DrtBaseGlobalInput.cs | 0 .../{ => DRT}/TestServices/DrtBaseInput.cs | 0 .../MS/Internal/MultiTargetUtilities.cs | 0 .../TestServices/MS/Internal/PointUtil.cs | 0 .../MS/Internal/SecurityCriticalDataForSet.cs | 0 .../TestServices/MS/Win32/ExternDll.cs | 0 .../TestServices/MS/Win32/HandleCollector.cs | 0 .../TestServices/MS/Win32/NativeMethodsCLR.cs | 0 .../MS/Win32/NativeMethodsOther.cs | 0 .../MS/Win32/NativeMethodsSetLastError.cs | 0 .../MS/Win32/SafeNativeMethodsCLR.cs | 0 .../MS/Win32/SafeNativeMethodsOther.cs | 0 .../MS/Win32/UnsafeNativeMethodsCLR.cs | 0 .../MS/Win32/UnsafeNativeMethodsOther.cs | 0 .../TestServices/TestServices.csproj | 0 .../test/Common/DRT/dirs.proj | 19 - src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml.sln | 4 +- .../BamlAvoidXmlTest/BamlAvoidXmlTest.csproj | 25 + .../BamlTestClasses40.csproj | 6 +- .../BamlTestClasses40/TempDPSetOrder1.xaml.cs | 43 -- .../TempDPSetOrder1ListBox.cs | 54 ++ .../test/DRT/DrtXaml/Directory.Build.props | 2 +- .../{DrtXaml.Tests.csproj => DrtXaml.csproj} | 11 +- .../XamlTestClasses.FriendWithKey.csproj | 1 - .../XamlTestClasses.FriendWithoutKey.csproj | 1 - .../DrtXaml.PartialTrustTests.csproj | 1 - .../test/Directory.Build.props | 37 +- .../test/Directory.Build.targets | 7 +- .../test/MultiTargeting.props | 61 -- .../test/PublishAfterBuild.targets | 11 - 46 files changed, 778 insertions(+), 223 deletions(-) rename {src/Microsoft.DotNet.Wpf/test => eng/WpfArcadeSdk/tools}/DRT.Build.props (61%) rename {src/Microsoft.DotNet.Wpf/test => eng/WpfArcadeSdk/tools}/Publish.props (91%) create mode 100644 eng/WpfArcadeSdk/tools/PublishAfterBuild.targets rename {src/Microsoft.DotNet.Wpf/test => eng/WpfArcadeSdk/tools}/SourceLocations.props (100%) rename {src/Microsoft.DotNet.Wpf/test => eng/WpfArcadeSdk/tools}/StrongName.props (91%) rename {src/Microsoft.DotNet.Wpf/test => eng/WpfArcadeSdk/tools}/StrongName.targets (100%) create mode 100644 src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj create mode 100644 src/Microsoft.DotNet.Wpf/test/BranchCommon/data/Directory.Build.props create mode 100644 src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/DrtBase.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/DrtBaseGlobalInput.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/DrtBaseInput.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Internal/MultiTargetUtilities.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Internal/PointUtil.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Internal/SecurityCriticalDataForSet.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/ExternDll.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/HandleCollector.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/NativeMethodsCLR.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/NativeMethodsOther.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/NativeMethodsSetLastError.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/SafeNativeMethodsCLR.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/SafeNativeMethodsOther.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/UnsafeNativeMethodsCLR.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/MS/Win32/UnsafeNativeMethodsOther.cs (100%) rename src/Microsoft.DotNet.Wpf/test/Common/{ => DRT}/TestServices/TestServices.csproj (100%) delete mode 100644 src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj create mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1ListBox.cs rename src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/{DrtXaml.Tests.csproj => DrtXaml.csproj} (86%) delete mode 100644 src/Microsoft.DotNet.Wpf/test/MultiTargeting.props delete mode 100644 src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets diff --git a/Microsoft.Dotnet.Wpf.sln b/Microsoft.Dotnet.Wpf.sln index 4ee3b158701..e2d296bd014 100644 --- a/Microsoft.Dotnet.Wpf.sln +++ b/Microsoft.Dotnet.Wpf.sln @@ -81,9 +81,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Printing-ref", "src\ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{B0EFDB12-C931-4E7F-A6C2-D4AC111D7EDF}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DrtXaml.Tests", "src\Microsoft.DotNet.Wpf\test\DRT\DrtXaml\DrtXaml\DrtXaml.Tests.csproj", "{FAB114A2-2C6C-4372-A6BB-BC087B646E3A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DrtXaml", "src\Microsoft.DotNet.Wpf\test\DRT\DrtXaml\DrtXaml\DrtXaml.csproj", "{FAB114A2-2C6C-4372-A6BB-BC087B646E3A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServices", "src\Microsoft.DotNet.Wpf\test\Common\TestServices\TestServices.csproj", "{387F3700-8C0B-4CEC-A68A-1725F656A249}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServices", "src\Microsoft.DotNet.Wpf\test\Common\DRT\TestServices\TestServices.csproj", "{387F3700-8C0B-4CEC-A68A-1725F656A249}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XamlTestClasses", "src\Microsoft.DotNet.Wpf\test\DRT\DrtXaml\XamlTestClasses\XamlTestClasses.csproj", "{3C1FC36C-E3E6-4EED-9ECA-CFF2EB950486}" EndProject diff --git a/src/Microsoft.DotNet.Wpf/test/DRT.Build.props b/eng/WpfArcadeSdk/tools/DRT.Build.props similarity index 61% rename from src/Microsoft.DotNet.Wpf/test/DRT.Build.props rename to eng/WpfArcadeSdk/tools/DRT.Build.props index de0b61a8185..047ab6efe2d 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT.Build.props +++ b/eng/WpfArcadeSdk/tools/DRT.Build.props @@ -1,5 +1,7 @@ $(WpfDrtTestBasePublishPath) + true + true \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/Publish.props b/eng/WpfArcadeSdk/tools/Publish.props similarity index 91% rename from src/Microsoft.DotNet.Wpf/test/Publish.props rename to eng/WpfArcadeSdk/tools/Publish.props index d1401f44259..767506adb52 100644 --- a/src/Microsoft.DotNet.Wpf/test/Publish.props +++ b/eng/WpfArcadeSdk/tools/Publish.props @@ -2,7 +2,7 @@ <_IsPortable >true false - win-x86 + win-x86 win-x64 $(PublishRoot)$(Configuration)\$(PlatformFolder) $(PublishDir)\Test diff --git a/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets b/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets new file mode 100644 index 00000000000..6e84793f7a0 --- /dev/null +++ b/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets @@ -0,0 +1,18 @@ + + + + + + + true + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/SourceLocations.props b/eng/WpfArcadeSdk/tools/SourceLocations.props similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/SourceLocations.props rename to eng/WpfArcadeSdk/tools/SourceLocations.props diff --git a/src/Microsoft.DotNet.Wpf/test/StrongName.props b/eng/WpfArcadeSdk/tools/StrongName.props similarity index 91% rename from src/Microsoft.DotNet.Wpf/test/StrongName.props rename to eng/WpfArcadeSdk/tools/StrongName.props index 9d7644845c8..39b1310704d 100644 --- a/src/Microsoft.DotNet.Wpf/test/StrongName.props +++ b/eng/WpfArcadeSdk/tools/StrongName.props @@ -11,7 +11,7 @@ false - $(TestUntrustedKey) + $(TestUntrustedKey) custom \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/StrongName.targets b/eng/WpfArcadeSdk/tools/StrongName.targets similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/StrongName.targets rename to eng/WpfArcadeSdk/tools/StrongName.targets diff --git a/eng/copy-wpf.ps1 b/eng/copy-wpf.ps1 index dc4a5a51a67..59dd14bdfb7 100644 --- a/eng/copy-wpf.ps1 +++ b/eng/copy-wpf.ps1 @@ -60,7 +60,10 @@ function CopyPackagedBinaries($location, $localBinLocation, $packageName, $binar { $ArchFolder = if ($arch -eq "x86") { "" } else { "x64" } $BinLocation = [System.IO.Path]::Combine($localBinLocation, $Config, $ArchFolder, $packageName, "lib", $binaryLocationInPackage, "*") - Copy-Item -path $BinLocation -include "*.dll","*.pdb" -Destination $location + if (Test-Path $BinLocation) + { + Copy-Item -path $BinLocation -include "*.dll","*.pdb" -Destination $location + } } if ($help -or ([string]::IsNullOrEmpty($destination) -and !$local)) diff --git a/eng/helix/configure-helix-machine.ps1 b/eng/helix/configure-helix-machine.ps1 index ac8d4f5f3de..85403ad23fa 100644 --- a/eng/helix/configure-helix-machine.ps1 +++ b/eng/helix/configure-helix-machine.ps1 @@ -1,17 +1 @@ # This file prepares the helix machine for our tests runs - -$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" - -Write-Output "Adding dotnet location to path: $dotnetLocation" - -# Prepend the path to ensure that dotnet.exe is called from there. -$env:path="$dotnetLocation;$env:path" - -# Don't look outside the TestHost to resolve best match SDKs. -$env:DOTNET_MULTILEVEL_LOOKUP = 0 - -# Disable first run since we do not need all ASP.NET packages restored. -$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 - -# Ensure that the dotnet installed at our dotnetLocation is used -$env:DOTNET_ROOT=$dotnetLocation \ No newline at end of file diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 3792f934aaa..aac15376b1f 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -1,4 +1,3 @@ - @@ -10,25 +9,32 @@ https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json - - false + true + sdk + + $(DotNetCliVersion) + true true true - $(HelixPreCommands); + $(HelixPreCommands);powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\configure-helix-machine.ps1 -version Xaml" - Windows.10.Amd64.Open;Windows.7.Amd64.Open;Windows.10.Amd64.ServerRS5.Open + + + Windows.10.Amd64.Open + + 1.0.0-beta.19263.1 - + - + 00:20:00 - powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\runtests.ps1" + powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\runtests.ps1 -area Xaml" + + + + + newloadersuitehelperproject.exe + newloadersuitehelperproject1\newloadersuitehelperproject.exe + DrtFiles\loader_tulip.jpg + DrtFiles\PageA.xaml + + + + + + DrtFiles\DocumentViewerSuite\Commanding + DrtFiles\DocumentViewerSuite\Stress + DrtFiles\DocumentViewerSuite\Styling + + + + + DrtDigitalSignature.exe + DrtFiles\digitalsignature + DelCertNoUI.exe + MakeCert.exe + + + + + + + DrtEditing.* + DrtFiles\Editing\CustomDict2.lex + DrtFiles\Editing\cut.png + DrtFiles\Editing\rtfsimple.rtf + DrtFiles\Editing\rtfsimple_expect.rtf.xaml + DrtFiles\Editing\rtfsimple_expect.rtf.xaml.rtf + + + + + DrtFiles\PropertyEngine\TestInheritanceContext.xaml + DrtFiles\PropertyEngine\TestValueSource.xaml + DrtFiles\PropertyEngine\TestVisualTransforms.xaml + + + + + DrtWindowSecure.cmd + + + + + --> + + + + DrtFiles\Icon + + + + + DrtWindowMinMaxContentSizeSecure.cmd + + + + + DrtFiles\Text + + + + + DrtApplicationEvents.exe + + + + + + + + + + + + DrtFiles\DRXSerialization\DocumentViewerDefault.xaml + DrtFiles\DRXSerialization\DocumentViewerDefaultInput.xaml + DrtFiles\DRXSerialization\DocumentViewerNonDefault.xaml + DrtFiles\DRXSerialization\DocumentViewerNonDefaultInput.xaml + + + + + DrtFiles\DrtAnimation\DRTEasing.xaml + DrtFiles\DrtAnimation\DRTMarkupAnimation.xaml + DrtFiles\DrtAnimation\angels.jpg + DrtAnimationRDP.cmd + + + + + + DrtFiles\DrtBasic3D\ambient.png + DrtFiles\DrtBasic3D\combined.png + DrtFiles\DrtBasic3D\diffuse.png + DrtFiles\DrtBasic3D\emissive.png + DrtFiles\DrtBasic3D\specular.png + DrtFiles\DrtBasic3D\msnbackground.bmp + + + + + + DrtFiles\DrtMil2D\cut.png + DrtFiles\DrtMil2D\tulip.jpg + DrtFiles\DrtMil2D\tulip48dpi.jpg + DrtFiles\DrtMil2D\tulip96x192dpi.png + DrtFiles\DrtMil2D\tile_checkered.PNG + DrtFiles\DrtMil2D\tiny_checkered.PNG + + + + + DrtFiles\Input\DrtInput.xml + + + + + + + DrtFiles\Controls + DrtThemeDictionaryExtension.* + DrtThirdPartyThemes.dll + DrtThirdPartyThemes.pdb + ListView2App.* + + + + + + DrtImagingD3D.dll + DrtFiles\DrtImaging + + + + + + + DrtFiles\NavigationApplication\NavAppBar.xaml + DrtFiles\NavigationApplication\NavAppFoo.xaml + + + + + DrtFiles\NavigationEvents + + + + + DrtFiles\NavigationWindow\NavWindowBar.xaml + DrtFiles\NavigationWindow\NavWindowFoo.xaml + DrtFiles\NavigationWindow\NavWindowBar2.xaml + DrtFiles\NavigationWindow\NavWindowFoo2.xaml + 6 + + + + DrtFiles\navmemperf + + + + + DrtFiles\ReparentNavigator\ReparentFrame.xaml + DrtFiles\ReparentNavigator\ReparentPage1.xaml + DrtFiles\ReparentNavigator\ReparentPage2.xaml + DrtFiles\ReparentNavigator\ReparentPage3.xaml + DrtFiles\ReparentNavigator\ReparentStart.xaml + DrtReparentNavigatorSecure.cmd + + + + + + + + DrtFiles\JournalMode\DrtJournalModeDefault.xaml + DrtJournalModeSecure.cmd + + + + + DrtFiles\XamlContainer\NavByElement.xaml + DrtFiles\XamlContainer\NavByUri.xaml + DrtFiles\XamlContainer\SetContent.xaml + DrtFiles\XamlContainer\SetUri.xaml + DrtFiles\XamlContainer\DrtXamlContainer.Permissions + DrtXamlContainerSecure.cmd + + + + + DrtFiles\NavigationToObject\FlowDocument.xaml + + + + + + + + DrtFiles\FlowLayout + + + + + DrtFiles\AvaCop + DrtFiles\DocumentViewerSuite\Commanding + + + + + DrtFiles\DataSrv + + + + + en-us\DrtDataSrvMSB.* + DrtFiles\DataSrvMSB\Content.JPG + + + + + DrtFiles\Layout + + + + + DrtFiles\TextFind + + + + + DrtFiles\DrtInputMethod + + + + + DRTTextComposition.exe + + + + + + + DrtFiles\MarkupSerializer + + + + + DrtFiles\Events\DRTEvents_1.xaml + + + + + DrtFiles\Commanding + + + + + DrtFiles\Localization + DrtFiles\Baml + + + + + + DrtFiles\DRTStoryboards\DRTStoryboards.xaml + DrtFiles\DRTStoryboards\ding.wav + + + + + DrtFiles\Ink + + + + + DrtFiles\DrtColorAPI + + + + + + + + + DrtFiles\InkCanvas + RunInkCanvasSpeedTests.cmd + RunInkCanvasAllocationTests.cmd + + + + + FixedDocViewer.dll + DrtFiles\Payloads + + + + + DrtFiles\Layout + DrtFiles\Payloads + + + + + DrtFiles\FixedEdit + DrtFiles\Payloads + + + + + DrtFiles\Payloads + + + + + DrtNGCTest.exe + DrtFiles\Payloads + DrtFiles\NGCTest\constitution.xaml + DrtAddDocStructure.exe + DrtFixedTest.exe + + + + + + + + + + DrtFiles\compressionXform + + + + + + DrtFiles\EncryptedPackageCoreProperties + + + + + + + + BuildContainer.exe + IndexingFilterTool.exe + CompareChunkLists.exe + EncryptedPackageBuilder.exe + DrtFiles\Indexing + + + + + + + + + + DrtFiles\FlowLayoutExt + + + + + DrtFiles\Selection + + + + + DrtFiles\Flow + + + + + + DrtFiles\DrtMedia\DrtMedia.xaml + + + + + + WarmupOpt.exe + DrtFiles\WarmupOpt + + + + + MSNBamlOpt* + en-us\MSNBamlOpt.resources.dll + + + + + + DrtFiles\HBROpt + + + + + XamlTestClasses.dll + BamlTestClasses40.dll + BamlAvoidXmlTest.exe + XamlTestClasses.FriendWithKey.dll + XamlTestClasses.FriendWithoutKey.dll + DrtXaml.PartialTrustTests.dll + + + + + DrtXpsApi.exe + DrtFiles\XpsApi + DelCertNoUI.exe + MakeCert.exe + + + + + DrtFiles\VisualSerialization\testCMYK1.icc + DrtFiles\drtimaging\avalon.png + DrtFiles\drtimaging\tulip.jpg + + + + + + + DrtFiles\XamlSourceInfoTest.Debug.dll + DrtFiles\XamlSourceInfoTest.Release.dll + + + + + DrtFiles\Printing + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBase.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBaseGlobalInput.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBaseGlobalInput.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBaseGlobalInput.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBaseGlobalInput.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBaseInput.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBaseInput.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/DrtBaseInput.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBaseInput.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/MultiTargetUtilities.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/MultiTargetUtilities.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/MultiTargetUtilities.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/MultiTargetUtilities.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/PointUtil.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/PointUtil.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/PointUtil.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/PointUtil.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/SecurityCriticalDataForSet.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/SecurityCriticalDataForSet.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Internal/SecurityCriticalDataForSet.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Internal/SecurityCriticalDataForSet.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/ExternDll.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/ExternDll.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/ExternDll.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/ExternDll.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/HandleCollector.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/HandleCollector.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/HandleCollector.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/HandleCollector.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsCLR.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsCLR.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsCLR.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsCLR.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsOther.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsOther.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsOther.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsOther.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsSetLastError.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsSetLastError.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/NativeMethodsSetLastError.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/NativeMethodsSetLastError.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/SafeNativeMethodsCLR.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/SafeNativeMethodsCLR.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/SafeNativeMethodsCLR.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/SafeNativeMethodsCLR.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/SafeNativeMethodsOther.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/SafeNativeMethodsOther.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/SafeNativeMethodsOther.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/SafeNativeMethodsOther.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/UnsafeNativeMethodsCLR.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/UnsafeNativeMethodsCLR.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/UnsafeNativeMethodsCLR.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/UnsafeNativeMethodsCLR.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/UnsafeNativeMethodsOther.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/UnsafeNativeMethodsOther.cs similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/MS/Win32/UnsafeNativeMethodsOther.cs rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/MS/Win32/UnsafeNativeMethodsOther.cs diff --git a/src/Microsoft.DotNet.Wpf/test/Common/TestServices/TestServices.csproj b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj similarity index 100% rename from src/Microsoft.DotNet.Wpf/test/Common/TestServices/TestServices.csproj rename to src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj diff --git a/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj b/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj deleted file mode 100644 index 72dcacf30b3..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/Common/DRT/dirs.proj +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml.sln b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml.sln index 37c61ec0292..e9c83d048ac 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml.sln +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml.sln @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.28010.2026 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DrtXaml.Tests", "DrtXaml\DrtXaml\DrtXaml.Tests.csproj", "{FAB114A2-2C6C-4372-A6BB-BC087B646E3A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DrtXaml", "DrtXaml\DrtXaml\DrtXaml.csproj", "{FAB114A2-2C6C-4372-A6BB-BC087B646E3A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServices", "..\Common\TestServices\TestServices.csproj", "{387F3700-8C0B-4CEC-A68A-1725F656A249}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServices", "..\Common\DRT\TestServices\TestServices.csproj", "{387F3700-8C0B-4CEC-A68A-1725F656A249}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XamlTestClasses", "DrtXaml\XamlTestClasses\XamlTestClasses.csproj", "{3C1FC36C-E3E6-4EED-9ECA-CFF2EB950486}" EndProject diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj index 288c956924a..c744feb3be1 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj @@ -25,4 +25,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj index 39d1b6fedcd..3c4d5a8d8b5 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj @@ -62,12 +62,16 @@ MSBuild:Compile - + + + + + diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1.xaml.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1.xaml.cs index ba75f9a5345..0ddeeb78a63 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1.xaml.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1.xaml.cs @@ -16,47 +16,4 @@ public TempDPSetOrder1() InitializeComponent(); } } - - public enum Property - { - IsSynchronizedWithCurrentItem, - ItemsSource, - SelectedIndex - } - - public class TempDPSetOrder1ListBox : ListBox - { - public static List Order { get; private set; } - - static TempDPSetOrder1ListBox() - { - Order = new List(); - } - - protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) - { - base.OnPropertyChanged(e); - if (e.Property.OwnerType.Equals(typeof(Selector))) - { - switch (e.Property.Name) - { - case "IsSynchronizedWithCurrentItem": - Order.Add(Property.IsSynchronizedWithCurrentItem); - break; - case "SelectedIndex": - Order.Add(Property.SelectedIndex); - break; - } - } - else if (e.Property.OwnerType.Equals(typeof(ItemsControl))) - { - switch (e.Property.Name) - { - case "ItemsSource": - Order.Add(Property.ItemsSource); - break; - } - } - } - } } diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1ListBox.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1ListBox.cs new file mode 100644 index 00000000000..f9debdad8ce --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/TempDPSetOrder1ListBox.cs @@ -0,0 +1,54 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Collections.Generic; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; + +namespace BamlTestClasses40 +{ + public enum Property + { + IsSynchronizedWithCurrentItem, + ItemsSource, + SelectedIndex + } + + public class TempDPSetOrder1ListBox : ListBox + { + public static List Order { get; private set; } + + static TempDPSetOrder1ListBox() + { + Order = new List(); + } + + protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) + { + base.OnPropertyChanged(e); + if (e.Property.OwnerType.Equals(typeof(Selector))) + { + switch (e.Property.Name) + { + case "IsSynchronizedWithCurrentItem": + Order.Add(Property.IsSynchronizedWithCurrentItem); + break; + case "SelectedIndex": + Order.Add(Property.SelectedIndex); + break; + } + } + else if (e.Property.OwnerType.Equals(typeof(ItemsControl))) + { + switch (e.Property.Name) + { + case "ItemsSource": + Order.Add(Property.ItemsSource); + break; + } + } + } + } +} diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props index 319f7c13864..4d1dc3791be 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.Tests.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj similarity index 86% rename from src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.Tests.csproj rename to src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj index 47569961283..822d08b97c9 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.Tests.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj @@ -1,21 +1,20 @@ - + DrtXaml DrtXaml - - Library - + console + WinExe AnyCPU;x64 true - true + false true - + diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj index 0d96d982242..b50c80cd7b3 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj @@ -3,7 +3,6 @@ XamlTestClasses.FriendWithKey Library $(DefineConstants);OLDRESOURCES - true true diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj index b3ad111fa7f..0d902aa8960 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj @@ -3,7 +3,6 @@ XamlTestClasses.FriendWithoutKey Library $(DefineConstants);OLDRESOURCES - true true false diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj index 22e6c73fbf0..05472880300 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj @@ -3,7 +3,6 @@ DrtXaml.PartialTrustTests Library $(DefineConstants);OLDRESOURCES - true true false diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 471b0be1781..12c3872c4d5 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -1,39 +1,20 @@ - - + + $(MsBuildThisFileDirectory) $(WpfTestBasePath)\Common\DRT $(WpfTestBasePath)\Shared $(RepoRoot)artifacts\test\ - netcoreapp3.0 true - - 1.0.0-beta2-18618-05 + win-x64;win-x86 + x86 + x64 - - - - - win-x64 - x64 - - - - - win-x86 - x86 - - - - - - - - - - + + + @@ -55,7 +36,7 @@ $(WpfTestBasePath)\Common\DRT\Tools\DrtTools.csproj - + true diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets index c42bcba8ce7..2181cf771d7 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets @@ -1,6 +1,7 @@ - - - + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props b/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props deleted file mode 100644 index 2f9f5d9b14f..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props +++ /dev/null @@ -1,61 +0,0 @@ - - - netcoreapp3.0 - - - - $(DefineConstants);NET4X - $(DefineConstants);NETCOREAPP3_X - - $(DefineConstants);NET40 - $(DefineConstants);NET45 - $(DefineConstants);NET451 - $(DefineConstants);NET452 - $(DefineConstants);NET453 - $(DefineConstants);NET46 - $(DefineConstants);NET461 - $(DefineConstants);NET462 - $(DefineConstants);NET47 - $(DefineConstants);NET471 - $(DefineConstants);NET472 - - $(DefineConstants);NETCOREAPP3_0 - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers - - - all - runtime; build; native; contentfiles; analyzers - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets b/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets deleted file mode 100644 index 32916f86819..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/PublishAfterBuild.targets +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - true - - - From 0a564c75488207b1a2d0153f589dabce18140ce6 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 27 May 2019 12:03:47 -0700 Subject: [PATCH 53/72] tests properly running and reporting results --- eng/helix/prepare-helix-payload.ps1 | 11 +++++------ eng/helix/runtests.ps1 | 2 +- .../test/BranchCommon/data/DrtList.xml | 1 - .../test/DRT/Directory.Build.props | 2 +- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index efe24c50ec6..0591a2b6e31 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -1,11 +1,10 @@ [CmdLetBinding()] Param( [string]$platform, - [string]$configuration, - [string]$testPackageVersion + [string]$configuration ) -$payloadDir = "HelixPayload\$configuration\$platform" +$payloadDir = "$PSScriptRoot\HelixPayload\$configuration\$platform" $nugetPackagesDir = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "packages" @@ -39,7 +38,7 @@ function CopyFolderStructure($from, $to) } # Copy files from nuget packages. -$testNugetLocation = Resolve-Path (Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.Test\*\tools\win-$platform\Test") +$testNugetLocation = Resolve-Path (Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.Test.*\tools\win-$platform\Test") $testPayloadLocation = Join-Path $payloadDir "Test" CopyFolderStructure $testNugetLocation $testPayloadLocation @@ -50,5 +49,5 @@ $drtPayloadLocation = Join-Path $payloadDir "Test\DRT" CopyFolderStructure $drtArtifactsLocation $drtPayloadLocation # Copy scripts -Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir -Copy-Item "eng\helix\runtests.ps1" $payloadDir \ No newline at end of file +Copy-Item "$PSScriptRoot\configure-helix-machine.ps1" $payloadDir +Copy-Item "$PSScriptRoot\runtests.ps1" $payloadDir \ No newline at end of file diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 index 241505851c1..d47f9f15f96 100644 --- a/eng/helix/runtests.ps1 +++ b/eng/helix/runtests.ps1 @@ -22,5 +22,5 @@ if (Test-Path "$testLocation\rundrts.cmd") # Need to copy the xUnit log to a known location that helix can understand if (Test-Path "$env:AppData\QualityVault\Run\Report\testResults.xml") { - Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" "..\testResults.xml" + Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" ".\testResults.xml" } \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml index 1e94bca0882..e28c5f4a76b 100644 --- a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml +++ b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml @@ -541,7 +541,6 @@ Rundrtlist BamlAvoidXmlTest.exe XamlTestClasses.FriendWithKey.dll XamlTestClasses.FriendWithoutKey.dll - DrtXaml.PartialTrustTests.dll diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props index 7e783514db2..7167d0c5112 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props @@ -1,6 +1,6 @@ - $(WpfTestBasePublishPath)\Common + $(WpfTestBasePublishPath)\DRT \ No newline at end of file From c14bb3dc24761053b283a805926c51c1f79185d5 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 27 May 2019 12:57:57 -0700 Subject: [PATCH 54/72] a little cleaning up --- eng/helix/helixpublish.proj | 2 +- eng/helix/prepare-helix-payload.ps1 | 5 +++-- eng/helix/runtests.ps1 | 2 -- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index aac15376b1f..8fa7d9a29ef 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -19,7 +19,7 @@ true - $(HelixPreCommands);powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\configure-helix-machine.ps1 -version Xaml" + $(HelixPreCommands); diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index 0591a2b6e31..f0f726c294d 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -19,6 +19,9 @@ New-Item -ItemType Directory -Force -Path $payloadDir function CopyFolderStructure($from, $to) { + Write-Output "Copying from: $from" + Write-Output " to: $to" + if(Test-Path $to) { Remove-Item $to -Recurse @@ -33,8 +36,6 @@ function CopyFolderStructure($from, $to) { Write-Output "Location doesn't exist: $from" } - - Get-ChildItem $to -Recurse } # Copy files from nuget packages. diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 index d47f9f15f96..c902dfd14e9 100644 --- a/eng/helix/runtests.ps1 +++ b/eng/helix/runtests.ps1 @@ -6,8 +6,6 @@ Param( # Configure the machine before running tests . "$PSScriptRoot\configure-helix-machine.ps1" -dotnet --info - # Run the tests $testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" if (Test-Path "$testLocation\rundrts.cmd") From 04d7e3d4058a90377c1348f966767ca820a70f16 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 27 May 2019 13:07:23 -0700 Subject: [PATCH 55/72] fix creating payload directory --- eng/helix/prepare-helix-payload.ps1 | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index f0f726c294d..ac29459d060 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -4,12 +4,10 @@ Param( [string]$configuration ) -$payloadDir = "$PSScriptRoot\HelixPayload\$configuration\$platform" +$payloadDir = "HelixPayload\$configuration\$platform" $nugetPackagesDir = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "packages" -# TODO: Once we have the nuget package from the dotnet-wpf-test, we can better understand what we -# need to do here. # Create the payload directory. Remove it if it already exists. if(Test-Path $payloadDir) { @@ -19,9 +17,6 @@ New-Item -ItemType Directory -Force -Path $payloadDir function CopyFolderStructure($from, $to) { - Write-Output "Copying from: $from" - Write-Output " to: $to" - if(Test-Path $to) { Remove-Item $to -Recurse @@ -50,5 +45,5 @@ $drtPayloadLocation = Join-Path $payloadDir "Test\DRT" CopyFolderStructure $drtArtifactsLocation $drtPayloadLocation # Copy scripts -Copy-Item "$PSScriptRoot\configure-helix-machine.ps1" $payloadDir -Copy-Item "$PSScriptRoot\runtests.ps1" $payloadDir \ No newline at end of file +Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir +Copy-Item "eng\helix\runtests.ps1" $payloadDir \ No newline at end of file From b2c930814f2007139f237b225dc619a4ba7406cd Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 27 May 2019 13:25:50 -0700 Subject: [PATCH 56/72] put test directory back to how it is when restoring via msbuild --- eng/Versions.props | 1 + eng/helix/configure-helix-machine.ps1 | 29 +++++++++++ eng/helix/helixpublish.proj | 51 ++++++++++--------- eng/helix/prepare-helix-payload.ps1 | 6 +-- eng/helix/runtests.cmd | 3 ++ eng/helix/runtests.ps1 | 8 +-- eng/pipeline.yml | 2 +- .../test/BranchCommon/data/CommonData.csproj | 2 +- 8 files changed, 69 insertions(+), 33 deletions(-) create mode 100644 eng/helix/runtests.cmd diff --git a/eng/Versions.props b/eng/Versions.props index ec0f112db0b..841a8a4784d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -58,6 +58,7 @@ 2.4.0 $(XUnitVersion) $(XUnitVersion) + 1.0.0-beta.19263.1 diff --git a/eng/helix/configure-helix-machine.ps1 b/eng/helix/configure-helix-machine.ps1 index 85403ad23fa..4f20fb2866a 100644 --- a/eng/helix/configure-helix-machine.ps1 +++ b/eng/helix/configure-helix-machine.ps1 @@ -1 +1,30 @@ # This file prepares the helix machine for our tests runs +$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" + +# Set DOTNET_ROOT variables so the host can find it +Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation +Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation + +$runtimes = dotnet --list-runtimes +foreach ($rt in $runtimes) +{ + if ($rt.StartsWith("Microsoft.WindowsDesktop.App")) + { + $version = $rt.Split(" ")[1] + } +} + +# Rewrite the *.runtimeconfig.json files to match the version of the runtime on the machine +$infraLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test\Infra" +$stiConfigFile = Join-Path $infraLocation "Sti.runtimeconfig.json" +$qvConfigFile = Join-Path $infraLocation "QualityVaultFrontEnd.runtimeconfig.json" +$configFiles = $stiConfigFile, $qvConfigFile +foreach ($config in $configFiles) +{ + # Read current config file + $jsondata = Get-Content -Raw -Path $config | ConvertFrom-Json + # Update version + $jsondata.runtimeOptions.framework.version = $version + # Write data back + $jsondata | ConvertTo-Json -depth 100 | Set-Content $config +} \ No newline at end of file diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 8fa7d9a29ef..9d4a8cdc9d1 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -13,7 +13,9 @@ sdk $(DotNetCliVersion) - + win-x86 + win-x64 + true true true @@ -26,7 +28,6 @@ Windows.10.Amd64.Open - 1.0.0-beta.19263.1 @@ -34,96 +35,96 @@ 00:20:00 - powershell -ExecutionPolicy ByPass -NoProfile -command "& %HELIX_CORRELATION_PAYLOAD%\runtests.ps1 -area Xaml" + call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=Xaml diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 index ac29459d060..9f382820f4a 100644 --- a/eng/helix/prepare-helix-payload.ps1 +++ b/eng/helix/prepare-helix-payload.ps1 @@ -34,16 +34,16 @@ function CopyFolderStructure($from, $to) } # Copy files from nuget packages. -$testNugetLocation = Resolve-Path (Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.Test.*\tools\win-$platform\Test") +$testNugetLocation = Resolve-Path (Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.Test\*\tools\win-$platform\Test") $testPayloadLocation = Join-Path $payloadDir "Test" CopyFolderStructure $testNugetLocation $testPayloadLocation # Copy local DRT assemblies to test location -CopyFolderStructure $testNugetLocation $testPayloadLocation $drtArtifactsLocation = [System.IO.Path]::Combine($env:BUILD_SOURCESDIRECTORY, "artifacts\test", $configuration, $platform, "Test\DRT") $drtPayloadLocation = Join-Path $payloadDir "Test\DRT" CopyFolderStructure $drtArtifactsLocation $drtPayloadLocation # Copy scripts Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir -Copy-Item "eng\helix\runtests.ps1" $payloadDir \ No newline at end of file +Copy-Item "eng\helix\runtests.ps1" $payloadDir +Copy-Item "eng\helix\runtests.cmd" $payloadDir diff --git a/eng/helix/runtests.cmd b/eng/helix/runtests.cmd new file mode 100644 index 00000000000..c7b6190b9f2 --- /dev/null +++ b/eng/helix/runtests.cmd @@ -0,0 +1,3 @@ +@echo off + +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0runtests.ps1""" %*" \ No newline at end of file diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 index c902dfd14e9..55d4395441a 100644 --- a/eng/helix/runtests.ps1 +++ b/eng/helix/runtests.ps1 @@ -1,6 +1,6 @@ [CmdLetBinding()] Param( - [string]$area + [string]$command ) # Configure the machine before running tests @@ -10,7 +10,7 @@ Param( $testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" if (Test-Path "$testLocation\rundrts.cmd") { - Invoke-Expression "$testLocation\rundrts.cmd /Area=$area" + Invoke-Expression "$testLocation\rundrts.cmd $command" } # We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. @@ -20,5 +20,7 @@ if (Test-Path "$testLocation\rundrts.cmd") # Need to copy the xUnit log to a known location that helix can understand if (Test-Path "$env:AppData\QualityVault\Run\Report\testResults.xml") { - Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" ".\testResults.xml" + $resultLocation = $PSScriptRoot + Write-Output "Copying test results to $resultLocation" + Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" $resultLocation } \ No newline at end of file diff --git a/eng/pipeline.yml b/eng/pipeline.yml index e2f05cb5eda..7ea3b6cdacc 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -18,7 +18,7 @@ jobs: parameters: enableMicrobuild: true enablePublishBuildArtifacts: true - enablePublishTestResults: true + enablePublishTestResults: false # tests run in helix enablePublishBuildAssets: true enablePublishUsingPipelines: $(_PublishUsingPipelines) enableTelemetry: true diff --git a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj index ed8277f8958..9a963ba3405 100644 --- a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj +++ b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj @@ -14,7 +14,7 @@ DRT\%(Filename)%(Extension) Always - + From d1aa7dd5c0cf1488465f39141b3c696a720442dd Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Wed, 29 May 2019 11:11:57 -0700 Subject: [PATCH 57/72] updating dependencies --- eng/Version.Details.xml | 4 ++-- eng/helix/helixpublish.proj | 4 ++-- eng/pipeline.yml | 4 ---- eng/pre-build.ps1 | 7 ------- global.json | 2 +- .../DrtXaml.PartialTrustTests.csproj | 19 ------------------- 6 files changed, 5 insertions(+), 35 deletions(-) delete mode 100644 eng/pre-build.ps1 delete mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ad1eac1f472..a6d00a56925 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -95,9 +95,9 @@ https://github.com/dotnet/coreclr 10df20ed3ff0208b3f16f79d5062662a8827f579 - + https://github.com/dotnet/arcade - 851e36df83d3361e4bd8a70a2a8a89f762469f9a + 11f90a2a260422201895de58e57170131ab4efe7 diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 9d4a8cdc9d1..59d6c21b45a 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -10,9 +10,9 @@ true - sdk + runtime - $(DotNetCliVersion) + $(MicrosoftNetCoreAppVersion) win-x86 win-x64 diff --git a/eng/pipeline.yml b/eng/pipeline.yml index 7ea3b6cdacc..286a1b2020d 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -120,10 +120,6 @@ jobs: - checkout: self clean: true - # Set VSO Variable(s) - - powershell: eng\pre-build.ps1 - displayName: Pre-Build - Set VSO Variables - # Use utility script to run script command dependent on agent OS. - script: eng\common\cibuild.cmd -configuration $(_BuildConfig) diff --git a/eng/pre-build.ps1 b/eng/pre-build.ps1 deleted file mode 100644 index baad60ccbd9..00000000000 --- a/eng/pre-build.ps1 +++ /dev/null @@ -1,7 +0,0 @@ -# Open global.json -$globaljsonpath = Join-Path $env:BUILD_SOURCESDIRECTORY 'global.json' -$jsondata = Get-Content -Raw -Path $globaljsonpath | ConvertFrom-Json - -# Set DotNetCliVersion to global.json.tools.dotnet -$dotnetcliver = $jsondata.tools.dotnet -Write-Host "##vso[task.setvariable variable=DotNetCliVersion;]$dotnetcliver" \ No newline at end of file diff --git a/global.json b/global.json index 1e111d5600a..9f7136d509e 100644 --- a/global.json +++ b/global.json @@ -13,7 +13,7 @@ }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19305.13", - "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19222.2" + "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19278.1" }, "native-tools": { "strawberry-perl": "5.28.1.1-1" diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj deleted file mode 100644 index 05472880300..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/PartialTrustTests/DrtXaml.PartialTrustTests.csproj +++ /dev/null @@ -1,19 +0,0 @@ - - - DrtXaml.PartialTrustTests - Library - $(DefineConstants);OLDRESOURCES - true - false - - - - - - - - - - - - \ No newline at end of file From 42d12804ea9317aedbce5260f1285f7bc6bac584 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Wed, 29 May 2019 14:02:28 -0700 Subject: [PATCH 58/72] adding all helix queues --- eng/helix/helixpublish.proj | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 59d6c21b45a..3bf2ce66467 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -24,10 +24,7 @@ $(HelixPreCommands); - - - Windows.10.Amd64.Open - + Windows.10.Amd64.Open;Windows.7.Amd64.Open;Windows.10.Amd64.ServerRS5.Open From 4b5da99fffc80544173042befd9275189b861937 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Thu, 30 May 2019 11:12:37 -0700 Subject: [PATCH 59/72] running tests with build -test this creates the payload as part of msbuild --- eng/AfterSolutionBuild.targets | 3 + eng/WpfArcadeSdk/Sdk/Sdk.targets | 1 + .../tools/CreateTestPayload.targets | 39 ++ eng/WpfArcadeSdk/tools/RunDrtsLocal.targets | 5 + .../tools/configure-helix-machine.ps1 | 30 + eng/WpfArcadeSdk/tools/runtests.cmd | 3 + eng/WpfArcadeSdk/tools/runtests.ps1 | 29 + eng/helix/helixpublish.proj | 52 +- eng/pipeline.yml | 23 - ...t.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj | 2 + .../test/BranchCommon/data/DrtList.xml | 548 ------------------ 11 files changed, 139 insertions(+), 596 deletions(-) create mode 100644 eng/AfterSolutionBuild.targets create mode 100644 eng/WpfArcadeSdk/tools/CreateTestPayload.targets create mode 100644 eng/WpfArcadeSdk/tools/RunDrtsLocal.targets create mode 100644 eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 create mode 100644 eng/WpfArcadeSdk/tools/runtests.cmd create mode 100644 eng/WpfArcadeSdk/tools/runtests.ps1 diff --git a/eng/AfterSolutionBuild.targets b/eng/AfterSolutionBuild.targets new file mode 100644 index 00000000000..3b6300aec90 --- /dev/null +++ b/eng/AfterSolutionBuild.targets @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/eng/WpfArcadeSdk/Sdk/Sdk.targets b/eng/WpfArcadeSdk/Sdk/Sdk.targets index 88a2a498f5d..d035888e2ac 100644 --- a/eng/WpfArcadeSdk/Sdk/Sdk.targets +++ b/eng/WpfArcadeSdk/Sdk/Sdk.targets @@ -22,6 +22,7 @@ + diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets new file mode 100644 index 00000000000..b53e478dad4 --- /dev/null +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -0,0 +1,39 @@ + + + + + win-$(Platform) + win-x86 + + $(NoWarn);NU3027;NU3018 + + + + + + + + $(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ + + + + $(Pkgruntime_win-x64_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ + + + + + + + + + + + + + + + + + diff --git a/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets new file mode 100644 index 00000000000..376c35bb846 --- /dev/null +++ b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 new file mode 100644 index 00000000000..4f20fb2866a --- /dev/null +++ b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 @@ -0,0 +1,30 @@ +# This file prepares the helix machine for our tests runs +$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" + +# Set DOTNET_ROOT variables so the host can find it +Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation +Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation + +$runtimes = dotnet --list-runtimes +foreach ($rt in $runtimes) +{ + if ($rt.StartsWith("Microsoft.WindowsDesktop.App")) + { + $version = $rt.Split(" ")[1] + } +} + +# Rewrite the *.runtimeconfig.json files to match the version of the runtime on the machine +$infraLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test\Infra" +$stiConfigFile = Join-Path $infraLocation "Sti.runtimeconfig.json" +$qvConfigFile = Join-Path $infraLocation "QualityVaultFrontEnd.runtimeconfig.json" +$configFiles = $stiConfigFile, $qvConfigFile +foreach ($config in $configFiles) +{ + # Read current config file + $jsondata = Get-Content -Raw -Path $config | ConvertFrom-Json + # Update version + $jsondata.runtimeOptions.framework.version = $version + # Write data back + $jsondata | ConvertTo-Json -depth 100 | Set-Content $config +} \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/runtests.cmd b/eng/WpfArcadeSdk/tools/runtests.cmd new file mode 100644 index 00000000000..c7b6190b9f2 --- /dev/null +++ b/eng/WpfArcadeSdk/tools/runtests.cmd @@ -0,0 +1,3 @@ +@echo off + +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0runtests.ps1""" %*" \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/runtests.ps1 b/eng/WpfArcadeSdk/tools/runtests.ps1 new file mode 100644 index 00000000000..b3cda8665db --- /dev/null +++ b/eng/WpfArcadeSdk/tools/runtests.ps1 @@ -0,0 +1,29 @@ +[CmdLetBinding()] +Param( + [string]$command +) + +# Configure the machine before running tests +if (Test-Path "$PSScriptRoot\configure-helix-machine.ps1") +{ + . "$PSScriptRoot\configure-helix-machine.ps1" +} + +# Run the tests +$testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" +if (Test-Path "$testLocation\rundrts.cmd") +{ + Invoke-Expression "$testLocation\rundrts.cmd $command" +} + +# We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. +# For example: $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg +# Then, links to these artifacts can then be included in the xUnit logs. + +# Need to copy the xUnit log to a known location that helix can understand +if (Test-Path "$env:AppData\QualityVault\Run\Report\testResults.xml") +{ + $resultLocation = $PSScriptRoot + Write-Output "Copying test results to $resultLocation" + Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" $resultLocation +} \ No newline at end of file diff --git a/eng/helix/helixpublish.proj b/eng/helix/helixpublish.proj index 3bf2ce66467..6869d5b7bbc 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helix/helixpublish.proj @@ -28,100 +28,102 @@ - - + 00:20:00 call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=Xaml - diff --git a/eng/pipeline.yml b/eng/pipeline.yml index 286a1b2020d..a7cfb192b5f 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -130,29 +130,6 @@ jobs: $(_PlatformArgs) displayName: Windows Build / Publish - - powershell: eng\common\build.ps1 - -restore - -configuration $(_BuildConfig) - $(_OfficialBuildIdArgs) - $(_PlatformArgs) - -projects $(Build.SourcesDirectory)\eng\helix\helixpublish.proj - displayName: Restoring Nuget Dependencies for Helix - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - HelixSource: $(_HelixSource) - HelixType: 'tests/drt' - HelixBuild: $(Build.BuildNumber) - HelixTargetQueues: $(_TestHelixAgentPool) - HelixAccessToken: $(_HelixToken) # only defined for internal CI - Creator: $(_HelixCreator) - condition: and(succeeded(), eq(variables['_BuildConfig'], 'Release')) # on helix machine (with real signing) - - # Prepare the helix payload - - powershell: eng\helix\prepare-helix-payload.ps1 - -configuration $(_BuildConfig) -platform $(_Platform) - displayName: Preparing Helix Payload - condition: and(succeeded(), eq(variables['_BuildConfig'], 'Release')) # on helix machine (with real signing) - # Run DRTs - powershell: eng\common\cibuild.cmd -configuration $(_BuildConfig) diff --git a/packaging/Microsoft.DotNet.Arcade.Wpf.Sdk/Microsoft.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj b/packaging/Microsoft.DotNet.Arcade.Wpf.Sdk/Microsoft.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj index cce7486b2a3..9a6c924a2f5 100644 --- a/packaging/Microsoft.DotNet.Arcade.Wpf.Sdk/Microsoft.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj +++ b/packaging/Microsoft.DotNet.Arcade.Wpf.Sdk/Microsoft.DotNet.Arcade.Wpf.Sdk.ArchNeutral.csproj @@ -3,6 +3,8 @@ {B73BB4AB-68DE-4B91-BBB0-AB4F2D504AC3} netcoreapp3.0 AnyCPU;x64 + + NU5111 diff --git a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml index e28c5f4a76b..a3178d03618 100644 --- a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml +++ b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/DrtList.xml @@ -26,514 +26,6 @@ Rundrtlist - DRT is offline --> - - - - newloadersuitehelperproject.exe - newloadersuitehelperproject1\newloadersuitehelperproject.exe - DrtFiles\loader_tulip.jpg - DrtFiles\PageA.xaml - - - - - - DrtFiles\DocumentViewerSuite\Commanding - DrtFiles\DocumentViewerSuite\Stress - DrtFiles\DocumentViewerSuite\Styling - - - - - DrtDigitalSignature.exe - DrtFiles\digitalsignature - DelCertNoUI.exe - MakeCert.exe - - - - - - - DrtEditing.* - DrtFiles\Editing\CustomDict2.lex - DrtFiles\Editing\cut.png - DrtFiles\Editing\rtfsimple.rtf - DrtFiles\Editing\rtfsimple_expect.rtf.xaml - DrtFiles\Editing\rtfsimple_expect.rtf.xaml.rtf - - - - - DrtFiles\PropertyEngine\TestInheritanceContext.xaml - DrtFiles\PropertyEngine\TestValueSource.xaml - DrtFiles\PropertyEngine\TestVisualTransforms.xaml - - - - - DrtWindowSecure.cmd - - - - - --> - - - - DrtFiles\Icon - - - - - DrtWindowMinMaxContentSizeSecure.cmd - - - - - DrtFiles\Text - - - - - DrtApplicationEvents.exe - - - - - - - - - - - - DrtFiles\DRXSerialization\DocumentViewerDefault.xaml - DrtFiles\DRXSerialization\DocumentViewerDefaultInput.xaml - DrtFiles\DRXSerialization\DocumentViewerNonDefault.xaml - DrtFiles\DRXSerialization\DocumentViewerNonDefaultInput.xaml - - - - - DrtFiles\DrtAnimation\DRTEasing.xaml - DrtFiles\DrtAnimation\DRTMarkupAnimation.xaml - DrtFiles\DrtAnimation\angels.jpg - DrtAnimationRDP.cmd - - - - - - DrtFiles\DrtBasic3D\ambient.png - DrtFiles\DrtBasic3D\combined.png - DrtFiles\DrtBasic3D\diffuse.png - DrtFiles\DrtBasic3D\emissive.png - DrtFiles\DrtBasic3D\specular.png - DrtFiles\DrtBasic3D\msnbackground.bmp - - - - - - DrtFiles\DrtMil2D\cut.png - DrtFiles\DrtMil2D\tulip.jpg - DrtFiles\DrtMil2D\tulip48dpi.jpg - DrtFiles\DrtMil2D\tulip96x192dpi.png - DrtFiles\DrtMil2D\tile_checkered.PNG - DrtFiles\DrtMil2D\tiny_checkered.PNG - - - - - DrtFiles\Input\DrtInput.xml - - - - - - - DrtFiles\Controls - DrtThemeDictionaryExtension.* - DrtThirdPartyThemes.dll - DrtThirdPartyThemes.pdb - ListView2App.* - - - - - - DrtImagingD3D.dll - DrtFiles\DrtImaging - - - - - - - DrtFiles\NavigationApplication\NavAppBar.xaml - DrtFiles\NavigationApplication\NavAppFoo.xaml - - - - - DrtFiles\NavigationEvents - - - - - DrtFiles\NavigationWindow\NavWindowBar.xaml - DrtFiles\NavigationWindow\NavWindowFoo.xaml - DrtFiles\NavigationWindow\NavWindowBar2.xaml - DrtFiles\NavigationWindow\NavWindowFoo2.xaml - 6 - - - - DrtFiles\navmemperf - - - - - DrtFiles\ReparentNavigator\ReparentFrame.xaml - DrtFiles\ReparentNavigator\ReparentPage1.xaml - DrtFiles\ReparentNavigator\ReparentPage2.xaml - DrtFiles\ReparentNavigator\ReparentPage3.xaml - DrtFiles\ReparentNavigator\ReparentStart.xaml - DrtReparentNavigatorSecure.cmd - - - - - - - - DrtFiles\JournalMode\DrtJournalModeDefault.xaml - DrtJournalModeSecure.cmd - - - - - DrtFiles\XamlContainer\NavByElement.xaml - DrtFiles\XamlContainer\NavByUri.xaml - DrtFiles\XamlContainer\SetContent.xaml - DrtFiles\XamlContainer\SetUri.xaml - DrtFiles\XamlContainer\DrtXamlContainer.Permissions - DrtXamlContainerSecure.cmd - - - - - DrtFiles\NavigationToObject\FlowDocument.xaml - - - - - - - - DrtFiles\FlowLayout - - - - - DrtFiles\AvaCop - DrtFiles\DocumentViewerSuite\Commanding - - - - - DrtFiles\DataSrv - - - - - en-us\DrtDataSrvMSB.* - DrtFiles\DataSrvMSB\Content.JPG - - - - - DrtFiles\Layout - - - - - DrtFiles\TextFind - - - - - DrtFiles\DrtInputMethod - - - - - DRTTextComposition.exe - - - - - - - DrtFiles\MarkupSerializer - - - - - DrtFiles\Events\DRTEvents_1.xaml - - - - - DrtFiles\Commanding - - - - - DrtFiles\Localization - DrtFiles\Baml - - - - - - DrtFiles\DRTStoryboards\DRTStoryboards.xaml - DrtFiles\DRTStoryboards\ding.wav - - - - - DrtFiles\Ink - - - - - DrtFiles\DrtColorAPI - - - - - - - - - DrtFiles\InkCanvas - RunInkCanvasSpeedTests.cmd - RunInkCanvasAllocationTests.cmd - - - - - FixedDocViewer.dll - DrtFiles\Payloads - - - - - DrtFiles\Layout - DrtFiles\Payloads - - - - - DrtFiles\FixedEdit - DrtFiles\Payloads - - - - - DrtFiles\Payloads - - - - - DrtNGCTest.exe - DrtFiles\Payloads - DrtFiles\NGCTest\constitution.xaml - DrtAddDocStructure.exe - DrtFixedTest.exe - - - - - - - - - - DrtFiles\compressionXform - - - - - - DrtFiles\EncryptedPackageCoreProperties - - - - - - - - BuildContainer.exe - IndexingFilterTool.exe - CompareChunkLists.exe - EncryptedPackageBuilder.exe - DrtFiles\Indexing - - - - - - - - - - DrtFiles\FlowLayoutExt - - - - - DrtFiles\Selection - - - - - DrtFiles\Flow - - - - - - DrtFiles\DrtMedia\DrtMedia.xaml - - - - - - WarmupOpt.exe - DrtFiles\WarmupOpt - - - - - MSNBamlOpt* - en-us\MSNBamlOpt.resources.dll - - - - - - DrtFiles\HBROpt - - XamlTestClasses.dll @@ -543,44 +35,4 @@ Rundrtlist XamlTestClasses.FriendWithoutKey.dll - - - DrtXpsApi.exe - DrtFiles\XpsApi - DelCertNoUI.exe - MakeCert.exe - - - - - DrtFiles\VisualSerialization\testCMYK1.icc - DrtFiles\drtimaging\avalon.png - DrtFiles\drtimaging\tulip.jpg - - - - - - - DrtFiles\XamlSourceInfoTest.Debug.dll - DrtFiles\XamlSourceInfoTest.Release.dll - - - - - DrtFiles\Printing - - - - - From 77673c1a4132629daec2c2532ca33cd502bc8cf1 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 31 May 2019 11:23:33 -0700 Subject: [PATCH 60/72] fixing DrtXaml This is very close, we are just missing native wpf assemblies from being added to the deps.json --- .../tools/CreateTestPayload.targets | 6 +- eng/WpfArcadeSdk/tools/DRT.Build.props | 7 - .../tools/GenerateProgramFileForTests.targets | 2 +- eng/WpfArcadeSdk/tools/Publish.props | 12 - .../tools/PublishAfterBuild.targets | 7 - eng/WpfArcadeSdk/tools/SourceLocations.props | 1072 ----------------- eng/WpfArcadeSdk/tools/StrongName.props | 17 - eng/WpfArcadeSdk/tools/StrongName.targets | 12 - eng/WpfArcadeSdk/tools/TestProjects.targets | 26 +- eng/helix/configure-helix-machine.ps1 | 30 - eng/helix/prepare-helix-payload.ps1 | 49 - eng/helix/runtests.cmd | 3 - eng/helix/runtests.ps1 | 26 - eng/{helix => }/helixpublish.proj | 10 +- eng/pipeline.yml | 4 +- .../test/BranchCommon/data/CommonData.csproj | 20 - .../BranchCommon/data/Directory.Build.props | 3 - .../test/Common/DRT/TestServices/DrtBase.cs | 34 +- .../DRT/TestServices/TestServices.csproj | 14 +- .../BamlAvoidXmlTest/BamlAvoidXmlTest.csproj | 30 - .../BamlTestClasses40.csproj | 2 - .../test/DRT/DrtXaml/Directory.Build.props | 1 - .../test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj | 10 +- .../test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs | 8 +- .../DRT/DrtXaml/DrtXaml/Tests/SchemaTests.cs | 2 - .../DrtXaml/XamlTestFrameWork/Assert.cs | 246 ++-- .../XamlTestClasses.FriendWithKey.csproj | 11 - .../XamlTestClasses.FriendWithoutKey.csproj | 12 - .../XamlTestClasses.FriendWithKey.csproj | 1 + .../XamlTestClasses.FriendWithoutKey.csproj | 1 + .../XamlTestClasses/XamlTestClasses.csproj | 1 - .../test/Directory.Build.props | 59 +- .../test/Directory.Build.targets | 3 +- 33 files changed, 223 insertions(+), 1518 deletions(-) delete mode 100644 eng/WpfArcadeSdk/tools/DRT.Build.props delete mode 100644 eng/WpfArcadeSdk/tools/Publish.props delete mode 100644 eng/WpfArcadeSdk/tools/SourceLocations.props delete mode 100644 eng/WpfArcadeSdk/tools/StrongName.props delete mode 100644 eng/WpfArcadeSdk/tools/StrongName.targets delete mode 100644 eng/helix/configure-helix-machine.ps1 delete mode 100644 eng/helix/prepare-helix-payload.ps1 delete mode 100644 eng/helix/runtests.cmd delete mode 100644 eng/helix/runtests.ps1 rename eng/{helix => }/helixpublish.proj (91%) delete mode 100644 src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj delete mode 100644 src/Microsoft.DotNet.Wpf/test/BranchCommon/data/Directory.Build.props delete mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj delete mode 100644 src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index b53e478dad4..c7872ca0772 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -1,5 +1,4 @@ - win-$(Platform) @@ -32,7 +31,10 @@ DestinationFiles="@(MicrosoftDotNetWpfTestContents->'$(WpfTestBasePublishPath)\%(RecursiveDir)%(Filename)%(Extension)')" /> + DestinationFolder="$(PublishRoot)" /> + + diff --git a/eng/WpfArcadeSdk/tools/DRT.Build.props b/eng/WpfArcadeSdk/tools/DRT.Build.props deleted file mode 100644 index 047ab6efe2d..00000000000 --- a/eng/WpfArcadeSdk/tools/DRT.Build.props +++ /dev/null @@ -1,7 +0,0 @@ - - - $(WpfDrtTestBasePublishPath) - true - true - - \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/GenerateProgramFileForTests.targets b/eng/WpfArcadeSdk/tools/GenerateProgramFileForTests.targets index 1ff69760a46..7542aab1a7a 100644 --- a/eng/WpfArcadeSdk/tools/GenerateProgramFileForTests.targets +++ b/eng/WpfArcadeSdk/tools/GenerateProgramFileForTests.targets @@ -1,6 +1,6 @@ true diff --git a/eng/WpfArcadeSdk/tools/Publish.props b/eng/WpfArcadeSdk/tools/Publish.props deleted file mode 100644 index 767506adb52..00000000000 --- a/eng/WpfArcadeSdk/tools/Publish.props +++ /dev/null @@ -1,12 +0,0 @@ - - - <_IsPortable >true - false - win-x86 - win-x64 - $(PublishRoot)$(Configuration)\$(PlatformFolder) - $(PublishDir)\Test - $(WpfTestBasePublishPath)\FeatureTests - $(WpfTestBasePublishPath)\DRT - - \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets b/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets index 6e84793f7a0..42f92318850 100644 --- a/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets +++ b/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets @@ -8,11 +8,4 @@ - - diff --git a/eng/WpfArcadeSdk/tools/SourceLocations.props b/eng/WpfArcadeSdk/tools/SourceLocations.props deleted file mode 100644 index 8b669d5ffd5..00000000000 --- a/eng/WpfArcadeSdk/tools/SourceLocations.props +++ /dev/null @@ -1,1072 +0,0 @@ - - - - $(WpfTestBasePath)\Common\Code\Microsoft\Test - $(WpfTestBasePath)\Common\Code\Critical\Microsoft\Test - $(WpfTestBasePath)\Common\Data - - - - - Test\Deployment\ClickOnceHelper.cs - - - - - Test\Container\StorageRootWrapper.cs - - - - - Test\Globalization\Exceptions.cs - - - - - Test\MSBuildEngine\Compiler.cs - Test\MSBuildEngine\ErrorCodes.cs - Test\MSBuildEngine\ErrorWarningParser.cs - Test\MSBuildEngine\IMSBuildLogger.cs - Test\MSBuildEngine\MSBuildCommonHelper.cs - Test\MSBuildEngine\MSBuildLogger.cs - Test\MSBuildEngine\MSBuildPerf.cs - Test\MSBuildEngine\MSBuildPerfLogger.cs - Test\MSBuildEngine\MSBuildProjExecutor.cs - Test\MSBuildEngine\CompilerHelper.cs - - - - - Test\Globalization\AutoDataEnums.cs - Test\Globalization\extract.cs - Test\Globalization\generate.cs - Test\Globalization\LangPackHelper.cs - - - - - Test\EventTracing\ClrTraceEventParser.cs - Test\EventTracing\DynamicTraceEventParser.cs - Test\EventTracing\ETWTraceEventSource.cs - Test\EventTracing\KernelTraceEventParser.cs - Test\EventTracing\Manifest.cs - Test\EventTracing\SymbolEventParser.cs - Test\EventTracing\SymbolResolver.cs - Test\EventTracing\TraceEvent.cs - Test\TraceEventNativeMethods.cs - Test\EventTracing\TraceEventSession.cs - Test\EventTracing\TraceLog.cs - Test\EventTracing\Utility.cs - Test\EventTracing\WPFTraceEventParser.cs - - Test\EventTracing\Utilities\CompressedStream.cs - Test\EventTracing\Utilities\FastSerialization.cs - Test\EventTracing\Utilities\GrowableArray.cs - Test\EventTracing\Utilities\StreamReaderWriter.cs - Test\EventTracing\Utilities\StreamUtilities.cs - Test\EventTracing\Utilities\XmlUtilities.cs - - - - - - ChineseSimplified.txt - Resources\Globalization\ChineseSimplified.txt - - - ChineseTraditional.txt - Resources\Globalization\ChineseTraditional.txt - - - Japanese.txt - Resources\Globalization\Japanese.txt - - - Korean.txt - Resources\Globalization\Korean.txt - - - ProblemDate.xml - Resources\Globalization\ProblemDate.xml - - - ProblemString.xml - Resources\Globalization\ProblemString.xml - - - - - - Test\Markup\ModifyXaml.cs - Test\Markup\WPFLibraryGenerator.cs - Test\Markup\WPFTreeGenerator.cs - Test\Markup\WPFXamlGenerator.cs - Test\Markup\XamlGenerator.cs - Test\Markup\XmlGenerator.cs - Test\Markup\XamlComparer.cs - Test\Markup\XamlTestDocument.cs - - - - - Test\WindowsForms\Application.cs - Test\WindowsForms\WindowsFormsSource.cs - - - - - Test\Loaders\ApplicationDeploymentHelper.cs - Test\Loaders\ApplicationMonitorTest.cs - Test\Loaders\ApplicationMonitor.cs - Test\Loaders\ApplicationMonitorConfig.cs - Test\Loaders\FileHost.cs - Test\Loaders\IXamlLauncher.cs - Test\Loaders\LoaderStep.cs - Test\Loaders\ResourceHelper.cs - Test\Loaders\FireFoxAutomationHelper.cs - Test\Loaders\UIHandler.cs - Test\Loaders\Steps\ActivationStep.cs - Test\Loaders\Steps\FileHostStep.cs - Test\Loaders\Steps\HostingRuntimePolicyHelper.cs - Test\Loaders\Steps\LoggingSteps.cs - Test\Loaders\Steps\VersionHelper.cs - Test\Loaders\Steps\RegistryStep.cs - Test\Loaders\UIHandlers\DefaultHandlers.cs - Test\Loaders\Steps\Scripter.cs - Test\Loaders\Steps\String.cs - Test\Loaders\Steps\Win32.cs - Test\Loaders\Steps\Resources.cs - Test\Loaders\Steps\Registry.cs - Test\Loaders\Steps\Tests.cs - Test\Loaders\Steps\Diagnostics.cs - Test\Loaders\Steps\IO.cs - Test\Loaders\Steps\UI.cs - Test\Loaders\Steps\XML.cs - Test\Loaders\Steps\Input.cs - - Test\Loaders\Steps\Reflection.cs - Test\Loaders\Steps\Avalon.cs - Test\Loaders\Steps\Collections.cs - Test\Loaders\Steps\Environment.cs - Test\Loaders\Steps\ScripterStep.cs - Test\Loaders\UIHandlers\CustomUIHandler.cs - Test\Loaders\Steps\ConfigFileStep.cs - - Test\Loaders\IENavigationHelper.cs - Test\Loaders\Steps\MachineInfoStepDisabler.cs - - - - - - - NamedRegistrations.xml - Resources\Loaders\NamedRegistrations.xml - - - ErrorCodes.xml - Resources\Loaders\ErrorCodes.xml - - - - - - Test\Threading\DispatcherHelper.cs - Test\Threading\DispatcherQueueWrapper.cs - Test\Threading\DispatcherTimerHelper.cs - Test\Threading\DispatcherPriorityHelper.cs - Test\Threading\DispatcherSignalHelper.cs - - - - - Test\Security\Secure.cs - - - - - Test\Security\Wrappers\TestAPISw.cs - Test\Security\Wrappers\AvalonWrappers.cs - Test\Security\Wrappers\WrapperClasses.cs - - Test\Security\Wrappers\WrapperClasses40.cs - - - - - Test\Display\DisplayConfiguration.cs - Test\Display\DisplaySettings.cs - Test\Display\DisplaySettingsInfo.cs - Test\Display\DwmApi.cs - Test\Display\Monitor.cs - - - - - Test\Display\Desktop.cs - - - - - - Test\Leak\LeakTest.cs - - - - - Test\TestTypes\AvalonModel.cs - Test\TestTypes\AvalonTest.cs - Test\TestTypes\ETWVerificationTest.cs - Test\TestTypes\StepsTest.cs - Test\TestTypes\WindowModel.cs - Test\TestTypes\WindowTest.cs - Test\TestTypes\WindowUtil.cs - Test\TestTypes\XamlModel.cs - Test\TestTypes\XamlTest.cs - Test\TestTypes\XamlVisualVerificationTest.cs - - - - - Test\Drt\DrtRunner.cs - - - - - Test\Verification\IVerifier.cs - Test\Verification\IVerifyResult.cs - Test\Verification\VerifyResult.cs - - - - - Test\Input\InputHelper.cs - - - - - Test\Input\Input.cs - Test\Input\NativeMethods.cs - Test\Input\SafeNativeMethods.cs - Test\Input\UnsafeNativeMethods.cs - Test\Input\InputManagerWrapper.cs - Test\Input\KeyboardRecorder.cs - Test\Input\RawMouseActions.cs - Test\Input\InputReportEventArgsWrapper.cs - Test\Input\RawKeyboardActions.cs - Test\Input\RawMouseInputReportWrapper.cs - Test\Input\RawMouseState.cs - Test\Input\RawKeyboardInputReportWrapper.cs - Test\Input\InputReportWrapper.cs - Test\Input\KeyboardPlayer.cs - Test\Input\RawKeyboardState.cs - Test\Input\RawTextInputReportWrapper.cs - Test\Input\MultiMonitorHelper.cs - Test\Input\UserInput.cs - - - - - - Test\Hosting\UiaDistributedStepInfo.cs - Test\Hosting\UiaDistributedStepTarget.cs - Test\Hosting\UiaDistributedTestcase.cs - Test\Hosting\UiaDistributedTestCaseHost.cs - Test\Hosting\UiaSimpleTestCase.cs - Test\Hosting\UiaTestState.cs - - Test\Hosting\XamlBrowserHost.cs - - - - - Critical\Test\Serialization\ObjectSerializer.cs - Critical\Test\Serialization\DefaultObjectSerializer.cs - - - - - Critical\Test\Logging\TestResult.cs - Critical\Test\Logging\IHarnessLoggingContract.cs - - - - - - Test\Logging\TestLog.cs - Test\Logging\TestStage.cs - Test\Logging\GlobalLog.cs - - - - - Test\Diagnostics\SystemInformation.cs - Test\Diagnostics\ProcessorInformation.cs - Test\Diagnostics\SystemMetrics.cs - - - - - Test\Diagnostics\SystemInformation_Wpf.cs - - - - - Test\Diagnostics\SystemInformation_WindowsMediaPlayer.cs - - - - - Test\Diagnostics\ProcessMonitor.cs - - - - - Test\Diagnostics\ProcessHelper.cs - Test\Diagnostics\ProcessGroup.cs - Test\Diagnostics\ManifestHelper.cs - - - - - - - - - - Test\Diagnostics\CdbSession.cs - - - - - Test\Configuration\MachineStateManager.cs - - - - - Test\StateManagement\StateManager.cs - Test\StateManagement\State.cs - Test\StateManagement\RegistryState.cs - Test\StateManagement\UserSessionState.cs - Test\StateManagement\SystemInformationState.cs - Test\StateManagement\MonitorState.cs - Test\StateManagement\DisplayThemeState.cs - Test\StateManagement\BrowserState.cs - Test\StateManagement\FirewallExceptionState.cs - Test\StateManagement\ComServerState.cs - - - - - Test\Diagnostics\IExecutionService.cs - Test\Diagnostics\ExecutionServiceClient.cs - Test\Diagnostics\ExecutionServiceClientConnection.cs - Test\Diagnostics\FirefoxHelper.cs - Test\Diagnostics\FirewallHelper.cs - Test\Diagnostics\RegistrationHelper.cs - Test\Diagnostics\UserSessionHelper.cs - Test\Diagnostics\UserInfo.cs - Test\Diagnostics\WttHelper.cs - Test\Diagnostics\ImpersonateUserHelper.cs - Critical\Test\Deployment\RuntimeDeploymentHelper.cs - - - - - Test\Diagnostics\ExecutionServiceProxyClient.cs - Test\Diagnostics\ExecutionServiceProxy.cs - - - - - Test\Win32\NativeStructs.cs - Test\Win32\NativeConstants.cs - Test\Win32\Gdi32.cs - Test\Win32\User32.cs - Test\Win32\Kernel32.cs - Test\Win32\WindowEnumerator.cs - Test\Win32\Ntdll.cs - - - - - Test\Win32\HwndSubClass.cs - Test\Win32\HwndWrapper.cs - Test\Win32\ManagedWndProcTracker.cs - Test\Win32\NativeMethods.cs - Test\Win32\WeakReferenceList.cs - Test\Win32\WeakReferenceListEnumerator.cs - Test\Win32\AcceleratorTable.cs - - - - - - Test\Modeling\AsyncActionManager.cs - Test\Modeling\Model.cs - Test\Modeling\ModelingBaseObject.cs - Test\Modeling\TestLoader.cs - Test\Modeling\XamlTransformer.cs - Test\Modeling\XtcParser.cs - Test\Modeling\XtcTestCaseLoader.cs - - - - - Test\Windows\ActionForTypeHelper.cs - Test\Windows\TreeComparer.cs - - - - - - PropertiesToSkip.xml - Resources\Windows\PropertiesToSkip.xml - - - - - - Test\EventHelper.cs - Test\ExceptionHelper.cs - Test\TestException.cs - Test\TestSetupException.cs - Test\TestValidationException.cs - - - - - Test\Serialization\BamlHelper.cs - Test\Serialization\BamlReaderWrapper.cs - Test\Serialization\BamlWriterWrapper.cs - Test\Serialization\IOHelper.cs - Test\Serialization\SerializationHelper.cs - Test\Serialization\WrapperUtil.cs - Test\Serialization\XamlRoundTrip.cs - - - - - Test\Serialization\CustomElements\CustomBorder.cs - Test\Serialization\CustomElements\CustomButton.cs - Test\Serialization\CustomElements\CustomCanvas.cs - Test\Serialization\CustomElements\CustomDockPanel.cs - Test\Serialization\CustomElements\CustomElementHelper.cs - Test\Serialization\CustomElements\CustomPage.cs - Test\Serialization\CustomElements\CustomStackPanel.cs - Test\Serialization\CustomElements\CustomTextPanel.cs - Test\Serialization\CustomElements\CustomWindow.cs - Test\Serialization\CustomElements\ICustomElement.cs - - - - - Test\Integration\ActionForXamlInfo.cs - Test\Integration\FileVariationGenerator.cs - Test\Integration\FileVariationItem.cs - Test\Integration\BaseTestContract.cs - Test\Integration\BaseVariationGenerator.cs - Test\Integration\CallbackVariationGenerator.cs - Test\Integration\CallbackVariationItem.cs - Test\Integration\CollectionsXamlHelper.cs - Test\Integration\CombinationGenerator.cs - Test\Integration\GeneratorReference.cs - Test\Integration\Helper.cs - Test\Integration\ITestContract.cs - Test\Integration\IVariationGenerator.cs - Test\Integration\MDEVariationGenerator.cs - Test\Integration\MDEVariationItem.cs - Test\Integration\NotificationList.cs - Test\Integration\StorageItem.cs - Test\Integration\TestExtenderGraph.cs - Test\Integration\TestExtenderOutput.cs - Test\Integration\VariationItem.cs - Test\Integration\VariationItemGroup.cs - Test\Integration\CommonStorage.cs - Test\Integration\SelectorGenerator.cs - Test\Integration\ContentItem.cs - Test\Integration\AssemblyDesc.cs - Test\Integration\WPF3Helper.cs - Test\Integration\Windows\TypeVariationGenerator.cs - Test\Integration\Windows\TypeVariationItem.cs - Test\Integration\Windows\ContainerVariationGenerator.cs - Test\Integration\Windows\ContainerVariationItem.cs - Test\Integration\Windows\ActionSequenceVariationGenerator.cs - Test\Integration\Windows\ControllerProxy.cs - Test\Integration\Windows\Controller.cs - Test\Integration\Windows\ThreadController.cs - Test\Integration\Windows\ApplicationController.cs - Test\Integration\Windows\WinFormsController.cs - Test\Integration\TestExtenderHelper.cs - - - - - Test\PICT\ObjectArrays\AllPossibleObjectArrayCollection.cs - Test\PICT\ObjectArrays\AllPossibleObjectArrayEnumerator.cs - Test\PICT\ObjectArrays\AllPossibleObjectArrayGenerationStrategy.cs - Test\PICT\ObjectArrays\IObjectArrayCollection.cs - Test\PICT\ObjectArrays\IObjectArrayEnumerator.cs - Test\PICT\ObjectArrays\IObjectArrayGenerationStrategy.cs - Test\PICT\ObjectArrays\ObjectArrayGeneration.cs - Test\PICT\ObjectArrays\ObjectArrayGenerator.cs - Test\PICT\ObjectArrays\ObjectArrayPairwiseGeneration.cs - Test\PICT\ObjectArrays\PairwiseObjectArrayCollection.cs - Test\PICT\ObjectArrays\PairwiseObjectArrayEnumerator.cs - Test\PICT\ObjectArrays\PairwiseObjectArrayGenerationStrategy.cs - Test\PICT\IPairwiseComment.cs - Test\PICT\IPairwiseVisitable.cs - Test\PICT\PairwiseAliasCollection.cs - Test\PICT\PairwiseAndClause.cs - Test\PICT\PairwiseComparison.cs - Test\PICT\PairwiseComparisonTerm.cs - Test\PICT\PairwiseCondition.cs - Test\PICT\PairwiseConditionCollection.cs - Test\PICT\PairwiseEqualTerm.cs - Test\PICT\PairwiseException.cs - Test\PICT\PairwiseGreaterThanOrEqualTerm.cs - Test\PICT\PairwiseGreaterThanTerm.cs - Test\PICT\PairwiseIfThenConstraint.cs - Test\PICT\PairwiseIfThenConstraintCollection.cs - Test\PICT\PairwiseInTerm.cs - Test\PICT\PairwiseLessThanOrEqualTerm.cs - Test\PICT\PairwiseLessThanTerm.cs - Test\PICT\PairwiseLikeTerm.cs - Test\PICT\PairwiseLogicalClause.cs - Test\PICT\PairwiseLogicalRelationship.cs - Test\PICT\PairwiseModel.cs - Test\PICT\PairwiseNotClause.cs - Test\PICT\PairwiseNotEqualTerm.cs - Test\PICT\PairwiseNotInTerm.cs - Test\PICT\PairwiseOrClause.cs - Test\PICT\PairwiseParameter.cs - Test\PICT\PairwiseParameterCollection.cs - Test\PICT\PairwiseParameterConstraint.cs - Test\PICT\PairwiseParameterConstraintCollection.cs - Test\PICT\PairwisePICTCache.cs - Test\PICT\PairwiseSettings.cs - Test\PICT\PairwiseSubModel.cs - Test\PICT\PairwiseSubModelCollection.cs - Test\PICT\PairwiseTerm.cs - Test\PICT\PairwiseTuple.cs - Test\PICT\PairwiseValue.cs - Test\PICT\PairwiseValueCollection.cs - Test\PICT\PairwiseValueType.cs - Test\PICT\PairwiseVisitor.cs - Test\PICT\PICTConstants.cs - Test\PICT\PICTExecutionInformation.cs - Test\PICT\PICTPairwiseVisitor.cs - Test\PICT\PICTRunner.cs - Test\PICT\PICTWarningBehaviors.cs - Test\PICT\PICTWarningEventArgs.cs - Test\PICT\PICTWarningEventHandler.cs - Test\PICT\MatrixOutput\PairwiseTestCase.cs - Test\PICT\MatrixOutput\PairwiseTestMatrix.cs - Test\PICT\MatrixOutput\PairwiseTestParameter.cs - Test\PICT\MatrixOutput\PairwiseTestParameter.cs - - - - - Test\Imaging\BitmapCapture.cs - Test\Imaging\BitmapUtils.cs - Test\Imaging\ColorUtils.cs - Test\Imaging\ComparisonAlgorithm.cs - Test\Imaging\ComparisonCriteria.cs - Test\Imaging\ComparisonOperation.cs - Test\Imaging\ComparisonOperationUtils.cs - Test\Imaging\ComparisonResult.cs - Test\Imaging\ElementUtils.cs - Test\Imaging\PixelData.cs - - - - - Test\Animation\AnimationSideBySide.cs - Test\Animation\AnimationUtils.cs - Test\Animation\AnimationValidator.cs - Test\Animation\TimeManagerCommon.cs - - - - - Test\RenderingVerification\ColorByte.cs - Test\RenderingVerification\ColorDouble.cs - Test\RenderingVerification\Color_Avalon.cs - Test\RenderingVerification\Curve.cs - Test\RenderingVerification\CurveTolerance.cs - Test\RenderingVerification\DisplayConfiguration.cs - Test\RenderingVerification\DisplayConfigurationMinimal.cs - Test\RenderingVerification\Exceptions.cs - Test\RenderingVerification\ImageAdapter.cs - Test\RenderingVerification\ImageComparator.cs - Test\RenderingVerification\ImageUtility.cs - Test\RenderingVerification\ImageUtilityProxy.cs - Test\RenderingVerification\ImageUtility_Avalon.cs - Test\RenderingVerification\Interfaces.cs - Test\RenderingVerification\IPUtil.cs - Test\RenderingVerification\KeepGreaterKey.cs - Test\RenderingVerification\MetaDataInfo.cs - Test\RenderingVerification\MismatchingPoints.cs - Test\RenderingVerification\Package.cs - Test\RenderingVerification\Pixel.cs - Test\RenderingVerification\PInvoke.cs - Test\RenderingVerification\PropertyItemWrapper.cs - Test\RenderingVerification\RuntimeInfo.cs - Test\RenderingVerification\RenderRect.cs - Test\RenderingVerification\VideoCapture.cs - Test\RenderingVerification\XamlLauncherReflect.cs - Test\RenderingVerification\Filters\AffineFilter.cs - Test\RenderingVerification\Filters\AttractorFilter.cs - Test\RenderingVerification\Filters\BlurFilter.cs - Test\RenderingVerification\Filters\BrightnessContrastFilter.cs - Test\RenderingVerification\Filters\ChannelOperationFilter.cs - Test\RenderingVerification\Filters\ColorFilter.cs - Test\RenderingVerification\Filters\ColorSpaceConversion.cs - Test\RenderingVerification\Filters\ColorTransformFilter.cs - Test\RenderingVerification\Filters\ContrastFilter.cs - Test\RenderingVerification\Filters\ConvolutionFilter.cs - Test\RenderingVerification\Filters\EqualizeFilter.cs - Test\RenderingVerification\Filters\Filter.cs - Test\RenderingVerification\Filters\FilterParameter.cs - Test\RenderingVerification\Filters\FlipRotateFilter.cs - Test\RenderingVerification\Filters\GammaCorrectFilter.cs - Test\RenderingVerification\Filters\GaussianFilter.cs - Test\RenderingVerification\Filters\GlowFilter.cs - Test\RenderingVerification\Filters\GrayscaleFilter.cs - Test\RenderingVerification\Filters\IColorConverter.cs - Test\RenderingVerification\Filters\Image2DTransforms.cs - Test\RenderingVerification\Filters\Interpolator.cs - Test\RenderingVerification\Filters\LogicalOperationFilter.cs - Test\RenderingVerification\Filters\Matrix2D.cs - Test\RenderingVerification\Filters\Matrix2DConverter.cs - Test\RenderingVerification\Filters\MorphologicalFilter.cs - Test\RenderingVerification\Filters\MorphShapeFilter.cs - Test\RenderingVerification\Filters\NegateFilter.cs - Test\RenderingVerification\Filters\OpacityPointsFilter.cs - Test\RenderingVerification\Filters\OrderStatisticFilter.cs - Test\RenderingVerification\Filters\PixelizeFilter.cs - Test\RenderingVerification\Filters\ProcessXmlFilter.cs - Test\RenderingVerification\Filters\RenderingColorConverter.cs - Test\RenderingVerification\Filters\SaturateEdgeFilter.cs - Test\RenderingVerification\Filters\SchematizationFilter.cs - Test\RenderingVerification\Filters\SharpenFilter.cs - Test\RenderingVerification\Filters\SpatialTransformFilter.cs - Test\RenderingVerification\Filters\TintFilter.cs - Test\RenderingVerification\Filters\TintShadeFilter.cs - Test\RenderingVerification\Filters\VMorph.cs - Test\RenderingVerification\Filters\WaveletTransformFilter.cs - Test\RenderingVerification\Filters\WVMorph.cs - Test\RenderingVerification\Models\Analytical\CartesianMomentDescriptor.cs - Test\RenderingVerification\Models\Analytical\Criterion.cs - Test\RenderingVerification\Models\Analytical\DescriptorBase.cs - Test\RenderingVerification\Models\Analytical\DescriptorInfo.cs - Test\RenderingVerification\Models\Analytical\DescriptorManager.cs - Test\RenderingVerification\Models\Analytical\DescriptorSquareMatrix.cs - Test\RenderingVerification\Models\Analytical\ImageToShapeIDMapping.cs - Test\RenderingVerification\Models\Analytical\Interfaces.cs - Test\RenderingVerification\Models\Analytical\ModelManager2.cs - Test\RenderingVerification\Models\Analytical\MomentDescriptorBase.cs - Test\RenderingVerification\Models\Analytical\PolarMomentDescriptor.cs - Test\RenderingVerification\Models\Analytical\VScan.cs - Test\RenderingVerification\Models\Synthetical\AnimatedProperty.cs - Test\RenderingVerification\Models\Synthetical\Animator.cs - Test\RenderingVerification\Models\Synthetical\AvalonTypographer.cs - Test\RenderingVerification\Models\Synthetical\DeltaImageComparator.cs - Test\RenderingVerification\Models\Synthetical\GeometryFilter.cs - Test\RenderingVerification\Models\Synthetical\GlyphBase.cs - Test\RenderingVerification\Models\Synthetical\GlyphChar.cs - Test\RenderingVerification\Models\Synthetical\GlyphColorChooser.cs - Test\RenderingVerification\Models\Synthetical\GlyphComparator.cs - Test\RenderingVerification\Models\Synthetical\GlyphCompareInfo.cs - Test\RenderingVerification\Models\Synthetical\GlyphContainer.cs - Test\RenderingVerification\Models\Synthetical\GlyphFont.cs - Test\RenderingVerification\Models\Synthetical\GlyphImage.cs - Test\RenderingVerification\Models\Synthetical\GlyphLayout.cs - Test\RenderingVerification\Models\Synthetical\GlyphModel.cs - Test\RenderingVerification\Models\Synthetical\GlyphPanel.cs - Test\RenderingVerification\Models\Synthetical\GlyphResource.cs - Test\RenderingVerification\Models\Synthetical\GlyphShape.cs - Test\RenderingVerification\Models\Synthetical\GlyphText.cs - Test\RenderingVerification\Models\Synthetical\Interfaces.cs - Test\RenderingVerification\Models\Synthetical\LayoutContainer.cs - Test\RenderingVerification\Models\Synthetical\MatchingInfo.cs - Test\RenderingVerification\Models\Synthetical\MatchingInfoEditor.cs - Test\RenderingVerification\Models\Synthetical\StandardTypographer.cs - Test\RenderingVerification\Models\Synthetical\TypographBroker.cs - Test\RenderingVerification\Models\Synthetical\XenoSymbolBroker.cs - Test\RenderingVerification\Models\Synthetical\LayoutEngine\CanvasLayoutEngine.cs - Test\RenderingVerification\Models\Synthetical\LayoutEngine\FlowLayoutEngine.cs - Test\RenderingVerification\ResourceFetcher\EmbeddedResourceKey.cs - Test\RenderingVerification\ResourceFetcher\EmbeddedResourceProvider.cs - Test\RenderingVerification\ResourceFetcher\ResourceProvider.cs - Test\RenderingVerification\ResourceFetcher\Resourcestripper.cs - Test\RenderingVerification\UnmanagedProxies\UnmanagedInterfaces.cs - Test\RenderingVerification\AsyncData.cs - Test\RenderingVerification\AsyncHelper.cs - Test\RenderingVerification\ImageComparisonResult.cs - Test\RenderingVerification\ImageComparisonSettings.cs - Test\RenderingVerification\ImageMetadata.cs - Test\RenderingVerification\MasterDimensions.cs - Test\RenderingVerification\MasterImageComparer.cs - Test\RenderingVerification\MasterIndex.cs - Test\RenderingVerification\MasterMetadata.cs - - - - - - Microsoft.Test.RenderingVerification.RenderingVerification.DefaultTolerance.xml - Resources\VScan\DefaultTolerance.xml - - - - - - Test\Compression\Archiver.cs - Test\Compression\Cab\Cab.cs - Test\Compression\Cab\CabApi.cs - Test\Compression\Cab\CabBase.cs - Test\Compression\Cab\CabCreator.cs - Test\Compression\Cab\CabException.cs - Test\Compression\Cab\CabExtractor.cs - Test\Compression\Cab\CabInfo.cs - Test\Compression\Cab\CabStatus.cs - Test\Compression\Cab\DuplicateStream.cs - Test\Compression\Cab\HandleManager.cs - Test\Compression\Cab\OffsetStream.cs - - - - - Test\Graphics\ColorOperations.cs - Test\Graphics\DiscreteAnimation.cs - Test\Graphics\MathEx.cs - Test\Graphics\Matrix3DAnimation.cs - Test\Graphics\MatrixUtils.cs - Test\Graphics\MeshOperations.cs - Test\Graphics\ObjectUtils.cs - Test\Graphics\StringConverter.cs - Test\Graphics\VisualUtils.cs - Test\Graphics\DpiScalingHelper.cs - Test\Graphics\RenderingModeHelper.cs - Test\Graphics\RenderingMode.cs - - - - - Test\Graphics\Factories\BrushFactory.cs - Test\Graphics\Factories\CameraFactory.cs - Test\Graphics\Factories\Const.cs - Test\Graphics\Factories\Const2D.cs - Test\Graphics\Factories\DrawingFactory.cs - Test\Graphics\Factories\EffectFactory.cs - Test\Graphics\Factories\EffectInputFactory.cs - Test\Graphics\Factories\GeometryFactory.cs - Test\Graphics\Factories\HitTestFilterFactory.cs - Test\Graphics\Factories\LightFactory.cs - Test\Graphics\Factories\MaterialFactory.cs - Test\Graphics\Factories\MeshFactory.cs - Test\Graphics\Factories\ModelFactory.cs - Test\Graphics\Factories\ObjectFactory.cs - Test\Graphics\Factories\PenFactory.cs - Test\Graphics\Factories\SceneFactory.cs - Test\Graphics\Factories\ShapeFactory.cs - Test\Graphics\Factories\Transform2DFactory.cs - Test\Graphics\Factories\TransformFactory.cs - Test\Graphics\Factories\Visual3DFactory.cs - Test\Graphics\Factories\VisualFactory.cs - - - - - Test\Graphics\ReferenceRender\BiLinearTextureFilter.cs - Test\Graphics\ReferenceRender\Edge.cs - Test\Graphics\ReferenceRender\GouraudShader.cs - Test\Graphics\ReferenceRender\HdrColor.cs - Test\Graphics\ReferenceRender\Interpolators.cs - Test\Graphics\ReferenceRender\LightEquations.cs - Test\Graphics\ReferenceRender\MeshProjectedGeometry.cs - Test\Graphics\ReferenceRender\ModelBounder.cs - Test\Graphics\ReferenceRender\ModelRenderer.cs - Test\Graphics\ReferenceRender\NearestNeighbourTextureFilter.cs - Test\Graphics\ReferenceRender\PhongShader.cs - Test\Graphics\ReferenceRender\ProjectedGeometry.cs - Test\Graphics\ReferenceRender\RenderBuffer.cs - Test\Graphics\ReferenceRender\RenderTolerance.cs - Test\Graphics\ReferenceRender\RenderToToleranceShader.cs - Test\Graphics\ReferenceRender\RenderVerifier.cs - Test\Graphics\ReferenceRender\SceneRenderer.cs - Test\Graphics\ReferenceRender\Shader.cs - Test\Graphics\ReferenceRender\SolidColorTextureFilter.cs - Test\Graphics\ReferenceRender\SSLProjectedGeometry.cs - Test\Graphics\ReferenceRender\TextureFilter.cs - Test\Graphics\ReferenceRender\TextureGenerator.cs - Test\Graphics\ReferenceRender\Triangle.cs - Test\Graphics\ReferenceRender\TriLinearTextureFilter.cs - Test\Graphics\ReferenceRender\Vertex.cs - Test\Graphics\ReferenceRender\VisualBounder.cs - - - - - Test\Graphics\TestTypes\AnimationAPITest.cs - Test\Graphics\TestTypes\AnimationAPITestBase.cs - Test\Graphics\TestTypes\ClassGenerator.cs - Test\Graphics\TestTypes\CodeGenerator.cs - Test\Graphics\TestTypes\ConstructorGenerator.cs - Test\Graphics\TestTypes\CoreGraphicsTest.cs - Test\Graphics\TestTypes\EnvironmentWrapper.cs - Test\Graphics\TestTypes\ExceptionCatchingTest.cs - Test\Graphics\TestTypes\Exceptions.cs - Test\Graphics\TestTypes\FactoryParser.cs - Test\Graphics\TestTypes\InfoOrganizer.cs - Test\Graphics\TestTypes\InheritanceChecker.cs - Test\Graphics\TestTypes\Interop.cs - Test\Graphics\TestTypes\Logger.cs - Test\Graphics\TestTypes\MethodGenerator.cs - Test\Graphics\TestTypes\MethodGeneratorBase.cs - Test\Graphics\TestTypes\PartialTrust.cs - Test\Graphics\TestTypes\PhotoConverter.cs - Test\Graphics\TestTypes\Photographer.cs - Test\Graphics\TestTypes\PropertyGenerator.cs - Test\Graphics\TestTypes\ReferenceTest.cs - Test\Graphics\TestTypes\RenderingTest.cs - Test\Graphics\TestTypes\RenderingWindow.cs - Test\Graphics\TestTypes\RunAllTester.cs - Test\Graphics\TestTypes\RunScriptTester.cs - Test\Graphics\TestTypes\SerializationTest.cs - Test\Graphics\TestTypes\Tester.cs - Test\Graphics\TestTypes\TestLauncher.cs - Test\Graphics\TestTypes\TestObjects.cs - Test\Graphics\TestTypes\Tokens.cs - Test\Graphics\TestTypes\Variation.cs - Test\Graphics\TestTypes\ViewportWindow.cs - Test\Graphics\TestTypes\VisualObjects.cs - Test\Graphics\TestTypes\VisualVerificationTest.cs - Test\Graphics\TestTypes\VisualWindow.cs - Test\Graphics\TestTypes\VisualWrapper.cs - Test\Graphics\TestTypes\XAMLTest.cs - - - - - - - - - - - - - Test\Layout\Common\Common.cs - Test\Layout\Common\LayoutTestWindows.cs - Test\Layout\Common\LayoutUtility.cs - Test\Layout\Common\DoubleUtil.cs - Test\Layout\Common\VisualScan.cs - Test\Layout\TestTypes\LayoutTest.cs - Test\Layout\TestTypes\CodeTest.cs - Test\Layout\TestTypes\PropertyDumpTest.cs - Test\Layout\TestTypes\VisualScanTest.cs - Test\Layout\PropertyDump\Arguments.cs - Test\Layout\PropertyDump\DiffPackage.cs - Test\Layout\PropertyDump\Filter.cs - Test\Layout\PropertyDump\FrameworkElements.cs - Test\Layout\PropertyDump\Package.cs - Test\Layout\PropertyDump\PropertyDumpCore.cs - Test\Layout\PropertyDump\PropertyDumpHelper.cs - Test\Layout\PropertyDump\TextViewWrapper\ColumnResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\ContainerParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\DocumentPageTextViewW.cs - Test\Layout\PropertyDump\TextViewWrapper\FloaterParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\FigureParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\FlowDocumentPageW.cs - Test\Layout\PropertyDump\TextViewWrapper\IEnumerableW.cs - Test\Layout\PropertyDump\TextViewWrapper\LineResultDetailsW.cs - Test\Layout\PropertyDump\TextViewWrapper\LineResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\OrientedTextPositionW.cs - Test\Layout\PropertyDump\TextViewWrapper\ParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\ReflectionHelper.cs - Test\Layout\PropertyDump\TextViewWrapper\RowParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\SubpageParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\TableParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\TextDocumentViewW.cs - Test\Layout\PropertyDump\TextViewWrapper\TextParagraphResultW.cs - Test\Layout\PropertyDump\TextViewWrapper\TextParagraphViewW.cs - Test\Layout\PropertyDump\TextViewWrapper\UIElementParagraphResultW.cs - - - - - Test\Stability\Stress\DistributionFactory.cs - Test\Stability\Stress\RandDist.cs - Test\Stability\Stress\RandomGenerator.cs - Test\Stability\Stress\Invariant.cs - Test\Stability\Stress\StressFrameWorkHelper.cs - Test\Stability\Stress\WeightedList.cs - Test\Stability\Stress\Action\ActionManager.cs - Test\Stability\Stress\Action\Attributes.cs - Test\Stability\Stress\Action\IAction.cs - Test\Stability\Stress\Action\IActionFactory.cs - Test\Stability\Stress\Action\WeightedActionFactory.cs - Test\Stability\Stress\ConfigReader\ConfigReader.cs - Test\Stability\Stress\ConfigReader\IConfigReader.cs - Test\Stability\Stress\ConfigReader\MultipleTagSectionHandler.cs - Test\Stability\Stress\Context\ActionHandlers.cs - Test\Stability\Stress\Context\EventHandlers.cs - Test\Stability\Stress\Context\EventArgs.cs - Test\Stability\Stress\Context\Handlers.cs - Test\Stability\Stress\Context\IStressContext.cs - Test\Stability\Stress\Context\IStressContextManager.cs - Test\Stability\Stress\Context\StressContext.cs - Test\Stability\Stress\Context\StressContextManager.cs - Test\Stability\Stress\Context\IObjectFactory.cs - Test\Stability\Stress\Context\EnumerationObjectFactory.cs - Test\Stability\Stress\Context\ReflectionObjectFactory.cs - Test\Stability\Stress\CoreServices\CoreServices.cs - Test\Stability\Stress\CoreServices\ICoreServices.cs - Test\Stability\Stress\CoreServices\IStressManager.cs - Test\Stability\Stress\CoreServices\StressManager.cs - Test\Stability\Stress\CoreServices\EventLogger.cs - Test\Stability\Stress\Exceptions\ExceptionEventArgs.cs - Test\Stability\Stress\Exceptions\ExceptionEventHandlers.cs - Test\Stability\Stress\PropertyEngine\PropertyEngine.cs - Test\Stability\Stress\Storage\ContextStorage.cs - Test\Stability\Stress\Storage\EventArgs.cs - Test\Stability\Stress\Storage\IStorage.cs - Test\Stability\Stress\StressFrameworkObject\IStressFrameworkObject.cs - Test\Stability\Stress\StressFrameworkObject\StressFrameworkObject.cs - Test\Stability\Stress\Security\SecurityHelper.cs - Test\Stability\Stress\Thread\EventArgs.cs - Test\Stability\Stress\Thread\EventHandlers.cs - Test\Stability\Stress\Thread\IStressThread.cs - Test\Stability\Stress\Thread\IStressThreadManager.cs - Test\Stability\Stress\Thread\StressThread.cs - Test\Stability\Stress\Thread\StressThreadManager.cs - Test\Stability\Stress\Utils\ProcessShutdownMonitor.cs - Test\Stability\Stress\Utils\Win32NativeInterop.cs - Test\Stability\Stress\Utils\CommandlineParser.cs - Test\Stability\Stress\Utils\XmlParser.cs - Test\Stability\Stress\IEHelper\DISPIDs.cs - Test\Stability\Stress\IEHelper\IEInterop.cs - Test\Stability\Stress\IEHelper\Rtl.cs - Test\Collections\Generics\WeightedList.cs - - - - - Test\Stability\Stress\AvalonProxy\AssemblyCacheEnum.cs - Test\Stability\Stress\AvalonProxy\AvalonActionManager.cs - Test\Stability\Stress\AvalonProxy\AvalonStressContext.cs - Test\Stability\Stress\AvalonProxy\AvalonStressContextManager.cs - Test\Stability\Stress\AvalonProxy\AvalonStressThreadManager.cs - Test\Stability\Stress\AvalonProxy\MemoryChecker.cs - Test\Stability\Stress\AvalonProxy\AvalonStressFrameworkHelper.cs - Test\Stability\Stress\AvalonProxy\BrowserStressContext.cs - Test\Stability\Stress\AvalonProxy\BrowserStressContextManager.cs - Test\Stability\Stress\AvalonProxy\BrowserStressThreadManager.cs - - - - - Test\Stability\Stress\LonghaulProxy\LonghaulSQLConnect.cs - Test\Stability\Stress\LonghaulProxy\LonghaulCommon.cs - Test\Stability\Stress\LonghaulProxy\LonghaulStateObjects.cs - Test\Stability\Stress\LonghaulProxy\LonghaulStressContext.cs - Test\Stability\Stress\LonghaulProxy\LonghaulStressContextManager.cs - Test\Stability\Stress\LonghaulProxy\LonghaulStressThreadManager.cs - Test\Stability\Stress\LonghaulProxy\LonghaulEventLog.cs - - - - - Test\Stability\LeakUtility.cs - Test\Stability\Input.cs - - - - - Test\Stability\Stress\Graphics\AddNodes.cs - Test\Stability\Stress\Graphics\AnimationFactory.cs - Test\Stability\Stress\Graphics\Channel.cs - Test\Stability\Stress\Graphics\ChannelFactory.cs - Test\Stability\Stress\Graphics\CompositionActorFactory.cs - Test\Stability\Stress\Graphics\ConnectDisconnect.cs - Test\Stability\Stress\Graphics\ConnectDisconnectActorFactory.cs - Test\Stability\Stress\Graphics\ContainerVisual.cs - Test\Stability\Stress\Graphics\DrawContextProvider.cs - Test\Stability\Stress\Graphics\GetHwndSources.cs - Test\Stability\Stress\Graphics\GetProperties.cs - Test\Stability\Stress\Graphics\GetPropertiesFactory.cs - Test\Stability\Stress\Graphics\HelperClass.cs - Test\Stability\Stress\Graphics\HitTest.cs - Test\Stability\Stress\Graphics\HitTestFactory.cs - Test\Stability\Stress\Graphics\HostVisual.cs - Test\Stability\Stress\Graphics\HwndSourceCreator.cs - Test\Stability\Stress\Graphics\IDrawContextProvider.cs - Test\Stability\Stress\Graphics\IRootVisualHolder.cs - Test\Stability\Stress\Graphics\ISurface.cs - Test\Stability\Stress\Graphics\IVisual.cs - Test\Stability\Stress\Graphics\IVisualProperties.cs - Test\Stability\Stress\Graphics\Magnifier.cs - Test\Stability\Stress\Graphics\MagnifierFactory.cs - Test\Stability\Stress\Graphics\MoveNode.cs - Test\Stability\Stress\Graphics\NodeActor.cs - Test\Stability\Stress\Graphics\NodeCreator.cs - Test\Stability\Stress\Graphics\R3DVisual.cs - Test\Stability\Stress\Graphics\Random.cs - Test\Stability\Stress\Graphics\RemoveNode.cs - Test\Stability\Stress\Graphics\RenderTargetBitmap.cs - Test\Stability\Stress\Graphics\RenderTargetBitmapFactory.cs - Test\Stability\Stress\Graphics\RootVisualHolder.cs - Test\Stability\Stress\Graphics\RootVisualHolderActor.cs - Test\Stability\Stress\Graphics\SharedObjects.cs - Test\Stability\Stress\Graphics\TransformCreatorFactory.cs - Test\Stability\Stress\Graphics\TreeActor.cs - Test\Stability\Stress\Graphics\TreeCreator.cs - Test\Stability\Stress\Graphics\TreeCreatorInitFactory.cs - Test\Stability\Stress\Graphics\TreeInitActor.cs - Test\Stability\Stress\Graphics\UpdateProperties.cs - Test\Stability\Stress\Graphics\UpdatePropertiesFactory.cs - Test\Stability\Stress\Graphics\VisualTarget.cs - - - - - Test\Performance\CLRProfilerControl.cs - Test\Performance\CustomTestAction.cs - Test\Performance\InputPerf.cs - Test\Performance\PerfActionHelper.cs - Test\Performance\TraceProvider.cs - Test\Performance\EventTrace.cs - Test\Performance\EventType.cs - - - - - Test\Performance\CLRProfilerControl.cs - Test\Performance\CustomTestAction.cs - Test\Performance\InputPerf_PartialTrust.cs - Test\Performance\PerfActionHelper.cs - Test\Performance\PerfTestTraceProvider.cs - - - - - Test\Annotations\AnnotationsTestSettings.cs - Test\Annotations\Attributes.cs - Test\Annotations\FastTestSuite.cs - Test\Annotations\TestSuite.cs - Test\Annotations\TestSuiteRunner.cs - Test\Annotations\UIAutomationModule.cs - Test\Annotations\VisualAutomationTestSuite.cs - Test\Annotations\VScanModule.cs - Test\Annotations\Internal\ALogger.cs - Test\Annotations\Internal\TestCase.cs - Test\Annotations\Internal\TestVariation.cs - - - diff --git a/eng/WpfArcadeSdk/tools/StrongName.props b/eng/WpfArcadeSdk/tools/StrongName.props deleted file mode 100644 index 39b1310704d..00000000000 --- a/eng/WpfArcadeSdk/tools/StrongName.props +++ /dev/null @@ -1,17 +0,0 @@ - - - false - $(WpfTestBasePath)\Common\keys\TestUntrusted.snk - 0024000004800000940000000602000000240000525341310004000001000100C1BCD9B7844CD35725B1138216ED5E0FAB914676D580860F6F081C8C0E83B92D835FFAE76FA968F7637E4B6E32D77FEE1C084088CEE736CE589D65AD0FA66F086C2F5F755A6F2909D17C643B45C72A906AAAC617BFD67491A8FCE54784CA98317AEA28C0544546FF9123F6F94E59793F2874437BC3D136A40095D0F960E6A6A4 - A069DEE354D95F76 - - $(WpfTestBasePath)\Common\keys\TestTrusted.snk - 00240000048000009400000006020000002400005253413100040000010001007FDB0774CDFEFC88AAA6613332E5BE12A11BD32ADB7E2EAD4C049CFFCC6284FA975CD55B0291738247984CFCF4074970C44C1DA29B07201B0F90FB7B2C60D2A604C4ABA9FBC106AD3D1838DAD496780B0E4518D045FE70C4DE4E9663354989CF9A2E4F9ADD41BFEF82437DA35C8B1C1A0D6DACB521456C4BB18BADA2BE7407C3 - e1e6160fdd198bb1 - - - false - $(TestUntrustedKey) - custom - - \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/StrongName.targets b/eng/WpfArcadeSdk/tools/StrongName.targets deleted file mode 100644 index cfc73c73f7b..00000000000 --- a/eng/WpfArcadeSdk/tools/StrongName.targets +++ /dev/null @@ -1,12 +0,0 @@ - - - - $(TestTrustedPublicKey) - $(TestTrustedPublicKeyToken) - - - - $(TestUntrustedPublicKey) - $(TestUntrustedPublicKeyToken) - - diff --git a/eng/WpfArcadeSdk/tools/TestProjects.targets b/eng/WpfArcadeSdk/tools/TestProjects.targets index d5396b3a087..28dcf279bcb 100644 --- a/eng/WpfArcadeSdk/tools/TestProjects.targets +++ b/eng/WpfArcadeSdk/tools/TestProjects.targets @@ -7,7 +7,8 @@ x86 None - true + false + true true @@ -18,7 +19,8 @@ --> + Version="$(MicrosoftDotNetWpfDncEngVersion)" + Publish="$(CreateTestPayload)"> true true @@ -26,24 +28,24 @@ - + - - - - - + + + + + - - + + - - diff --git a/eng/helix/configure-helix-machine.ps1 b/eng/helix/configure-helix-machine.ps1 deleted file mode 100644 index 4f20fb2866a..00000000000 --- a/eng/helix/configure-helix-machine.ps1 +++ /dev/null @@ -1,30 +0,0 @@ -# This file prepares the helix machine for our tests runs -$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" - -# Set DOTNET_ROOT variables so the host can find it -Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation -Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation - -$runtimes = dotnet --list-runtimes -foreach ($rt in $runtimes) -{ - if ($rt.StartsWith("Microsoft.WindowsDesktop.App")) - { - $version = $rt.Split(" ")[1] - } -} - -# Rewrite the *.runtimeconfig.json files to match the version of the runtime on the machine -$infraLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test\Infra" -$stiConfigFile = Join-Path $infraLocation "Sti.runtimeconfig.json" -$qvConfigFile = Join-Path $infraLocation "QualityVaultFrontEnd.runtimeconfig.json" -$configFiles = $stiConfigFile, $qvConfigFile -foreach ($config in $configFiles) -{ - # Read current config file - $jsondata = Get-Content -Raw -Path $config | ConvertFrom-Json - # Update version - $jsondata.runtimeOptions.framework.version = $version - # Write data back - $jsondata | ConvertTo-Json -depth 100 | Set-Content $config -} \ No newline at end of file diff --git a/eng/helix/prepare-helix-payload.ps1 b/eng/helix/prepare-helix-payload.ps1 deleted file mode 100644 index 9f382820f4a..00000000000 --- a/eng/helix/prepare-helix-payload.ps1 +++ /dev/null @@ -1,49 +0,0 @@ -[CmdLetBinding()] -Param( - [string]$platform, - [string]$configuration -) - -$payloadDir = "HelixPayload\$configuration\$platform" - -$nugetPackagesDir = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "packages" - -# Create the payload directory. Remove it if it already exists. -if(Test-Path $payloadDir) -{ - Remove-Item $payloadDir -Recurse -} -New-Item -ItemType Directory -Force -Path $payloadDir - -function CopyFolderStructure($from, $to) -{ - if(Test-Path $to) - { - Remove-Item $to -Recurse - } - New-Item -ItemType Directory -Force -Path $to - - if (Test-Path $from) - { - Get-ChildItem $from | Copy-Item -Destination $to -Recurse - } - else - { - Write-Output "Location doesn't exist: $from" - } -} - -# Copy files from nuget packages. -$testNugetLocation = Resolve-Path (Join-Path $nugetPackagesDir "runtime.win-$platform.Microsoft.DotNet.Wpf.Test\*\tools\win-$platform\Test") -$testPayloadLocation = Join-Path $payloadDir "Test" -CopyFolderStructure $testNugetLocation $testPayloadLocation - -# Copy local DRT assemblies to test location -$drtArtifactsLocation = [System.IO.Path]::Combine($env:BUILD_SOURCESDIRECTORY, "artifacts\test", $configuration, $platform, "Test\DRT") -$drtPayloadLocation = Join-Path $payloadDir "Test\DRT" -CopyFolderStructure $drtArtifactsLocation $drtPayloadLocation - -# Copy scripts -Copy-Item "eng\helix\configure-helix-machine.ps1" $payloadDir -Copy-Item "eng\helix\runtests.ps1" $payloadDir -Copy-Item "eng\helix\runtests.cmd" $payloadDir diff --git a/eng/helix/runtests.cmd b/eng/helix/runtests.cmd deleted file mode 100644 index c7b6190b9f2..00000000000 --- a/eng/helix/runtests.cmd +++ /dev/null @@ -1,3 +0,0 @@ -@echo off - -powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0runtests.ps1""" %*" \ No newline at end of file diff --git a/eng/helix/runtests.ps1 b/eng/helix/runtests.ps1 deleted file mode 100644 index 55d4395441a..00000000000 --- a/eng/helix/runtests.ps1 +++ /dev/null @@ -1,26 +0,0 @@ -[CmdLetBinding()] -Param( - [string]$command -) - -# Configure the machine before running tests -. "$PSScriptRoot\configure-helix-machine.ps1" - -# Run the tests -$testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" -if (Test-Path "$testLocation\rundrts.cmd") -{ - Invoke-Expression "$testLocation\rundrts.cmd $command" -} - -# We can use $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT\upload_result.py to upload any QV specific logs and/or screenshots that we are interested in. -# For example: $env:HELIX_PYTHONPATH $env:HELIX_SCRIPT_ROOT%\upload_result.py -result screenshot.jpg -result_name screenshot.jpg -# Then, links to these artifacts can then be included in the xUnit logs. - -# Need to copy the xUnit log to a known location that helix can understand -if (Test-Path "$env:AppData\QualityVault\Run\Report\testResults.xml") -{ - $resultLocation = $PSScriptRoot - Write-Output "Copying test results to $resultLocation" - Copy-Item "$env:AppData\QualityVault\Run\Report\testResults.xml" $resultLocation -} \ No newline at end of file diff --git a/eng/helix/helixpublish.proj b/eng/helixpublish.proj similarity index 91% rename from eng/helix/helixpublish.proj rename to eng/helixpublish.proj index 6869d5b7bbc..8f3aa2ac922 100644 --- a/eng/helix/helixpublish.proj +++ b/eng/helixpublish.proj @@ -1,14 +1,6 @@ - netcoreapp3.0 - $(MSBuildThisFileDirectory)packages - true - - $(RestoreSources); - https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json - - true runtime @@ -28,7 +20,7 @@ - + 00:20:00 call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=Xaml diff --git a/eng/pipeline.yml b/eng/pipeline.yml index a7cfb192b5f..f92f5428ee6 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -135,8 +135,8 @@ jobs: -configuration $(_BuildConfig) $(_OfficialBuildIdArgs) $(_PlatformArgs) - -projects $(Build.SourcesDirectory)\eng\helix\helixpublish.proj - /bl:$(BUILD.SOURCESDIRECTORY)\artifacts\log\$(_BuildConfig)\HelixUnit.binlog + -projects $(Build.SourcesDirectory)\eng\helixpublish.proj + /bl:$(BUILD.SOURCESDIRECTORY)\artifacts\log\$(_BuildConfig)\HelixDrt.binlog displayName: Run Developer Regression Tests on Helix Machine (Release) env: HelixSource: $(_HelixSource) diff --git a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj deleted file mode 100644 index 9a963ba3405..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/CommonData.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - true - false - $(WpfTestBasePublishPath) - <_IsPortable>true - false - - - - - - DRT\%(Filename)%(Extension) - Always - - - - - diff --git a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/Directory.Build.props deleted file mode 100644 index 12d9ad073ec..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/BranchCommon/data/Directory.Build.props +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs index 37bd98942c6..79fa006d094 100644 --- a/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs +++ b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/DrtBase.cs @@ -213,7 +213,7 @@ static DrtBase() Application app = Application.Current; // runs Application.Init(), which sets up Avalon services } - protected DrtBase(ITestOutputHelper output) + protected DrtBase() { string assertExit = Environment.GetEnvironmentVariable("AVALON_ASSERTEXIT"); if (assertExit != null && assertExit.Length > 0) @@ -232,7 +232,6 @@ protected DrtBase(ITestOutputHelper output) } _dispatcher = Dispatcher.CurrentDispatcher; - _output = output; } /// @@ -249,7 +248,7 @@ protected DrtBase(ITestOutputHelper output) /// DRT exit code -- to be returned from Main() public int Run(string[] args) { - _delayedConsoleOutput = new StringAndFileWriter(DrtName, _output); + _delayedConsoleOutput = new StringAndFileWriter(DrtName); _retcode = ReadCommandLineArguments(args); @@ -2621,10 +2620,9 @@ private static void Win32BlockInput(bool blockIt) private class StringAndFileWriter : StringWriter { - public StringAndFileWriter(string drtName, ITestOutputHelper output) : base(new StringBuilder()) + public StringAndFileWriter(string drtName) : base(new StringBuilder()) { _buffer = GetStringBuilder(); - _output = output; if (string.IsNullOrEmpty(drtName)) { throw new ArgumentException("DrtName must be defined"); @@ -2710,14 +2708,6 @@ public override void Write(char value) _logFile.Write(value); _logFile.Flush(); } - - try - { - _output.WriteLine($"{value}"); - } - catch - { - } } } @@ -2735,14 +2725,6 @@ public override void Write(char[] buffer, int index, int count) _logFile.Write(buffer, index, count); _logFile.Flush(); } - - var sb = new StringBuilder(); - sb.Append(buffer, index, count); - try - { - _output.WriteLine(sb.ToString()); - } - catch { } } } @@ -2772,12 +2754,6 @@ public override void Write(string value) _logFile.Write(value); _logFile.Flush(); } - - try - { - _output.WriteLine(value); - } - catch { } } } @@ -2801,8 +2777,6 @@ public void CloseFile() private StringBuilder _buffer; private bool _isClosed = false; private object _instanceLock = new object(); - - private ITestOutputHelper _output; } private class DualWriter : StringWriter @@ -2915,8 +2889,6 @@ public bool TimedOut // private Dispatcher _dispatcher; - private ITestOutputHelper _output; - private HwndSource _source = null; private Visual _rootElement; diff --git a/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj index c4d5ad2748d..81436587de5 100644 --- a/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj +++ b/src/Microsoft.DotNet.Wpf/test/Common/DRT/TestServices/TestServices.csproj @@ -1,11 +1,13 @@  - TestServices - TestServices - $(DefineConstants);FRAMEWORK_NATIVEMETHODS;CORE_NATIVEMETHODS;DRT - true - $(NoWarn);CS0618;0618 - AnyCPU;x64 + TestServices + TestServices + $(DefineConstants);FRAMEWORK_NATIVEMETHODS;CORE_NATIVEMETHODS;DRT + true + $(NoWarn);CS0618;0618 + AnyCPU;x64 + false + Library diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj index c744feb3be1..dae72c72de6 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj @@ -7,7 +7,6 @@ true - true BamlAvoidXmlTest AnyCPU;x64 @@ -17,37 +16,8 @@ Exe - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj index 3c4d5a8d8b5..8b04041b658 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlTestClasses40/BamlTestClasses40.csproj @@ -62,8 +62,6 @@ MSBuild:Compile - - diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props index 4d1dc3791be..bf987b61ede 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/Directory.Build.props @@ -1,4 +1,3 @@ - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj index 822d08b97c9..769c148aa6e 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj @@ -5,12 +5,12 @@ console WinExe AnyCPU;x64 + DrtXaml.XamlDrt + true - true false - true @@ -24,12 +24,6 @@ - - - - - - diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs index 2feeead35e0..7499fee2047 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXamlBase.cs @@ -17,12 +17,14 @@ namespace DrtXaml { public sealed class XamlDrt : DrtBase { - public void RunTests(params string[] args) + [STAThread] + public static int Main(string[] args) { - Run(args); + DrtBase drt = new XamlDrt(); + return drt.Run(args); } - public XamlDrt(ITestOutputHelper output) : base(output) + private XamlDrt() { DrtName = "DrtXaml"; WindowTitle = "XAML DRT"; diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/Tests/SchemaTests.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/Tests/SchemaTests.cs index 311c4445747..d3fcf564232 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/Tests/SchemaTests.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/Tests/SchemaTests.cs @@ -1244,9 +1244,7 @@ public void ParsedDynamicAssemblyCollectible() } [TestMethod] -#if NETCOREAPP3_X [TestKnownFailure(Reason = ".NET Core does not support Assembly.ReflectionOnlyLoad. Contact wpfdev for additional details")] -#endif public void ReflectionOnlyTypes() { XamlSchemaContext oldXsc = _schemaContext; diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/XamlTestFrameWork/Assert.cs b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/XamlTestFrameWork/Assert.cs index 4b4f422494a..a915c356f47 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/XamlTestFrameWork/Assert.cs +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/XamlTestFrameWork/Assert.cs @@ -5,111 +5,102 @@ using System; using System.Collections.Generic; using System.Collections; -using Xunit; -using Xunit.Sdk; namespace DrtXaml.XamlTestFramework { - public class EqualException2 : EqualException + public static class Assert { - public EqualException2(object expected, object actual) : base(expected, actual) + public static void AreEqual(decimal expected, decimal actual) { + AreEqual(expected, actual, "Are not equal"); } - public EqualException2(string expected, string actual, int expectedIndex, int actualIndex) : base(expected, actual, expectedIndex, actualIndex) + public static void AreEqual(int expected, int actual) { + AreEqual(expected, actual, "Are not equal"); } - public EqualException2(object expected, object actual, string message): this(expected, actual) + public static void AreEqual(uint expected, uint actual) { - UserMessage = message; + AreEqual(expected, actual, "Are not equal"); } - } - public class NotEqualException2 : NotEqualException - { - public NotEqualException2(NotEqualException inner, string message): base(inner.Expected, inner.Actual) + public static void AreEqual(string expected, string actual) { - UserMessage = message; + AreEqual(expected, actual, "Are not equal"); } - } - public class NotNullException2 : NotNullException - { - public NotNullException2() + public static void AreEqual(float expected, float actual) { + AreEqual(expected, actual, "Are not equal"); } - public NotNullException2(string message) + public static void AreEqual(double expected, double actual) { - UserMessage = message; + AreEqual(expected, actual, "Are not equal"); } - } - public class NullException2 : NullException - { - public NullException2(object actual) : base(actual) + public static void AreEqual(object expected, object actual) { + AreEqual(expected, actual, "Are not equal"); } - public NullException2(object actual, string message): this(actual) + public static void AreEqual(decimal expected, decimal actual, string message) { - UserMessage = message; + if (expected != actual) + { + Fail(message); + } } - } - public class IsAssignableFromException2 : IsAssignableFromException - { - public IsAssignableFromException2(Type expected, object actual) : base(expected, actual) + public static void AreEqual(int expected, int actual, string message) { + if (expected != actual) + { + Fail(message); + } } - public IsAssignableFromException2(Type expected, object actual, string message) : this(expected, actual) + public static void AreEqual(uint expected, uint actual, string message) { - UserMessage = message; + if (expected != actual) + { + Fail(message); + } } - } - - public static class Assert - { - - public static void AreEqual(T expected, T actual) + public static void AreEqual(string expected, string actual, string message) { - AreEqual(expected, actual, "Are not equal"); + if (expected != actual) + { + Fail(message); + } } - public static void AreEqual(T expected, T actual, string message) + public static void AreEqual(float expected, float actual, string message) { - try - { - Xunit.Assert.Equal(expected, actual); - } - catch (EqualException) + if (expected != actual) { - throw new EqualException2(expected, actual, message); + Fail(message); } } - public static void AreNotEqual(T expected, T actual) + public static void AreEqual(double expected, double actual, string message) { - AreNotEqual(expected, actual, "Should not be equal"); + if (expected != actual) + { + Fail(message); + } } - public static void AreNotEqual(T expected, T actual, string message) + public static void AreEqual(object expected, object actual, string message) { - try - { - Xunit.Assert.NotEqual(expected, actual); - } - catch (NotEqualException e) + if (!(expected.Equals(actual))) { - throw new NotEqualException2(e, message); + Fail(message); } } - - public static void AreEqualOrdered(IList actual, params T[] expected) { Assert.AreEqual(expected.Length, actual.Count); @@ -128,7 +119,96 @@ public static void AreEqualUnordered(ICollection actual, params T[] expect } } + public static void AreNotEqual(decimal expected, decimal actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(int expected, int actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(uint expected, uint actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(string expected, string actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(float expected, float actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + public static void AreNotEqual(double expected, double actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(object expected, object actual) + { + AreNotEqual(expected, actual, "Should not be equal"); + } + + public static void AreNotEqual(decimal expected, decimal actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(int expected, int actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(uint expected, uint actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(string expected, string actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(float expected, float actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(double expected, double actual, string message) + { + if (expected == actual) + { + Fail(message); + } + } + + public static void AreNotEqual(object expected, object actual, string message) + { + if (object.Equals(expected, actual)) + { + Fail(message); + } + } public static void AreSame(object expected, object actual) { @@ -137,7 +217,10 @@ public static void AreSame(object expected, object actual) public static void AreSame(object expected, object actual, string message) { - Assert.AreEqual(expected, actual, message); + if (!(object.ReferenceEquals(expected, actual))) + { + Assert.Fail(message); + } } public static void AreNotSame(object expected, object actual) @@ -147,7 +230,20 @@ public static void AreNotSame(object expected, object actual) public static void AreNotSame(object expected, object actual, string message) { - Assert.AreNotEqual(expected, actual, message); + if (object.ReferenceEquals(expected, actual)) + { + Assert.Fail(message); + } + } + + public static void Fail() + { + Fail("Please call Fail(message) not Fail()"); + } + + public static void Fail(string message) + { + throw new InvalidOperationException(message); } public static void IsEmpty(ICollection collection) @@ -170,7 +266,10 @@ public static void IsFalse(bool condition) public static void IsFalse(bool condition, string message) { - Xunit.Assert.False(condition, message); + if (condition) + { + Assert.Fail(message); + } } public static void IsNotNull(object o) @@ -180,13 +279,9 @@ public static void IsNotNull(object o) public static void IsNotNull(object o, string message) { - try + if (o == null) { - Xunit.Assert.NotNull(o); - } - catch (NotNullException) - { - throw new NotNullException2(message); + Assert.Fail(message); } } @@ -197,13 +292,9 @@ public static void IsNull(object o) public static void IsNull(object o, string message) { - try - { - Xunit.Assert.Null(o); - } - catch (NullException) + if (o != null) { - throw new NullException2(o, message); + Assert.Fail(message); } } @@ -214,7 +305,7 @@ public static void IsTrue(bool condition) public static void IsTrue(bool condition, string message) { - Xunit.Assert.True(condition, message); + AreEqual(true, condition, message); } public static void IsInstanceOfType(Type expected, object actual) @@ -224,19 +315,10 @@ public static void IsInstanceOfType(Type expected, object actual) public static void IsInstanceOfType(Type expected, object actual, string message) { - try + if (!(expected.IsInstanceOfType(actual))) { - Xunit.Assert.IsAssignableFrom(expected, actual); + Assert.Fail(message); } - catch(IsAssignableFromException) - { - throw new IsAssignableFromException2(expected, actual, message); - } - } - - public static void Fail(string message) - { - Xunit.Assert.True(false, message); } } } diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj deleted file mode 100644 index b50c80cd7b3..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithKey/XamlTestClasses.FriendWithKey.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - XamlTestClasses.FriendWithKey - Library - $(DefineConstants);OLDRESOURCES - true - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj deleted file mode 100644 index 0d902aa8960..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - XamlTestClasses.FriendWithoutKey - Library - $(DefineConstants);OLDRESOURCES - true - false - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithKey/XamlTestClasses.FriendWithKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithKey/XamlTestClasses.FriendWithKey.csproj index 53e9006f66f..38ef8c623f8 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithKey/XamlTestClasses.FriendWithKey.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithKey/XamlTestClasses.FriendWithKey.csproj @@ -3,5 +3,6 @@ XamlTestClasses.FriendWithKey XamlTestClasses.FriendWithKey AnyCPU;x64 + Library diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj index 2292641f063..15261c44875 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses.FriendWithoutKey/XamlTestClasses.FriendWithoutKey.csproj @@ -3,5 +3,6 @@ XamlTestClasses.FriendWithoutKey XamlTestClasses.FriendWithoutKey AnyCPU;x64 + Library diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj index faf81e73e6e..a0d7274219d 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj @@ -6,7 +6,6 @@ - false DrtXaml.snk diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 12c3872c4d5..7c34f925711 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -1,56 +1,29 @@ + + true + - - $(MsBuildThisFileDirectory) - $(WpfTestBasePath)\Common\DRT - $(WpfTestBasePath)\Shared - $(RepoRoot)artifacts\test\ + $(MsBuildThisFileDirectory) + false + true + false + false + false netcoreapp3.0 - true - win-x64;win-x86 + + false + + x86 x64 - - - - + $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) + $(PublishRoot)\Test + false - - - contentfiles;analyzers;build - - - - $(WpfTestBasePath)\Infra\TestUtilities\InternalUtilities\InternalUtilities.csproj - $(WpfTestBasePath)\Infra\CommunityChest\TestContracts\TestContracts.csproj - $(WpfTestBasePath)\Infra\TestApi\TestApiCore\Code\TestApiCore.csproj - $(WpfTestBasePath)\Common\TestRuntime\TestRuntime.csproj - $(WpfTestBasePath)\Common\Drt\TestServices\TestServices.csproj - $(WpfTestBasePath)\Infra\QualityVault\QualityVaultUtilities\QualityVaultUtilities.csproj - $(WpfTestBasePath)\Common\DRT\Tools\DrtTools.csproj - - - - - - true - false - false - - - - - - - CS0618;VSTHRD002;VSTHRD001 - - - $(NoWarn);CS3005;CS3001;CS3002;CS3003;CS0169 - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets index 2181cf771d7..55094856dec 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets @@ -1,7 +1,6 @@ - - + \ No newline at end of file From b9281ab326d45e0c67d636c070fca05724359d7a Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 31 May 2019 14:08:36 -0700 Subject: [PATCH 61/72] don't use publish --- eng/AddDrtsToPayload.targets | 26 +++++++++++++++++++ .../tools/CreateTestPayload.targets | 22 ++++++++++++++-- .../tools/PublishAfterBuild.targets | 11 -------- eng/WpfArcadeSdk/tools/RunDrtsLocal.targets | 2 ++ eng/WpfArcadeSdk/tools/TestProjects.targets | 26 +++++++++---------- .../test/Common/Directory.Build.props | 3 --- .../test/DRT/Directory.Build.props | 3 --- .../test/Directory.Build.props | 10 +------ .../test/Directory.Build.targets | 6 ----- 9 files changed, 61 insertions(+), 48 deletions(-) create mode 100644 eng/AddDrtsToPayload.targets delete mode 100644 eng/WpfArcadeSdk/tools/PublishAfterBuild.targets delete mode 100644 src/Microsoft.DotNet.Wpf/test/Directory.Build.targets diff --git a/eng/AddDrtsToPayload.targets b/eng/AddDrtsToPayload.targets new file mode 100644 index 00000000000..30f8f09b80a --- /dev/null +++ b/eng/AddDrtsToPayload.targets @@ -0,0 +1,26 @@ + + + + x64 + + + x86 + x64 + $(RepoRoot)artifacts\test\$(Configuration)\$(PayloadPlatformFolder) + $(PayloadBaseLocation)\Test\DRT + + + + + + + + + + + + + + + diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index c7872ca0772..958044295b7 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -3,14 +3,24 @@ win-$(Platform) win-x86 - $(NoWarn);NU3027;NU3018 + + + x86 + x64 + $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) + + $(PublishRoot)\Test + + + + $(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ @@ -19,12 +29,15 @@ $(Pkgruntime_win-x64_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ - + + + + + + + diff --git a/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets b/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets deleted file mode 100644 index 42f92318850..00000000000 --- a/eng/WpfArcadeSdk/tools/PublishAfterBuild.targets +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - true - - - - diff --git a/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets index 376c35bb846..8a73ac96dab 100644 --- a/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets +++ b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets @@ -1,4 +1,6 @@ + + diff --git a/eng/WpfArcadeSdk/tools/TestProjects.targets b/eng/WpfArcadeSdk/tools/TestProjects.targets index 28dcf279bcb..d5396b3a087 100644 --- a/eng/WpfArcadeSdk/tools/TestProjects.targets +++ b/eng/WpfArcadeSdk/tools/TestProjects.targets @@ -7,8 +7,7 @@ x86 None - false - true + true true @@ -19,8 +18,7 @@ --> + Version="$(MicrosoftDotNetWpfDncEngVersion)"> true true @@ -28,24 +26,24 @@ - + - - - - - + + + + + - - + + - - diff --git a/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props index 7e783514db2..66ffd0bbef4 100644 --- a/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Common/Directory.Build.props @@ -1,6 +1,3 @@ - - $(WpfTestBasePublishPath)\Common - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props index 7167d0c5112..66ffd0bbef4 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/DRT/Directory.Build.props @@ -1,6 +1,3 @@ - - $(WpfTestBasePublishPath)\DRT - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 7c34f925711..16e1712ef31 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -11,15 +11,7 @@ false false netcoreapp3.0 - - false - - - x86 - x64 - $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) - - $(PublishRoot)\Test + false diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets b/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets deleted file mode 100644 index 55094856dec..00000000000 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.targets +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From a2ec5b803490197c883b727bfa571c7aaf3e4c2f Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 31 May 2019 14:08:44 -0700 Subject: [PATCH 62/72] updating documentation --- Documentation/developer-guide.md | 22 ++++++++++++++++++++++ Documentation/testing-in-helix.md | 11 +++++------ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/Documentation/developer-guide.md b/Documentation/developer-guide.md index b8386a38cc3..3673835a6c1 100644 --- a/Documentation/developer-guide.md +++ b/Documentation/developer-guide.md @@ -23,6 +23,28 @@ We use the following workflow for building and testing features and fixes. You first need to [Fork](https://github.com/dotnet/corefx/wiki/Checking-out-the-code-repository#fork-the-repository) and [Clone](https://github.com/dotnet/corefx/wiki/Checking-out-the-code-repository#clone-the-repository) this WPF repository. This is a one-time task. + +### Running DRTs locally ### +In order to run the set of DRTs on your local machine, pass the `-test` parameter to the `build.cmd` script. At the end of the run, you should see something like this: + +``` + A total of 1 test Infos were processed, with the following results. + Passed: 1 + Failed (need to analyze): 0 + Failed (with BugIDs): 0 + Ignore: 0 + +``` +If there were any failures, you can cd into $(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test and run the tests manually with the `/debugtests` flag. This will open a cmd window, where you can open the test executable in Visual Studio and debug it. For example, to debug DrtXaml.exe you would enter this into the command window: + +`"%ProgramFiles%\Microsoft Visual Studio\2019\Preview\Common7\IDE\devenv.exe" DrtXaml.exe` + +Once Visual Studio is open, you will first need to manually change the debugger type from `Auto` to `Mixed (CoreCLR)`. From there you can F5 and the test will execute. + +*Note: To run a specific test, you can pass the name of the test like this: `/name=DrtXaml`.* + +**NOTE: This requires being run from an admin window at the moment. This restriction will be removed shortly.** + ### Testing Locally built WPF assemblies (excluding PresentationBuildTasks) This section of guide is intended to discuss the different approaches for ad-hoc testing of WPF assemblies, and not automated testing. There are a few different ways this can be done, and for the most part, diff --git a/Documentation/testing-in-helix.md b/Documentation/testing-in-helix.md index 5cbd402f7ad..58274b9f261 100644 --- a/Documentation/testing-in-helix.md +++ b/Documentation/testing-in-helix.md @@ -2,12 +2,11 @@ I'd recommend seeing the official Helix [readme](https://github.com/dotnet/arcade/blob/master/src/Microsoft.DotNet.Helix/Sdk/Readme.md) if you are interested in some of the general Helix concepts. I'll briefly outline what we are doing that is a bit unique: -1. Helix has built-in support for running xUnit tests. Since we are not using xUnit, we have to manually setup our machines so that they work with QualityVault and STI. -We manually restore the helixpublish.proj project during CI builds; this is done in `pipeline.yml`. This allows us to package reference the `Microsoft.DotNet.Wpf.DncEng.Test` package to pull down the binaries that we need. We can extract them into a local folder using the MSBuild property `RestorePackagesPath`, so that when the project is restored, we know the exact relative location of the packages. -2. We need to create a "TestHost" installation of dotnet on the Helix machine. The default Helix support for installing dotnet only installs version 2.x, and only installs the `Microsoft.NETCore.App` runtime, and not the M`icrosoft.WindowsDesktop.App` or `Microsoft.AspNetCore.App` runtimes. I opted to doing this manually and copy it out of the `.dotnet` folder that gets created as part of ci builds, rather than running an installer on the Helix machine. I figured reducing the number of dependencies on making external network calls and downloading items from the internet the better. -3. We copy both the nuget packages we care care about and the dotnet install in the `prepare-helix-payload.ps1` script. This gets invoked before we actually run tests in the `pipeline-yml` file located in the `eng` directory. Helix allows you to specify a `HelixCorrelationPayload` directory, where this directory gets deployed to the Helix machine, and is made available in your various helix commands with the `HELIX_CORRELATION_PAYLOAD` environment variable. -4. Helix and Azure Pipelines can report xUnit logs, so we will be updating QualityVault to produce an xUnit compatible log. We will then need to copy that log to a known location for it to be picked up. +1. Helix has built-in support for running xUnit tests. Since we are not using xUnit, we have to manually setup our machines so that they work with QualityVault and STI. During the build, we create a payload directory that contains the infrastructure we need. A single project (in our case `DrtXaml`) is responsible for creating this directory (see instances of the MSBuild property `CreateTestPayload`). +2. After the build is done, we utilize Arcade's `AfterSolutionBuild.targets` extension point to finish creating the rest of the payload if the `-test` parameter is passed to the build. Here we add the just built DRTs and if `-ci` was **not** passed into to the build, run the tests. +3. Helix allows you to specify a `HelixCorrelationPayload` directory, where this directory gets deployed to the Helix machine, and is made available in your various helix commands with the `HELIX_CORRELATION_PAYLOAD` environment variable. We use the payload directory created described above. +4. Helix and Azure Pipelines can report xUnit logs, so we will be updating QualityVault to produce an xUnit compatible log. We will then need to copy that log to a known location for it to be picked up. This location can be in any subfolder of the `HelixWorkItem` working directory. ## How we are running tests 1. Currently, the `HelixQueues` that we selected are Windows.10.Amd64.Open;Windows.7.Amd64.Open;Windows.10.Amd64.ServerRS5.Open. Essentially, this translates to: "Latest Windows 10", "Windows 7", and "Windows 10 RS5 Server" addition. This enables tests to run on some of the most interesting and important SKUs, without overloading the Helix servers and/or making CI runs take an unnecessarily long time to run. -2. In similar vain, we only run test passes for Release builds, mainly to save time and resources running duplicate tests in a near-identical environment. \ No newline at end of file +2. In a similar fashion, we only run test passes for Release builds, mainly to save time and resources running duplicate tests in a near-identical environment. \ No newline at end of file From 9bec6543200a8de5c7f548e7d2a704a4ad8e9145 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Fri, 31 May 2019 14:34:04 -0700 Subject: [PATCH 63/72] fixing typo --- eng/WpfArcadeSdk/tools/CreateTestPayload.targets | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index 958044295b7..c92938d61f4 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -17,10 +17,6 @@ - - - - $(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ @@ -34,10 +30,7 @@ - - - - + - - From a08952da42e9d5b9ce75b094a80ddc8cd4864ed3 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 3 Jun 2019 09:46:43 -0700 Subject: [PATCH 64/72] responding to pr feedback --- Documentation/developer-guide.md | 12 ++- eng/AddDrtsToPayload.targets | 26 ----- eng/WpfArcadeSdk/Sdk/Sdk.props | 4 + .../tools/AddDrtsToPayload.targets | 35 ++++++ .../tools/CreateTestPayload.targets | 23 ++-- eng/WpfArcadeSdk/tools/DrtsToRun.props | 9 ++ eng/WpfArcadeSdk/tools/RunDrtsLocal.targets | 7 +- eng/WpfArcadeSdk/tools/TestProjects.targets | 3 +- eng/helixpublish.proj | 100 +----------------- 9 files changed, 75 insertions(+), 144 deletions(-) delete mode 100644 eng/AddDrtsToPayload.targets create mode 100644 eng/WpfArcadeSdk/tools/AddDrtsToPayload.targets create mode 100644 eng/WpfArcadeSdk/tools/DrtsToRun.props diff --git a/Documentation/developer-guide.md b/Documentation/developer-guide.md index 3673835a6c1..3e3ae808a4f 100644 --- a/Documentation/developer-guide.md +++ b/Documentation/developer-guide.md @@ -35,15 +35,17 @@ In order to run the set of DRTs on your local machine, pass the `-test` paramete Ignore: 0 ``` -If there were any failures, you can cd into $(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test and run the tests manually with the `/debugtests` flag. This will open a cmd window, where you can open the test executable in Visual Studio and debug it. For example, to debug DrtXaml.exe you would enter this into the command window: +If there were any failures, you can cd into $(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test and run the tests manually with the `/debugtests` flag using the `RunDrts.cmd` script. Note that you do not run the `RunDrtsDebug` script, as this will debug the test infrastructure, `QualityVault`. When you pass the `/debugtests` flag, a cmd window will open where you can open the test executable in Visual Studio and debug it. When the cmd pops up, you will see instructions for debugging using a few different commands, however these commands will enable you to debug the `Simple Test Invocation` executable, `sti.exe`, which simply launches the test executable you are most likely interested in debugging. Using `DrtXaml.exe` as an example, this is how you can debug the test executable: +1. `$(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test\RunDrts.cmd /name=DrtXaml /debugtests` +2. Enter following command into the cmd window that pops up: `"%ProgramFiles%\Microsoft Visual Studio\2019\Preview\Common7\IDE\devenv.exe" DrtXaml.exe` +3. Once Visual Studio is open, manually change the debugger type from `Auto` to `Mixed (CoreCLR)`. +4. From there you can F5 and the test will execute. -Once Visual Studio is open, you will first need to manually change the debugger type from `Auto` to `Mixed (CoreCLR)`. From there you can F5 and the test will execute. +*Note: To run a specific test, you can pass the name of the test like this: `/name=DrtXaml`. The names of these tests are contained in DrtList.xml* -*Note: To run a specific test, you can pass the name of the test like this: `/name=DrtXaml`.* - -**NOTE: This requires being run from an admin window at the moment. This restriction will be removed shortly.** +**NOTE: This requires being run from an admin window at the moment. Removing this restriction is tracked by https://github.com/dotnet/wpf/issues/816. ** ### Testing Locally built WPF assemblies (excluding PresentationBuildTasks) This section of guide is intended to discuss the different approaches for ad-hoc testing of WPF assemblies, diff --git a/eng/AddDrtsToPayload.targets b/eng/AddDrtsToPayload.targets deleted file mode 100644 index 30f8f09b80a..00000000000 --- a/eng/AddDrtsToPayload.targets +++ /dev/null @@ -1,26 +0,0 @@ - - - - x64 - - - x86 - x64 - $(RepoRoot)artifacts\test\$(Configuration)\$(PayloadPlatformFolder) - $(PayloadBaseLocation)\Test\DRT - - - - - - - - - - - - - - - diff --git a/eng/WpfArcadeSdk/Sdk/Sdk.props b/eng/WpfArcadeSdk/Sdk/Sdk.props index 2393ddf03e9..19eec4d0054 100644 --- a/eng/WpfArcadeSdk/Sdk/Sdk.props +++ b/eng/WpfArcadeSdk/Sdk/Sdk.props @@ -17,6 +17,10 @@ 8.0 true true + + + win-$(Platform) + win-x86 diff --git a/eng/WpfArcadeSdk/tools/AddDrtsToPayload.targets b/eng/WpfArcadeSdk/tools/AddDrtsToPayload.targets new file mode 100644 index 00000000000..60c1044a63f --- /dev/null +++ b/eng/WpfArcadeSdk/tools/AddDrtsToPayload.targets @@ -0,0 +1,35 @@ + + + + + x64 + + + $(RepoRoot)artifacts\test\$(Configuration)\$(Platform)\ + $(PayloadBaseLocation)Test\DRT\ + + + + + + + + + + + + + + + + diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index c92938d61f4..4f21f19dd24 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -1,8 +1,6 @@ - win-$(Platform) - win-x86 $(NoWarn);NU3027;NU3018 @@ -10,40 +8,37 @@ x64 $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) - $(PublishRoot)\Test + $(PublishRoot)\Test\ - + - - $(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ + + $(Pkgruntime_win-x86_Microsoft_DotNet_Wpf_Test)\tools\$(WpfRuntimeIdentifier)\Test\ - - $(Pkgruntime_win-x64_Microsoft_DotNet_Wpf_Test)\tools\$(LocalRuntimeIdentifier)\Test\ + + $(Pkgruntime_win-x64_Microsoft_DotNet_Wpf_Test)\tools\$(WpfRuntimeIdentifier)\Test\ - + + DestinationFiles="@(MicrosoftDotNetWpfTestContents->'$(WpfTestBasePublishPath)%(RecursiveDir)%(Filename)%(Extension)')" /> - - + DestinationFolder="$(WpfTestBasePublishPath)DRT" /> diff --git a/eng/WpfArcadeSdk/tools/DrtsToRun.props b/eng/WpfArcadeSdk/tools/DrtsToRun.props new file mode 100644 index 00000000000..72da7bd3216 --- /dev/null +++ b/eng/WpfArcadeSdk/tools/DrtsToRun.props @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets index 8a73ac96dab..2c74d3ae3eb 100644 --- a/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets +++ b/eng/WpfArcadeSdk/tools/RunDrtsLocal.targets @@ -1,6 +1,11 @@ + - + diff --git a/eng/WpfArcadeSdk/tools/TestProjects.targets b/eng/WpfArcadeSdk/tools/TestProjects.targets index d5396b3a087..335d9cacf16 100644 --- a/eng/WpfArcadeSdk/tools/TestProjects.targets +++ b/eng/WpfArcadeSdk/tools/TestProjects.targets @@ -1,7 +1,6 @@ - win-$(Platform) - win-x86 + $(WpfRuntimeIdentifier) diff --git a/eng/helixpublish.proj b/eng/helixpublish.proj index 8f3aa2ac922..a662f8fbc98 100644 --- a/eng/helixpublish.proj +++ b/eng/helixpublish.proj @@ -1,12 +1,12 @@ + netcoreapp3.0 true runtime $(MicrosoftNetCoreAppVersion) - win-x86 - win-x64 + $(WpfRuntimeIdentifier) true true @@ -21,102 +21,10 @@ - + 00:20:00 - call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=Xaml + call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=%(Area) - \ No newline at end of file From ed35be03c31ca69ed44d0e7f0b0bf380f083adf2 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 3 Jun 2019 10:42:15 -0700 Subject: [PATCH 65/72] updating injectmoduleinitializer --- eng/WpfArcadeSdk/Sdk/Sdk.props | 5 +++- .../tools/InjectModuleInitializer.targets | 28 +++++++------------ 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/eng/WpfArcadeSdk/Sdk/Sdk.props b/eng/WpfArcadeSdk/Sdk/Sdk.props index 19eec4d0054..d688f838cfc 100644 --- a/eng/WpfArcadeSdk/Sdk/Sdk.props +++ b/eng/WpfArcadeSdk/Sdk/Sdk.props @@ -18,7 +18,10 @@ true true - + win-$(Platform) win-x86 diff --git a/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets b/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets index 1e9b0d757cd..2a246ef0937 100644 --- a/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets +++ b/eng/WpfArcadeSdk/tools/InjectModuleInitializer.targets @@ -1,12 +1,4 @@ - - - - win-$(Platform) - win-x86 - win-x64 - - - Bitness64 - Bitness32 + Bitness64 + Bitness32 From 9bfaccce112f93fc2f51b0c8628a52006d036771 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 3 Jun 2019 11:59:48 -0700 Subject: [PATCH 66/72] fix batching --- .../tools/configure-helix-machine.ps1 | 26 +------------------ eng/helixpublish.proj | 2 +- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 index 4f20fb2866a..50004a6ef5c 100644 --- a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 +++ b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 @@ -3,28 +3,4 @@ $dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.P # Set DOTNET_ROOT variables so the host can find it Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation -Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation - -$runtimes = dotnet --list-runtimes -foreach ($rt in $runtimes) -{ - if ($rt.StartsWith("Microsoft.WindowsDesktop.App")) - { - $version = $rt.Split(" ")[1] - } -} - -# Rewrite the *.runtimeconfig.json files to match the version of the runtime on the machine -$infraLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test\Infra" -$stiConfigFile = Join-Path $infraLocation "Sti.runtimeconfig.json" -$qvConfigFile = Join-Path $infraLocation "QualityVaultFrontEnd.runtimeconfig.json" -$configFiles = $stiConfigFile, $qvConfigFile -foreach ($config in $configFiles) -{ - # Read current config file - $jsondata = Get-Content -Raw -Path $config | ConvertFrom-Json - # Update version - $jsondata.runtimeOptions.framework.version = $version - # Write data back - $jsondata | ConvertTo-Json -depth 100 | Set-Content $config -} \ No newline at end of file +Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation \ No newline at end of file diff --git a/eng/helixpublish.proj b/eng/helixpublish.proj index a662f8fbc98..c1c150c4535 100644 --- a/eng/helixpublish.proj +++ b/eng/helixpublish.proj @@ -21,7 +21,7 @@ - + 00:20:00 call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=%(Area) From f64744a57052d27f1361e61943da5da031cae974 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Mon, 3 Jun 2019 14:23:16 -0700 Subject: [PATCH 67/72] add back workaround for missing WindowsDesktop --- .../tools/configure-helix-machine.ps1 | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 index 50004a6ef5c..eae32cb9213 100644 --- a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 +++ b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 @@ -3,4 +3,41 @@ $dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.P # Set DOTNET_ROOT variables so the host can find it Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation -Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation \ No newline at end of file +Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation + +# Temporary workaround until https://github.com/dotnet/wpf/issues/816 is addressed. +# The test infrastructure is built against an older version of Microsoft.WindowsDesktop.App. +# Here we re-write the infrastructure runtimeconfig files so that they can load +$runtimes = dotnet --list-runtimes +foreach ($rt in $runtimes) +{ + if ($rt.StartsWith("Microsoft.WindowsDesktop.App")) + { + $version = $rt.Split(" ")[1] + } +} + +if ($null -ne $version) +{ + # Rewrite the *.runtimeconfig.json files to match the version of the runtime on the machine + $infraLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test\Infra" + $stiConfigFile = Join-Path $infraLocation "Sti.runtimeconfig.json" + $qvConfigFile = Join-Path $infraLocation "QualityVaultFrontEnd.runtimeconfig.json" + $configFiles = $stiConfigFile, $qvConfigFile + foreach ($config in $configFiles) + { + # Read current config file + $jsondata = Get-Content -Raw -Path $config | ConvertFrom-Json + # Update version + $jsondata.runtimeOptions.framework.version = $version + # Write data back + $jsondata | ConvertTo-Json -depth 100 | Set-Content $config + } +} +else +{ + Write-Error "No WindowsDesktop runtime found on machine!" + + Write-Output "Runtimes installed:" + Write-Output $runtimes +} From 61d53a83e58188f1da040fe72b5c696ebfc55552 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 4 Jun 2019 06:48:36 -0700 Subject: [PATCH 68/72] add WindowsDesktop package to payload for CI builds QualityVault and STI require the WindowsDesktop package --- .../tools/CreateTestPayload.targets | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index 4f21f19dd24..74ec58027b8 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -6,9 +6,11 @@ x86 x64 - $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) + $(RepoRoot)artifacts\test\$(Configuration)\$(PlatformFolder) - $(PublishRoot)\Test\ + $(PayloadRoot)\Test\ + + $(PayloadRoot)\dotnet\shared\Microsoft.WindowsDesktop.App\ @@ -29,16 +31,26 @@ + + + + DestinationFiles="@(MicrosoftDotNetWpfTestContents->'$(WpfTestBasePayloadPath)%(RecursiveDir)%(Filename)%(Extension)')" /> + DestinationFolder="$(PayloadRoot)" /> + DestinationFolder="$(WpfTestBasePayloadPath)DRT" /> + + From d8b1f9037b1a351847af97c747a34803be34e3a6 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 4 Jun 2019 10:59:28 -0700 Subject: [PATCH 69/72] ensure ResolveFrameworkReferences actually works --- .../tools/configure-helix-machine.ps1 | 5 -- eng/WpfArcadeSdk/tools/runtests.ps1 | 24 ++++++- eng/helixpublish.proj | 2 +- .../BamlAvoidXmlTest/BamlAvoidXmlTest.csproj | 6 -- .../test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj | 2 +- .../XamlTestClasses/XamlTestClasses.csproj | 1 + .../test/Directory.Build.props | 2 +- .../test/MultiTargeting.props | 65 +++++++++++++++++++ 8 files changed, 90 insertions(+), 17 deletions(-) create mode 100644 src/Microsoft.DotNet.Wpf/test/MultiTargeting.props diff --git a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 index eae32cb9213..63d0db5ed97 100644 --- a/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 +++ b/eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 @@ -1,9 +1,4 @@ # This file prepares the helix machine for our tests runs -$dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" - -# Set DOTNET_ROOT variables so the host can find it -Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $dotnetLocation -Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation # Temporary workaround until https://github.com/dotnet/wpf/issues/816 is addressed. # The test infrastructure is built against an older version of Microsoft.WindowsDesktop.App. diff --git a/eng/WpfArcadeSdk/tools/runtests.ps1 b/eng/WpfArcadeSdk/tools/runtests.ps1 index b3cda8665db..f9da1e186ce 100644 --- a/eng/WpfArcadeSdk/tools/runtests.ps1 +++ b/eng/WpfArcadeSdk/tools/runtests.ps1 @@ -1,13 +1,31 @@ [CmdLetBinding()] Param( - [string]$command + [string]$command, + [switch]$ci ) -# Configure the machine before running tests -if (Test-Path "$PSScriptRoot\configure-helix-machine.ps1") +if ($ci) { + # When running in ci, the dotnet install is located at %HELIX_CORRELATION_PAYLOAD% along with all our test content. + $dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "dotnet" + # Only either the x86 or x64 versions of dotnet are installed on the helix machine, and they both go to the same location + $x86dotnetLocation = $dotnetLocation + + # Run any extra machine setup required for Helix . "$PSScriptRoot\configure-helix-machine.ps1" } +else +{ + # When running local, we run out of $(RepoRoot)artifacts\test\$(Configuration)\$(Platform) + # The dotnet install is located at $(RepoRoot).dotnet + $dotnetLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "..\..\..\..\.dotnet" -Resolve + # The x86 location installed by Arcade is in the x86 directory + $x86dotnetLocation = "$dotnetLocation\x86" +} + +# Set DOTNET_ROOT variables so the host can find it +Set-Item -Path "env:DOTNET_ROOT(x86)" -Value $x86dotnetLocation +Set-Item -Path "env:DOTNET_ROOT" -Value $dotnetLocation # Run the tests $testLocation = Join-Path (Split-Path -Parent $script:MyInvocation.MyCommand.Path) "Test" diff --git a/eng/helixpublish.proj b/eng/helixpublish.proj index c1c150c4535..1b081126899 100644 --- a/eng/helixpublish.proj +++ b/eng/helixpublish.proj @@ -23,7 +23,7 @@ 00:20:00 - call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=%(Area) + call %HELIX_CORRELATION_PAYLOAD%\runtests.cmd /Area=%(Area) -ci diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj index dae72c72de6..6587485ae36 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/BamlAvoidXmlTest/BamlAvoidXmlTest.csproj @@ -1,12 +1,6 @@ BamlAvoidXmlTest - console - WCP - false - true - - BamlAvoidXmlTest AnyCPU;x64 diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj index 769c148aa6e..39fdb07e5da 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/DrtXaml/DrtXaml.csproj @@ -3,7 +3,7 @@ DrtXaml DrtXaml console - WinExe + Exe AnyCPU;x64 DrtXaml.XamlDrt true diff --git a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj index a0d7274219d..72ccaf787f5 100644 --- a/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj +++ b/src/Microsoft.DotNet.Wpf/test/DRT/DrtXaml/XamlTestClasses/XamlTestClasses.csproj @@ -6,6 +6,7 @@ + true DrtXaml.snk diff --git a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props index 16e1712ef31..e7d3f6b26b9 100644 --- a/src/Microsoft.DotNet.Wpf/test/Directory.Build.props +++ b/src/Microsoft.DotNet.Wpf/test/Directory.Build.props @@ -10,7 +10,6 @@ false false false - netcoreapp3.0 false @@ -18,4 +17,5 @@ false + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props b/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props new file mode 100644 index 00000000000..f2482461c39 --- /dev/null +++ b/src/Microsoft.DotNet.Wpf/test/MultiTargeting.props @@ -0,0 +1,65 @@ + + + netcoreapp3.0 + + + + $(DefineConstants);NET4X + $(DefineConstants);NETCOREAPP3_X + + $(DefineConstants);NET40 + $(DefineConstants);NET45 + $(DefineConstants);NET451 + $(DefineConstants);NET452 + $(DefineConstants);NET453 + $(DefineConstants);NET46 + $(DefineConstants);NET461 + $(DefineConstants);NET462 + $(DefineConstants);NET47 + $(DefineConstants);NET471 + $(DefineConstants);NET472 + + $(DefineConstants);NETCOREAPP3_0 + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers + + + all + runtime; build; native; contentfiles; analyzers + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 6764712498f42ba8ed435663efc12bfcfb5887e3 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 4 Jun 2019 13:04:51 -0700 Subject: [PATCH 70/72] workaround no windowsdesktop install on helix machine --- eng/Versions.props | 4 ++++ .../tools/CreateTestPayload.targets | 19 ++++++++++--------- eng/helixpublish.proj | 14 +++++++++++++- eng/pipeline.yml | 6 +++++- eng/pre-build.ps1 | 7 +++++++ 5 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 eng/pre-build.ps1 diff --git a/eng/Versions.props b/eng/Versions.props index 841a8a4784d..7e0eb5fa390 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -58,6 +58,10 @@ 2.4.0 $(XUnitVersion) $(XUnitVersion) + 1.0.0-beta.19263.1 diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index 74ec58027b8..935ee0943a7 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -10,7 +10,7 @@ $(PayloadRoot)\Test\ - $(PayloadRoot)\dotnet\shared\Microsoft.WindowsDesktop.App\ + $(PayloadRoot)\dotnet\shared\Microsoft.NETCore.App\$(MicrosoftNETCoreAppVersion)\ @@ -31,12 +31,7 @@ - - - + - + diff --git a/eng/helixpublish.proj b/eng/helixpublish.proj index 1b081126899..81f734141b4 100644 --- a/eng/helixpublish.proj +++ b/eng/helixpublish.proj @@ -3,9 +3,21 @@ netcoreapp3.0 true + + $(MicrosoftNetCoreAppVersion) + --> + sdk + $(DotNetCliVersion) $(WpfRuntimeIdentifier) true diff --git a/eng/pipeline.yml b/eng/pipeline.yml index f92f5428ee6..0f70d2be7ae 100644 --- a/eng/pipeline.yml +++ b/eng/pipeline.yml @@ -119,7 +119,11 @@ jobs: steps: - checkout: self clean: true - + + # Set VSO Variable(s) + - powershell: eng\pre-build.ps1 + displayName: Pre-Build - Set VSO Variables + # Use utility script to run script command dependent on agent OS. - script: eng\common\cibuild.cmd -configuration $(_BuildConfig) diff --git a/eng/pre-build.ps1 b/eng/pre-build.ps1 new file mode 100644 index 00000000000..baad60ccbd9 --- /dev/null +++ b/eng/pre-build.ps1 @@ -0,0 +1,7 @@ +# Open global.json +$globaljsonpath = Join-Path $env:BUILD_SOURCESDIRECTORY 'global.json' +$jsondata = Get-Content -Raw -Path $globaljsonpath | ConvertFrom-Json + +# Set DotNetCliVersion to global.json.tools.dotnet +$dotnetcliver = $jsondata.tools.dotnet +Write-Host "##vso[task.setvariable variable=DotNetCliVersion;]$dotnetcliver" \ No newline at end of file From 3c1d3264ae6ffef40d9a2b8f1dc1a7466e9199f9 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 4 Jun 2019 13:52:27 -0700 Subject: [PATCH 71/72] updating developer documentation --- Documentation/developer-guide.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Documentation/developer-guide.md b/Documentation/developer-guide.md index 3e3ae808a4f..fae16537f42 100644 --- a/Documentation/developer-guide.md +++ b/Documentation/developer-guide.md @@ -35,15 +35,19 @@ In order to run the set of DRTs on your local machine, pass the `-test` paramete Ignore: 0 ``` -If there were any failures, you can cd into $(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test and run the tests manually with the `/debugtests` flag using the `RunDrts.cmd` script. Note that you do not run the `RunDrtsDebug` script, as this will debug the test infrastructure, `QualityVault`. When you pass the `/debugtests` flag, a cmd window will open where you can open the test executable in Visual Studio and debug it. When the cmd pops up, you will see instructions for debugging using a few different commands, however these commands will enable you to debug the `Simple Test Invocation` executable, `sti.exe`, which simply launches the test executable you are most likely interested in debugging. Using `DrtXaml.exe` as an example, this is how you can debug the test executable: +If there were any failures, you can cd into $(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test and run the tests manually with the `/debugtests` flag using the `RunDrts.cmd` script. Note that you do not run the `RunDrtsDebug` script, as this will debug the test infrastructure, `QualityVault`. When you pass the `/debugtests` flag, a cmd window will open where you can open the test executable in Visual Studio and debug it. When the cmd pops up, you will see instructions for debugging using a few different commands, however these commands will enable you to debug the `Simple Test Invocation` executable, `sti.exe`, which simply launches the test executable you are most likely interested in debugging. Using `DrtXaml.exe` as an example, this is how you can debug the test executable. Any MSBuild style properties should be replaced with actual values: 1. `$(RepoRoot)\artifacts\test\$(Configuration)\$(Platform)\Test\RunDrts.cmd /name=DrtXaml /debugtests` 2. Enter following command into the cmd window that pops up: `"%ProgramFiles%\Microsoft Visual Studio\2019\Preview\Common7\IDE\devenv.exe" DrtXaml.exe` -3. Once Visual Studio is open, manually change the debugger type from `Auto` to `Mixed (CoreCLR)`. +3. Once Visual Studio is open, go to `Debug-> DrtXaml Properties` and do the following: + - Manually change the `Debugger Type` from `Auto` to `Mixed (CoreCLR)`. + - Change the `Environment` from `Default` to a custom one that properly defines the `DOTNET_ROOT` variable so that the host is able to locate the install of `Microsoft.NETCore.App`. + - x86 (Default): Name: `DOTNET_ROOT(x86)` Value: `$(RepoRoot).dotnet\x86` + - x64 (/p:Platform=x64): Name: `DOTNET_ROOT` Value: `$(RepoRoot).dotnet` 4. From there you can F5 and the test will execute. -*Note: To run a specific test, you can pass the name of the test like this: `/name=DrtXaml`. The names of these tests are contained in DrtList.xml* +*Note: To run a specific test, you can pass the name of the test like this: `/name=DrtXaml`. The names of these tests are contained in DrtList.xml.* **NOTE: This requires being run from an admin window at the moment. Removing this restriction is tracked by https://github.com/dotnet/wpf/issues/816. ** From b5372647b221f2b9fbc78de76e6d8d73f9810699 Mon Sep 17 00:00:00 2001 From: Steven Kirbach Date: Tue, 4 Jun 2019 15:59:06 -0700 Subject: [PATCH 72/72] allow for looking outside of local dotnet install --- .../tools/CreateTestPayload.targets | 9 ++- .../tools/configure-helix-machine.ps1 | 38 ---------- eng/WpfArcadeSdk/tools/configure-machine.ps1 | 71 +++++++++++++++++++ eng/WpfArcadeSdk/tools/runtests.ps1 | 35 ++++----- 4 files changed, 93 insertions(+), 60 deletions(-) delete mode 100644 eng/WpfArcadeSdk/tools/configure-helix-machine.ps1 create mode 100644 eng/WpfArcadeSdk/tools/configure-machine.ps1 diff --git a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets index 935ee0943a7..d96c8e11098 100644 --- a/eng/WpfArcadeSdk/tools/CreateTestPayload.targets +++ b/eng/WpfArcadeSdk/tools/CreateTestPayload.targets @@ -26,12 +26,17 @@ + + $(DotNetRoot)x86\ + $(DotNetRoot) + + - - + +