diff --git a/Directory.Build.props b/Directory.Build.props
index 778e8f488c..59d4f521d2 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -26,7 +26,7 @@
$(TPVersionPrefix)-dev15.0.0
-
+
false
@@ -52,15 +52,72 @@
net462
-
- net9.0
- netcoreapp3.1
+ net8.0
+ net9.0
+ -->
$(NetMinimum)
+
+
+ net48
+
+ $(NetCoreAppStable)
+
+ $(NetCoreAppMinimum)
+ $(NetSDKTargetFramework);$(NetPortableTargetFrameworks)
+ $(NetFrameworkRunnerTargetFramework);$(NetRunnerTargetFrameworks)
+
+
+ $(RunnerTargetFrameworks)
+
+ netstandard2.0
+
+
+ $(NetCoreAppMinimum);$(NetFrameworkMinimum)
+
+ $(TestHostMinimumTargetFrameworks);net47;net471;net472;net48;net481
+
+
+ $(NetFrameworkMinimum);netstandard2.0
diff --git a/azure-pipelines-official.yml b/azure-pipelines-official.yml
index 74309bc0ae..442ad55ab2 100644
--- a/azure-pipelines-official.yml
+++ b/azure-pipelines-official.yml
@@ -55,7 +55,7 @@ parameters:
image: 1es-ubuntu-2204
os: linux
- name: Azure Pipelines
- image: macOS-12
+ image: macos-14
os: macOS
variables:
@@ -127,7 +127,7 @@ extends:
enabled: true
pool:
name: $(DncEngInternalBuildPool)
- image: 1es-windows-2022
+ image: windows.vs2022preview.amd64
os: windows
customBuildTags:
- ES365AIMigrationTooling
@@ -151,7 +151,7 @@ extends:
timeoutInMinutes: 120
pool:
name: $(DncEngInternalBuildPool)
- image: 1es-windows-2022
+ image: windows.vs2022preview.amd64
os: windows
steps:
# This steps help to understand versions of .NET runtime installed on the machine,
@@ -200,7 +200,7 @@ extends:
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/VSSetup/Release'
ArtifactName: VSSetupArtifacts
-
+
- ${{ each pool in parameters.otherOsPools }}:
- job: ${{ pool.os }}
dependsOn: Windows
@@ -250,12 +250,12 @@ extends:
condition: failed()
- job: Publish
- dependsOn:
+ dependsOn:
- ${{ each pool in parameters.otherOsPools }}:
- ${{ pool.os }}
pool:
name: $(DncEngInternalBuildPool)
- image: 1es-windows-2022
+ image: windows.vs2022preview.amd64
os: windows
steps:
# The template job needs a log, otherwise it writes a warning. We can disable log uploading only for
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index f4cf78e518..16723ccbc2 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -81,7 +81,7 @@ stages:
timeoutInMinutes: 120
pool:
name: NetCore-Public
- demands: ImageOverride -equals windows.vs2022.amd64.open
+ demands: ImageOverride -equals windows.vs2022preview.amd64.open
strategy:
matrix:
Release:
@@ -157,7 +157,7 @@ stages:
vmImage: ubuntu-22.04
pwsh: true
macOS_12:
- vmImage: macOS-12
+ vmImage: macos-14
pwsh: true
pool:
vmImage: $[ variables['vmImage'] ]
diff --git a/docs/diagnose.md b/docs/diagnose.md
index cd7a965ab2..2ec2a57bc5 100644
--- a/docs/diagnose.md
+++ b/docs/diagnose.md
@@ -101,11 +101,13 @@ Add the following content to the config file (`vstest.console.exe.config` or `te
```
-## Collect trace in VSTS CI (VSTest Task)
+## Collect trace in Azure DevOps CI (VSTest Task)
Add a variable to the build definition named `System.Debug` with value `True`. This can
be done while a new build is queued.
+
+
This variable will ensure:
* Exact command line of `vstest.console.exe` is reported. It can be used to isolate if there
@@ -113,6 +115,10 @@ are errors in translating user inputs in the task to command line options of vst
* The task invokes `vstest.console.exe` with `/diag` option. The log files can be uploaded
as artifacts for diagnosing errors.
+Logs can be downloaded by clicking the right hand `...` menu:
+
+
+
## Debug test platform components
The runner and test host processes support waiting for debugger attach. You can
diff --git a/docs/filter.md b/docs/filter.md
index ecd6bf9351..9cd974f300 100644
--- a/docs/filter.md
+++ b/docs/filter.md
@@ -20,6 +20,7 @@ supported by popular unit test frameworks.
| -------------- | -------------------- |
| MSTest |
FullyQualifiedName
Name
ClassName
Priority
TestCategory
|
| Xunit |
FullyQualifiedName
DisplayName
Traits
|
+| NUnit |
FullyQualifiedName
Name
Priority
TestCategory
Category
Property
|
Allowed **operators**:
@@ -145,3 +146,49 @@ In above code we defined traits with keys `Category` and `Priority` which can be
| `dotnet test --filter "FullyQualifiedName~TestClass1\|Category=Nightly"` | Runs tests which have `TestClass1` in FullyQualifiedName **or** Category is Nightly. |
| `dotnet test --filter "FullyQualifiedName~TestClass1&Category=Nightly"` | Runs tests which have `TestClass1` in FullyQualifiedName **and** Category is Nightly. |
| `dotnet test --filter "(FullyQualifiedName~TestClass1&Category=Nightly)\|Priority=1"` | Runs tests which have either FullyQualifiedName contains `TestClass1` and Category is CategoryA or Priority is 1. |
+
+### NUnit
+
+```csharp
+namespace NUnitTestNamespace;
+
+public class TestClass
+{
+ [Property("Priority","1")]
+ [Test]
+ public void Test1()
+ {
+ Assert.Pass();
+ }
+
+ [Property("Whatever", "SomeValue")]
+ [Test]
+ public void Test2()
+ {
+ Assert.Pass();
+ }
+
+ [Category("SomeCategory")]
+ [Test]
+ public void Test3()
+ {
+ Assert.Pass();
+ }
+}
+```
+
+#### Usage of the filters
+
+| Expression | What it does? |
+| ---------- | ------------- |
+| `dotnet test --filter FullyQualifiedName=NUnitTestNamespace.TestClass.Test1` | Runs only the given test |
+| `dotnet test --filter Name=Test1` | Runs all tests whose test name (method) equals `Test1`. |
+| `dotnet test --filter Name=TestClass` | Runs tests within all classes named `TestClass`. |
+| `dotnet test --filter Name=NUnitTestNamespace` | Runs all tests within the namespace `NUnitTestNamespace`. |
+| `dotnet test --filter Priority=1` | Runs tests with property named Priority and value = 1`. |
+| `dotnet test --filter Whatever=TestClass` | Runs tests with property named `Whatever` and value = `SomeValue`. |
+| `dotnet test --filter Category=SomeCategory` | Runs tests with category set to `SomeCategory`. Note: You can also use TestCategory in the filter. |
+
+Logical operators works the same as for the other frameworks.
+
+
diff --git a/eng/SourceBuildPrebuiltBaseline.xml b/eng/SourceBuildPrebuiltBaseline.xml
index 60430ce23a..7ea9e1d42c 100644
--- a/eng/SourceBuildPrebuiltBaseline.xml
+++ b/eng/SourceBuildPrebuiltBaseline.xml
@@ -3,18 +3,24 @@
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 669af05aef..fc8d66b290 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,18 +1,18 @@
-
+ https://dev.azure.com/devdiv/DevDiv/_git/vs-code-coverage
- 3889f929bc86d4f819c62bfa687b01660c9e195d
+ b6dfeb0bf4de53059328b3ee65ef2f60adb32de0
-
+ https://github.com/dotnet/diagnostics
- 8c505ca6921b5f7e9b8acc234cc8f15035537ee4
+ d17085c285c6550b8a1a11ded6b38355be39edee
-
+ https://github.com/dotnet/diagnostics
- 8c505ca6921b5f7e9b8acc234cc8f15035537ee4
+ d17085c285c6550b8a1a11ded6b38355be39edee
@@ -22,14 +22,14 @@
-
+ https://github.com/dotnet/source-build-reference-packages
- 1ebd9ce245112164207d961c0d2faea741c7c489
+ f18184030957ae8b02c6cb971ff2a58a06d2e7b1
- https://github.com/dotnet/corefx
+ https://github.com/dotnet/runtime30ab651fcb4354552bd4891619a0bdd81e0ebdbf
@@ -44,14 +44,14 @@
-
+ https://github.com/dotnet/arcade
- 1c7e09a8d9c9c9b15ba574cd6a496553505559de
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+ https://github.com/dotnet/arcade
- 1c7e09a8d9c9c9b15ba574cd6a496553505559de
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
@@ -62,9 +62,9 @@
https://github.com/dotnet/symreader-converterc5ba7c88f92e2dde156c324a8c8edc04d9fa4fe0
-
+ https://github.com/dotnet/arcade
- 1c7e09a8d9c9c9b15ba574cd6a496553505559de
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
diff --git a/eng/Versions.props b/eng/Versions.props
index 208b92ffb4..b243824931 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -13,7 +13,7 @@
from appending +, which breaks DTAAgent.
-->
false
- 17.13.0
+ 17.14.0preview
@@ -21,6 +21,8 @@
truetrue
+
+ true1.2.0
@@ -29,6 +31,12 @@
Because you will need to update Microsoft.TestPlatform.Build.UnitTests to build using that concrete .NET TFM, e.g. net8.0 for 17.8.3.
Otherwise it will restore the netstandard2.0 *reference* library into test project bin, and the test project will fail
with File not found error.
+
+ Could not load file or assembly 'Microsoft.Build.Utilities.Core...
+ -->
+
17.8.3$(MicrosoftBuildFrameworkPackageVersion)
@@ -36,32 +44,38 @@
$(MicrosoftBuildFrameworkPackageVersion)$(MicrosoftBuildFrameworkPackageVersion)$(MicrosoftBuildFrameworkPackageVersion)
- 3.11.0
- 3.11.0-beta1.23525.2
- 3.11.0-beta1.23525.2
+ 4.11.0
+ 3.3.4
+ 3.3.417.7.0
- 0.2.0-preview.24566.1
- 3.1.0
- 2.0.0
- 17.9.0-beta.24058.4
- 17.14.0-preview.25056.1
- 17.10.34924.118
+ 0.2.607701
+ 6.0.2
+ 6.0.0
+ 17.12.0
+ 17.14.0-preview.25081.9
+
+ 17.13.35723.115$(MicrosoftVisualStudioDiagnosticsUtilitiesVersion)
- 17.10.525-preview.1
- 17.6.46
- 16.3.42
+ 17.13.39960
+ 17.13.24
+ 16.3.9017.4.2124
- 13.0.1
- 13.0.3
- 1.5.0
- 4.5.0
+ 5.0.0
+ 13.0.3
+ 8.0.0
+ 8.0.04.5.54.3.4
- 1.6.0
+ 8.0.04.3.217.10.0-preview-2-34602-16217.10.0-preview-2-34602-162
- 17.9.34504.149
+ 17.12.35519.223
+ 5.0.0
+ 6.1.0
@@ -74,7 +88,6 @@
3.4.33.4.31.0.3-preview
-
2.4.22.4.52.4.2
diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake
index 9a4e285a5a..9a7ecfbd42 100644
--- a/eng/common/cross/toolchain.cmake
+++ b/eng/common/cross/toolchain.cmake
@@ -40,7 +40,7 @@ if(TARGET_ARCH_NAME STREQUAL "arm")
set(TOOLCHAIN "arm-linux-gnueabihf")
endif()
if(TIZEN)
- set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0")
+ set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
set(CMAKE_SYSTEM_PROCESSOR aarch64)
@@ -49,7 +49,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
elseif(LINUX)
set(TOOLCHAIN "aarch64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu")
endif()
elseif(FREEBSD)
set(triple "aarch64-unknown-freebsd12")
@@ -58,7 +58,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "armel")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(TOOLCHAIN "arm-linux-gnueabi")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0")
+ set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "armv6")
set(CMAKE_SYSTEM_PROCESSOR armv6l)
@@ -81,7 +81,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "riscv64")
else()
set(TOOLCHAIN "riscv64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu/13.1.0")
+ set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu")
endif()
endif()
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
@@ -98,7 +98,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
elseif(LINUX)
set(TOOLCHAIN "x86_64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu")
endif()
elseif(FREEBSD)
set(triple "x86_64-unknown-freebsd12")
@@ -115,7 +115,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
set(TOOLCHAIN "i686-linux-gnu")
endif()
if(TIZEN)
- set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu")
endif()
else()
message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!")
@@ -127,30 +127,25 @@ endif()
# Specify include paths
if(TIZEN)
- if(TARGET_ARCH_NAME STREQUAL "arm")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7hl-tizen-linux-gnueabihf)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "armel")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "arm64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "x86")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "x64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/x86_64-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "riscv64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/riscv64-tizen-linux-gnu)
+ function(find_toolchain_dir prefix)
+ # Dynamically find the version subdirectory
+ file(GLOB DIRECTORIES "${prefix}/*")
+ list(GET DIRECTORIES 0 FIRST_MATCH)
+ get_filename_component(TOOLCHAIN_VERSION ${FIRST_MATCH} NAME)
+
+ set(TIZEN_TOOLCHAIN_PATH "${prefix}/${TOOLCHAIN_VERSION}" PARENT_SCOPE)
+ endfunction()
+
+ if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
+ find_toolchain_dir("${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ else()
+ find_toolchain_dir("${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
endif()
+
+ message(STATUS "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH}")
+
+ include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++)
+ include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++/${TIZEN_TOOLCHAIN})
endif()
if(ANDROID)
@@ -272,21 +267,21 @@ endif()
if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64|riscv64)$")
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64")
- add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
add_toolchain_linker_flag("--target=${TOOLCHAIN}")
@@ -297,10 +292,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
endif()
add_toolchain_linker_flag(-m32)
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(ILLUMOS)
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
diff --git a/eng/common/internal/Tools.csproj b/eng/common/internal/Tools.csproj
index 32f79dfb34..feaa6d2081 100644
--- a/eng/common/internal/Tools.csproj
+++ b/eng/common/internal/Tools.csproj
@@ -15,16 +15,6 @@
-
-
-
- https://devdiv.pkgs.visualstudio.com/_packaging/dotnet-core-internal-tooling/nuget/v3/index.json;
-
-
- $(RestoreSources);
- https://devdiv.pkgs.visualstudio.com/_packaging/VS/nuget/v3/index.json;
-
-
diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1
index aab40de3fd..4f0546dce1 100644
--- a/eng/common/sdk-task.ps1
+++ b/eng/common/sdk-task.ps1
@@ -64,7 +64,7 @@ try {
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
}
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
- $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.10.0-pre.4.0" -MemberType NoteProperty
+ $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.12.0" -MemberType NoteProperty
}
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
diff --git a/eng/common/template-guidance.md b/eng/common/template-guidance.md
index 5ef6c30ba9..98bbc1ded0 100644
--- a/eng/common/template-guidance.md
+++ b/eng/common/template-guidance.md
@@ -57,7 +57,7 @@ extends:
Note: Multiple outputs are ONLY applicable to 1ES PT publishing (only usable when referencing `templates-official`).
-# Development notes
+## Development notes
**Folder / file structure**
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index 22954477a5..a46b6deb75 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -320,7 +320,7 @@ function InstallDotNet([string] $dotnetRoot,
$variations += @($installParameters)
$dotnetBuilds = $installParameters.Clone()
- $dotnetbuilds.AzureFeed = "https://dotnetbuilds.azureedge.net/public"
+ $dotnetbuilds.AzureFeed = "https://ci.dot.net/public"
$variations += @($dotnetBuilds)
if ($runtimeSourceFeed) {
@@ -383,8 +383,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
# If the version of msbuild is going to be xcopied,
# use this version. Version matches a package here:
- # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.10.0-pre.4.0
- $defaultXCopyMSBuildVersion = '17.10.0-pre.4.0'
+ # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.12.0
+ $defaultXCopyMSBuildVersion = '17.12.0'
if (!$vsRequirements) {
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
index 00473c9f91..1159726a10 100644
--- a/eng/common/tools.sh
+++ b/eng/common/tools.sh
@@ -232,7 +232,7 @@ function InstallDotNet {
local public_location=("${installParameters[@]}")
variations+=(public_location)
- local dotnetbuilds=("${installParameters[@]}" --azure-feed "https://dotnetbuilds.azureedge.net/public")
+ local dotnetbuilds=("${installParameters[@]}" --azure-feed "https://ci.dot.net/public")
variations+=(dotnetbuilds)
if [[ -n "${6:-}" ]]; then
diff --git a/eng/verify-nupkgs.ps1 b/eng/verify-nupkgs.ps1
index 6fb1274ada..8b922cde5f 100644
--- a/eng/verify-nupkgs.ps1
+++ b/eng/verify-nupkgs.ps1
@@ -19,14 +19,14 @@ function Verify-Nuget-Packages {
$expectedNumOfFiles = @{
"Microsoft.CodeCoverage" = 59;
"Microsoft.NET.Test.Sdk" = 15;
- "Microsoft.TestPlatform" = 609;
+ "Microsoft.TestPlatform" = 619;
"Microsoft.TestPlatform.Build" = 20;
- "Microsoft.TestPlatform.CLI" = 471;
+ "Microsoft.TestPlatform.CLI" = 481;
"Microsoft.TestPlatform.Extensions.TrxLogger" = 34;
"Microsoft.TestPlatform.ObjectModel" = 92;
- "Microsoft.TestPlatform.AdapterUtilities" = 75;
- "Microsoft.TestPlatform.Portable" = 592;
- "Microsoft.TestPlatform.TestHost" = 62;
+ "Microsoft.TestPlatform.AdapterUtilities" = 61;
+ "Microsoft.TestPlatform.Portable" = 608;
+ "Microsoft.TestPlatform.TestHost" = 63;
"Microsoft.TestPlatform.TranslationLayer" = 122;
"Microsoft.TestPlatform.Internal.Uwp" = 38;
}
@@ -63,7 +63,7 @@ function Verify-Nuget-Packages {
Write-Host "Found $(@($nugetPackages).Count) nuget packages:`n $($nugetPackages.FullName -join "`n ")"
- Write-Host "Unzipping NuGet packages."
+ Write-Host "Unzipping NuGet packages to '$tmpDirectory'."
$unzipNugetPackageDirs = @()
foreach ($nugetPackage in $nugetPackages) {
$unzipNugetPackageDir = Join-Path $tmpDirectory $nugetPackage.BaseName
@@ -189,8 +189,8 @@ function Verify-NugetPackageExe {
}
$errs = @()
- $exes = $UnzipNugetPackages | Get-ChildItem -Filter *.exe -Recurse -Force
- if (0 -eq @($exes).Length) {
+ $exes = $UnzipNugetPackages | Get-ChildItem -Filter *.exe -Recurse -Force
+ if (0 -eq @($exes).Length) {
throw "No exe files were found."
}
@@ -215,7 +215,7 @@ function Verify-NugetPackageExe {
$fullName = $_.FullName
$name = $_.Name
- if ("x86" -eq $platform) {
+ if ("x86" -eq $platform) {
$corFlagsOutput = & $corFlags $fullName
# this is an native x86 exe or a .net x86 that requires of prefers 32bit
$platform = if ($corFlagsOutput -like "*does not have a valid managed header*" -or $corFlagsOutput -like "*32BITREQ : 1*" -or $corFlagsOutput -like "*32BITPREF : 1*") {
@@ -268,7 +268,7 @@ function Verify-NugetPackageExe {
"Success: $name is $platform - $fullName"
}
- if ($errs) {
+ if ($errs) {
throw "Fail!:`n$($errs -join "`n")"
}
}
@@ -282,7 +282,7 @@ function Verify-NugetPackageVersion {
)
# look for vstest.console.dll because unified build for .NET does not produce vstest.console.exe
- $exes = $UnzipNugetPackages | Get-ChildItem -Filter vstest.console.dll -Recurse -Force
+ $exes = $UnzipNugetPackages | Get-ChildItem -Filter vstest.console.dll -Recurse -Force
if (0 -eq @($exes).Length) {
throw "No vstest.console.dll files were found."
}
@@ -294,7 +294,7 @@ function Verify-NugetPackageVersion {
else {
"$_ version $($_.VersionInfo.ProductVersion) is ok."
}
- }
+ }
}
diff --git a/global.json b/global.json
index d6470481a5..f3f0e38ac9 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "9.0.100-rc.2.24474.11",
+ "version": "9.0.102",
"rollForward": "minor",
"allowPrerelease": false,
"architecture": "x64"
@@ -27,11 +27,10 @@
"vs": {
"version": "17.8.0"
},
- "xcopy-msbuild": "17.8.5",
"vswhere": "2.2.7",
- "dotnet": "9.0.100-rc.2.24474.11"
+ "dotnet": "9.0.102"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24562.13"
+ "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25077.4"
}
}
diff --git a/playground/MSTest1/MSTest1.csproj b/playground/MSTest1/MSTest1.csproj
index 407633246a..302cbc6a14 100644
--- a/playground/MSTest1/MSTest1.csproj
+++ b/playground/MSTest1/MSTest1.csproj
@@ -1,7 +1,7 @@
- $(TargetFrameworks);net472;net5.0;net6.0;net7.0
+ $(TargetFrameworks);net48;net9.0;net8.0falsefalse
@@ -11,7 +11,7 @@
-
+
diff --git a/playground/MSTest2/MSTest2.csproj b/playground/MSTest2/MSTest2.csproj
index 407633246a..302cbc6a14 100644
--- a/playground/MSTest2/MSTest2.csproj
+++ b/playground/MSTest2/MSTest2.csproj
@@ -1,7 +1,7 @@
- $(TargetFrameworks);net472;net5.0;net6.0;net7.0
+ $(TargetFrameworks);net48;net9.0;net8.0falsefalse
@@ -11,7 +11,7 @@
-
+
diff --git a/playground/TestPlatform.Playground/TestPlatform.Playground.csproj b/playground/TestPlatform.Playground/TestPlatform.Playground.csproj
index 9a5dcbffbe..620c160e2d 100644
--- a/playground/TestPlatform.Playground/TestPlatform.Playground.csproj
+++ b/playground/TestPlatform.Playground/TestPlatform.Playground.csproj
@@ -8,7 +8,7 @@
Exe
- $(TargetFrameworks);net472
+ $(RunnerTargetFrameworks)
@@ -17,10 +17,16 @@
-
-
-
-
+
+
+
+
+
+
+
+
@@ -34,7 +40,7 @@
-
+
@@ -53,24 +59,26 @@
-
-
+
+
-
+
-
+
-
+
-
+
+
+
-
+
@@ -89,7 +97,7 @@
-
+ -->
-
+
diff --git a/scripts/build-compatibility-matrix.ps1 b/scripts/build-compatibility-matrix.ps1
deleted file mode 100644
index e5be1374ef..0000000000
--- a/scripts/build-compatibility-matrix.ps1
+++ /dev/null
@@ -1,234 +0,0 @@
-
-param (
- [VerifyNotNull]
- [string] $RootPath,
- [VerifyNotNull]
- [string] $TestAssetsPath,
- [VerifyNotNull]
- [string] $TestArtifactsPath,
- [VerifyNotNull]
- [string] $PackagesPath,
- [VerifySet("Debug", "Release")]
- [string] $Configuration,
- [VerifyNotNull]
- [string] $DotnetExe,
- [switch] $Ci,
- [switch] $LocalizedBuild,
- [VerifyNotNull]
- [string] $NugetExeVersion
-)
-
-. $PSScriptRoot\common.lib.ps1
-
-Write-Log "Invoke-CompatibilityTestAssetsBuild: Start test assets build."
-$timer = Start-Timer
-$generated = Join-Path (Split-Path -Path $TestAssetsPath) -ChildPath "GeneratedTestAssets"
-$generatedSln = Join-Path $generated "CompatibilityTestAssets.sln"
-
-# Figure out if the versions or the projects to build changed, and if they did not
-# and the solution is already in place just build it.
-# Otherwise delete everything and regenerate and re-build.
-$dependenciesPath = "$RootPath\scripts\build\TestPlatform.Dependencies.props"
-$dependenciesXml = [xml](Get-Content -Raw -Encoding UTF8 $dependenciesPath)
-
-$cacheId = [ordered]@{ }
-
-# Restore previous versions of TestPlatform (for vstest.console.exe), and TestPlatform.CLI (for vstest.console.dll).
-# These properties are coming from TestPlatform.Dependencies.props.
-$vstestConsoleVersionProperties = @(
- "VSTestConsoleLatestVersion"
- "VSTestConsoleLatestPreviewVersion"
- "VSTestConsoleLatestStableVersion"
- "VSTestConsoleRecentStableVersion"
- "VSTestConsoleMostDownloadedVersion"
- "VSTestConsolePreviousStableVersion"
- "VSTestConsoleLegacyStableVersion"
-)
-
-# Build with multiple versions of MSTest. The projects are directly in the root.
-# The folder structure in VS is not echoed in the TestAssets directory.
-$projects = @(
- "$RootPath\test\TestAssets\MSTestProject1\MSTestProject1.csproj"
- "$RootPath\test\TestAssets\MSTestProject2\MSTestProject2.csproj"
- # Don't use this one, it does not use the variables for mstest and test sdk.
- # "$RootPath\test\TestAssets\SimpleTestProject2\SimpleTestProject2.csproj"
-)
-
-$msTestVersionProperties = @(
- "MSTestFrameworkLatestPreviewVersion"
- "MSTestFrameworkLatestStableVersion"
- "MSTestFrameworkRecentStableVersion"
- "MSTestFrameworkMostDownloadedVersion"
- "MSTestFrameworkPreviousStableVersion"
- "MSTestFrameworkLegacyStableVersion"
-)
-
-# We use the same version properties for NET.Test.Sdk as for VSTestConsole, for now.
-foreach ($sdkPropertyName in $vstestConsoleVersionProperties) {
- if ("VSTestConsoleLatestVersion" -eq $sdkPropertyName) {
- # NETTestSdkVersion has the version of the locally built package.
- $netTestSdkVersion = $dependenciesXml.Project.PropertyGroup."NETTestSdkVersion"
- }
- else {
- $netTestSdkVersion = $dependenciesXml.Project.PropertyGroup.$sdkPropertyName
- }
-
- if (-not $netTestSdkVersion) {
- throw "NetTestSdkVersion for $sdkPropertyName is empty."
- }
-
- $cacheId[$sdkPropertyName] = $netTestSdkVersion
-
- # We don't use the results of this build anywhere, we just use them to restore the packages to nuget cache
- # because using nuget.exe install errors out in various weird ways.
- Invoke-Exe $dotnetExe -Arguments "build $RootPath\test\TestAssets\Tools\Tools.csproj --configuration $Configuration -v:minimal -p:CIBuild=$Ci -p:LocalizedBuild=$LocalizedBuild -p:NETTestSdkVersion=$netTestSdkVersion"
-}
-
-foreach ($propertyName in $msTestVersionProperties) {
- $mstestVersion = $dependenciesXml.Project.PropertyGroup.$propertyName
-
- if (-not $mstestVersion) {
- throw "MSTestVersion for $propertyName is empty."
- }
-
- $cacheId[$propertyName] = $mstestVersion
-}
-
-$cacheId["projects"] = $projects
-
-$cacheIdText = $cacheId | ConvertTo-Json
-
-$currentCacheId = if (Test-Path "$generated/checksum.json") { Get-Content "$generated/checksum.json" -Raw }
-
-$rebuild = $true
-if ($cacheIdText -eq $currentCacheId) {
- if (Test-Path $generatedSln) {
- Write-Log ".. .. Build: Source: $generatedSln, cache is up to date, just building the solution."
- Invoke-Exe $dotnetExe -Arguments "build $generatedSln --configuration $Configuration -v:minimal -p:CIBuild=$Ci -p:LocalizedBuild=$LocalizedBuild"
- $rebuild = $false
- }
-}
-
-if ($rebuild) {
- if (Test-Path $generated) {
- Remove-Item $generated -Recurse -Force
- }
-
- New-Item -ItemType Directory -Force -Path $generated | Out-Null
-
- Write-Log ".. .. Generate: Source: $generatedSln"
- $nugetExe = Join-Path $PackagesPath -ChildPath "Nuget.CommandLine" | Join-Path -ChildPath $NugetExeVersion | Join-Path -ChildPath "tools\NuGet.exe"
- $nugetConfigSource = Join-Path $TestAssetsPath "NuGet.config"
- $nugetConfig = Join-Path $generated "NuGet.config"
-
- Invoke-Exe $dotnetExe -Arguments "new sln --name CompatibilityTestAssets --output ""$generated"""
-
- Write-Log ".. .. Build: Source: $generatedSln"
- try {
- $projectsToAdd = @()
- $nugetConfigSource = Join-Path $TestAssetsPath "NuGet.config"
- $nugetConfig = Join-Path $generated "NuGet.config"
-
- Copy-Item -Path $nugetConfigSource -Destination $nugetConfig
-
- Write-Log ".. .. Build: Source: $generatedSln -- add NuGet source"
- Invoke-Exe -IgnoreExitCode 1 $nugetExe -Arguments "sources add -Name ""locally-built-testplatform-packages"" -Source $TestArtifactsPath\packages\ -ConfigFile ""$nugetConfig"""
-
- Write-Log ".. .. Build: Source: $generatedSln -- generate solution"
- foreach ($project in $projects) {
- $projectName = Split-Path -Path $project -Leaf
- $projectBaseName = [IO.Path]::GetFileNameWithoutExtension($projectName)
- $projectDir = Split-Path -Path $project
- $projectItems = Get-ChildItem $projectDir | Where-Object { $_.Name -notin "bin", "obj" } | ForEach-Object { if ($_.PsIsContainer) { Get-ChildItem $_ -Recurse -File } else { $_ } }
-
- Write-Log ".. .. .. Project $project has $($projectItems.Count) project items."
- # We use the same version properties for NET.Test.Sdk as for VSTestConsole, for now.
- foreach ($sdkPropertyName in $vstestConsoleVersionProperties) {
- if ("VSTestConsoleLatestVersion" -eq $sdkPropertyName) {
- # NETTestSdkVersion has the version of the locally built package.
- $netTestSdkVersion = $dependenciesXml.Project.PropertyGroup."NETTestSdkVersion"
- }
- else {
- $netTestSdkVersion = $dependenciesXml.Project.PropertyGroup.$sdkPropertyName
- }
-
- if (-not $netTestSdkVersion) {
- throw "NetTestSdkVersion for $sdkPropertyName is empty."
- }
-
- $dirNetTestSdkVersion = $netTestSdkVersion -replace "\[|\]"
- $dirNetTestSdkPropertyName = $sdkPropertyName -replace "Framework" -replace "Version" -replace "VSTestConsole", "NETTestSdk"
-
- foreach ($propertyName in $msTestVersionProperties) {
- $mstestVersion = $dependenciesXml.Project.PropertyGroup.$propertyName
-
- if (-not $mstestVersion) {
- throw "MSTestVersion for $propertyName is empty."
- }
-
- $dirMSTestVersion = $mstestVersion -replace "\[|\]"
- $dirMSTestPropertyName = $propertyName -replace "Framework" -replace "Version"
-
- # Do not make this a folder structure, it will break the relative reference to scripts\build\TestAssets.props that we have in the project,
- # because the relative path will be different.
- #
- # It would be nice to use fully descriptive name but it is too long, hash the versions instead.
- # $compatibilityProjectDir = "$generated/$projectBaseName--$dirNetTestSdkPropertyName-$dirNetTestSdkVersion--$dirMSTestPropertyName-$dirMSTestVersion"
- $versions = "$dirNetTestSdkPropertyName-$dirNetTestSdkVersion--$dirMSTestPropertyName-$dirMSTestVersion"
- $hash = Get-Hash $versions
- Write-Host Hashed $versions to $hash
- $projectShortName = "$projectBaseName--" + $hash
- $compatibilityProjectDir = "$generated/$projectShortName"
-
- if (Test-path $compatibilityProjectDir) {
- throw "Path '$compatibilityProjectDir' does not exist"
- }
- New-Item -ItemType Directory -Path $compatibilityProjectDir | Out-Null
- $compatibilityProjectDir = Resolve-Path $compatibilityProjectDir
- foreach ($projectItem in $projectItems) {
- $relativePath = ($projectItem.FullName -replace [regex]::Escape($projectDir)).TrimStart("\")
- $fullPath = Join-Path $compatibilityProjectDir $relativePath
- try {
- Copy-Item -Path $projectItem.FullName -Destination $fullPath -Verbose
- }
- catch {
- # can throw on wrong path, this makes the error more verbose
- throw "$_, Source: '$($projectItem.FullName)', Destination: '$fullPath'"
- }
- }
-
- $compatibilityCsproj = Get-ChildItem -Path $compatibilityProjectDir -Filter *.csproj
- if (-not $compatibilityCsproj) {
- throw "No .csproj files found in directory $compatibilityProjectDir."
- }
-
- $compatibilityCsproj = $compatibilityCsproj.FullName
- $csprojContent = (Get-Content $compatibilityCsproj -Encoding UTF8) `
- -replace "\$\(MSTestFrameworkVersion\)", $mstestVersion `
- -replace "\$\(MSTestAdapterVersion\)", $mstestVersion `
- -replace "\$\(NETTestSdkVersion\)", $netTestSdkVersion
- $csprojContent | Set-Content -Encoding UTF8 -Path $compatibilityCsproj -Force
-
- $uniqueCsprojName = Join-Path $compatibilityProjectDir "$projectShortName.csproj"
- Rename-Item $compatibilityCsproj $uniqueCsprojName
- $projectsToAdd += $uniqueCsprojName
-
- Write-Log ".. .. .. Generated: $uniqueCsprojName"
- }
- }
- }
-
- Write-Log ".. .. .. Building: generatedSln"
- Invoke-Exe $dotnetExe -Arguments "sln $generatedSln add $projectsToAdd"
- Invoke-Exe $dotnetExe -Arguments "build $generatedSln --configuration $Configuration -v:minimal -p:CIBuild=$Ci -p:LocalizedBuild=$LocalizedBuild"
- $cacheIdText | Set-Content "$generated/checksum.json" -NoNewline
- }
- finally {
- Write-Log ".. .. Build: Source: $TestAssetsPath_Solution -- remove NuGet source"
- Invoke-Exe -IgnoreExitCode 1 $nugetExe -Arguments "sources remove -Name ""locally-built-testplatform-packages"" -ConfigFile ""$nugetConfig"""
- }
-}
-Write-Log ".. .. Build: Complete."
-Write-Log "Invoke-CompatibilityTestAssetsBuild: Complete. {$(Get-ElapsedTime($timer))}"
-
-
diff --git a/scripts/perf/perf.ps1 b/scripts/perf/perf.ps1
index 29de7c6867..a4daca2484 100644
--- a/scripts/perf/perf.ps1
+++ b/scripts/perf/perf.ps1
@@ -6,12 +6,12 @@ Param(
[System.String] $Configuration = "Release",
[Parameter(Mandatory=$false)]
- [ValidateSet("win7-x64", "win7-x86")]
+ [ValidateSet("win7-x64", "win-x86")]
[Alias("r")]
[System.String] $TargetRuntime = "win7-x64",
[Parameter(Mandatory=$false)]
- [ValidateSet("netcoreapp3.1", "net462")]
+ [ValidateSet("net9.0", "net462")]
[Alias("f")]
[System.String] $TargetFramework,
@@ -40,11 +40,11 @@ $env:TP_OUT_DIR = Join-Path $env:TP_ROOT_DIR "artifacts"
# Test configuration
#
$TPT_TargetFrameworkFullCLR = "net462"
-$TPT_TargetFramework31Core = "netcoreapp3.1"
+$TPT_TargetFramework6Core = "net6.0"
Write-Verbose "Setup build configuration."
$Script:TPT_Configuration = $Configuration
$Script:TPT_SourceFolders = @(Join-Path $env:TP_ROOT_DIR "test\TestAssets")
-$Script:TPT_TargetFrameworks =@($TPT_TargetFramework31Core, $TPT_TargetFrameworkFullCLR)
+$Script:TPT_TargetFrameworks =@($TPT_TargetFramework6Core, $TPT_TargetFrameworkFullCLR)
$Script:TPT_TargetFramework = $TargetFramework
$Script:TPT_TargetRuntime = $TargetRuntime
$Script:TPT_Pattern = $Pattern
@@ -151,11 +151,11 @@ function Get-ConsoleRunnerPath($runner, $targetFrameWork)
{
if($runner -eq "vstest.console")
{
- if($targetFrameWork -eq $TPT_TargetFramework31Core)
+ if($targetFrameWork -eq $TPT_TargetFramework6Core)
{
$vstestConsoleFileName = "vstest.console.dll"
$targetRunTime = ""
- $vstestConsolePath = Join-Path (Get-PackageDirectory $TPT_TargetFramework31Core $targetRuntime) $vstestConsoleFileName
+ $vstestConsolePath = Join-Path (Get-PackageDirectory $TPT_TargetFramework6Core $targetRuntime) $vstestConsoleFileName
} else {
$vstestConsoleFileName = "vstest.console.exe"
$targetRunTime = $Script:TPT_TargetRuntime
diff --git a/scripts/test.ps1 b/scripts/test.ps1
index a3aa6de7f3..d777fbd3dd 100644
--- a/scripts/test.ps1
+++ b/scripts/test.ps1
@@ -9,12 +9,12 @@ Param(
[System.String] $Configuration = "Debug",
[Parameter(Mandatory=$false)]
- [ValidateSet("win7-x64", "win7-x86")]
+ [ValidateSet("win7-x64", "win-x86")]
[Alias("r")]
[System.String] $TargetRuntime = "win7-x64",
[Parameter(Mandatory=$false)]
- [ValidateSet("net48", "net6.0")]
+ [ValidateSet("net48", "net9.0")]
[Alias("f")]
[System.String] $TargetFramework,
@@ -96,12 +96,12 @@ $env:NUGET_PACKAGES = $env:TP_PACKAGES_DIR
#
$TPT_TargetFrameworkNet462 = "net462"
$TPT_TargetFrameworkNet48 = "net48"
-$TPT_TargetFrameworkCore31 = "netcoreapp3.1"
-$TPT_TargetFrameworkNet60 = "net6.0"
+$TPT_TargetFrameworkNet80 = "net8.0"
+$TPT_TargetFrameworkNet90 = "net9.0"
Write-Verbose "Setup build configuration."
$Script:TPT_Configuration = $Configuration
$Script:TPT_SourceFolders = @("test")
-$Script:TPT_TargetFrameworks =@($TPT_TargetFrameworkNet48, $TPT_TargetFrameworkNet60)
+$Script:TPT_TargetFrameworks =@($TPT_TargetFrameworkNet48, $TPT_TargetFrameworkNet90)
$Script:TPT_TargetFramework = $TargetFramework
$Script:TPT_TargetRuntime = $TargetRuntime
$Script:TPT_SkipProjects = @("_none_");
@@ -227,11 +227,11 @@ function Invoke-Test
$testFilter = "/testCaseFilter:`"$TPT_TestFilter`""
}
- if($fx -eq $TPT_TargetFrameworkNet60)
+ if($fx -eq $TPT_TargetFrameworkNet90)
{
$vstestConsoleFileName = "vstest.console.dll"
$targetRunTime = ""
- $vstestConsolePath = Join-Path (Get-PackageDirectory $TPT_TargetFrameworkCore31 $targetRuntime) $vstestConsoleFileName
+ $vstestConsolePath = Join-Path (Get-PackageDirectory $TPT_TargetFrameworkNet80 $targetRuntime) $vstestConsoleFileName
}
else
{
diff --git a/scripts/test.sh b/scripts/test.sh
index cc7ab86f90..e9d11c24d7 100644
--- a/scripts/test.sh
+++ b/scripts/test.sh
@@ -57,7 +57,7 @@ done
#
# Variables
#
-PROJECT_NAME_PATTERNS=**$PROJECT_NAME_PATTERNS*bin*$CONFIGURATION*net6.0*$PROJECT_NAME_PATTERNS*Tests*dll
+PROJECT_NAME_PATTERNS=**$PROJECT_NAME_PATTERNS*bin*$CONFIGURATION*net9.0*$PROJECT_NAME_PATTERNS*Tests*dll
TP_ROOT_DIR=$(cd "$(dirname "$0")"; pwd -P)
TP_TOOLS_DIR="$TP_ROOT_DIR/tools"
TP_PACKAGES_DIR="$TP_ROOT_DIR/packages"
@@ -76,7 +76,7 @@ DOTNET_CLI_VERSION="latest"
# Build configuration
#
TPB_Solution="TestPlatform.sln"
-TPB_TargetFrameworkCore="netcoreapp3.1"
+TPB_TargetFrameworkCore="net8.0"
TPB_Configuration=$CONFIGURATION
TPB_TargetRuntime=$TARGET_RUNTIME
TPB_Verbose=$VERBOSE
diff --git a/src/AttachVS/AttachVS.csproj b/src/AttachVS/AttachVS.csproj
index 480945c0e3..9e6fbc3166 100644
--- a/src/AttachVS/AttachVS.csproj
+++ b/src/AttachVS/AttachVS.csproj
@@ -2,7 +2,7 @@
Exe
- net7;net472
+ $(TestHostMinimumTargetFrameworks)AttachVStrue
diff --git a/src/DataCollectors/DumpMinitool.arm64/DumpMinitool.arm64.csproj b/src/DataCollectors/DumpMinitool.arm64/DumpMinitool.arm64.csproj
index 1163b54034..9e59a211fa 100644
--- a/src/DataCollectors/DumpMinitool.arm64/DumpMinitool.arm64.csproj
+++ b/src/DataCollectors/DumpMinitool.arm64/DumpMinitool.arm64.csproj
@@ -2,8 +2,13 @@
- net7.0;net6.0;$(NetFrameworkMinimum)
- false
+
+ $(NetFrameworkMinimum)
+ falseExefalsewin10-arm64
diff --git a/src/DataCollectors/DumpMinitool.x86/DumpMinitool.x86.csproj b/src/DataCollectors/DumpMinitool.x86/DumpMinitool.x86.csproj
index 6216d6b5c0..e1613e1b01 100644
--- a/src/DataCollectors/DumpMinitool.x86/DumpMinitool.x86.csproj
+++ b/src/DataCollectors/DumpMinitool.x86/DumpMinitool.x86.csproj
@@ -2,12 +2,17 @@
- net7.0;$(NetFrameworkMinimum)
+
+ $(NetFrameworkMinimum)AnyCPU
- true
+ trueExefalse
- win7-x86
+ win-x86falsetrue
+ $(NetFrameworkMinimum)AnyCPU
- false
+ falseExefalsewin7-x64
diff --git a/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/Microsoft.TestPlatform.Extensions.EventLogCollector.csproj b/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/Microsoft.TestPlatform.Extensions.EventLogCollector.csproj
index 2fea4d4fb1..f7c86f1bae 100644
--- a/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/Microsoft.TestPlatform.Extensions.EventLogCollector.csproj
+++ b/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/Microsoft.TestPlatform.Extensions.EventLogCollector.csproj
@@ -3,7 +3,7 @@
Microsoft.TestPlatform.Extensions.EventLogCollector
- net7.0;$(NetFrameworkMinimum)
+ $(NetCoreMinimum);$(NetFrameworkRunnerTargetFramework)falsetrue
diff --git a/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net462/PublicAPI.Shipped.txt b/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net48/PublicAPI.Shipped.txt
similarity index 100%
rename from src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net462/PublicAPI.Shipped.txt
rename to src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net48/PublicAPI.Shipped.txt
diff --git a/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net462/PublicAPI.Unshipped.txt b/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net48/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net462/PublicAPI.Unshipped.txt
rename to src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net48/PublicAPI.Unshipped.txt
diff --git a/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net6.0/PublicAPI.Shipped.txt
rename to src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net6.0/PublicAPI.Unshipped.txt
rename to src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net9.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net7.0/PublicAPI.Shipped.txt
rename to src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net9.0/PublicAPI.Shipped.txt
diff --git a/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net9.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net7.0/PublicAPI.Unshipped.txt
rename to src/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector/PublicAPI/net9.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.csproj b/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.csproj
index 53049b4413..9f62e98bb9 100644
--- a/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.csproj
+++ b/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.csproj
@@ -1,7 +1,13 @@
- netstandard2.0;$(NetFrameworkMinimum);net6.0;net8.0;$(NetCurrent)
+
+ $(TestHostMinimumTargetFrameworks);$(ExtensionTargetFrameworks);net9.0Microsoft.TestPlatform.AdapterUtilitiesMicrosoft.TestPlatform.AdapterUtilities
@@ -17,7 +23,7 @@
-
+ false
diff --git a/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.nuspec b/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.nuspec
index c3a40455c8..1b93aed8de 100644
--- a/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.nuspec
+++ b/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.nuspec
@@ -6,7 +6,6 @@
-
@@ -17,7 +16,6 @@
-
@@ -49,20 +47,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Microsoft.TestPlatform.Build/Microsoft.TestPlatform.Build.csproj b/src/Microsoft.TestPlatform.Build/Microsoft.TestPlatform.Build.csproj
index 0fdd27966b..0707e1b107 100644
--- a/src/Microsoft.TestPlatform.Build/Microsoft.TestPlatform.Build.csproj
+++ b/src/Microsoft.TestPlatform.Build/Microsoft.TestPlatform.Build.csproj
@@ -3,7 +3,12 @@
Microsoft.TestPlatform.Build
- netstandard2.0
+
+ $(ExtensionTargetFrameworks)falsetrue
diff --git a/src/Microsoft.TestPlatform.Client/Microsoft.TestPlatform.Client.csproj b/src/Microsoft.TestPlatform.Client/Microsoft.TestPlatform.Client.csproj
index 26f5d313c7..ec5cfaeae2 100644
--- a/src/Microsoft.TestPlatform.Client/Microsoft.TestPlatform.Client.csproj
+++ b/src/Microsoft.TestPlatform.Client/Microsoft.TestPlatform.Client.csproj
@@ -3,7 +3,10 @@
Microsoft.VisualStudio.TestPlatform.Client
- net7.0;netstandard2.0;$(NetFrameworkMinimum)
+
+ $(NetFrameworkRunnerTargetFramework);$(ExtensionTargetFrameworks)false
@@ -17,7 +20,7 @@
true
-
+
@@ -46,5 +49,7 @@
+
+
diff --git a/src/Microsoft.TestPlatform.Client/PublicAPI/net462/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Client/PublicAPI/net48/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Client/PublicAPI/net462/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.Client/PublicAPI/net48/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Client/PublicAPI/net462/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.Client/PublicAPI/net48/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Client/PublicAPI/net462/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.Client/PublicAPI/net48/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Client/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Client/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Client/PublicAPI/net6.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.Client/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Client/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.Client/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Client/PublicAPI/net6.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.Client/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Client/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Client/PublicAPI/net9.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Client/PublicAPI/net7.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.Client/PublicAPI/net9.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Client/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.Client/PublicAPI/net9.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Client/PublicAPI/net7.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.Client/PublicAPI/net9.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Common/Microsoft.TestPlatform.Common.csproj b/src/Microsoft.TestPlatform.Common/Microsoft.TestPlatform.Common.csproj
index ba248dc576..d117107a34 100644
--- a/src/Microsoft.TestPlatform.Common/Microsoft.TestPlatform.Common.csproj
+++ b/src/Microsoft.TestPlatform.Common/Microsoft.TestPlatform.Common.csproj
@@ -3,11 +3,11 @@
Microsoft.VisualStudio.TestPlatform.Common
- net7.0;net6.0;netstandard2.0;$(NetFrameworkMinimum)
+ $(NetFrameworkMinimum);$(ExtensionTargetFrameworks)falsetrue
-
+
diff --git a/src/Microsoft.TestPlatform.Common/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Common/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Common/PublicAPI/net6.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.Common/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Common/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.Common/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Common/PublicAPI/net6.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.Common/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Common/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Common/PublicAPI/net9.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Common/PublicAPI/net7.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.Common/PublicAPI/net9.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Common/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.Common/PublicAPI/net9.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Common/PublicAPI/net7.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.Common/PublicAPI/net9.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Common/Utilities/AssemblyProperties.cs b/src/Microsoft.TestPlatform.Common/Utilities/AssemblyProperties.cs
index 7e285db13f..f46c3e3735 100644
--- a/src/Microsoft.TestPlatform.Common/Utilities/AssemblyProperties.cs
+++ b/src/Microsoft.TestPlatform.Common/Utilities/AssemblyProperties.cs
@@ -45,7 +45,7 @@ public AssemblyType GetAssemblyType(string filePath)
using var peReader = new PEReader(fileStream);
// Resources for PEReader:
// 1. https://msdn.microsoft.com/library/windows/desktop/ms680547(v=vs.85).aspx?id=19509
- // 2. https://github.com/dotnet/corefx/tree/master/src/System.Reflection.Metadata
+ // 2. https://github.com/dotnet/runtime/tree/master/src/libraries/System.Reflection.Metadata
var peHeaders = peReader.PEHeaders;
var corHeader = peHeaders.CorHeader;
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Microsoft.TestPlatform.CommunicationUtilities.csproj b/src/Microsoft.TestPlatform.CommunicationUtilities/Microsoft.TestPlatform.CommunicationUtilities.csproj
index a8f956eba5..ba1a60a643 100644
--- a/src/Microsoft.TestPlatform.CommunicationUtilities/Microsoft.TestPlatform.CommunicationUtilities.csproj
+++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Microsoft.TestPlatform.CommunicationUtilities.csproj
@@ -2,7 +2,7 @@
Microsoft.TestPlatform.CommunicationUtilities
- net7.0;net6.0;netstandard2.0;$(NetFrameworkMinimum)
+ $(NetFrameworkMinimum);$(ExtensionTargetFrameworks)false
@@ -13,7 +13,7 @@
$(NewtonsoftJsonVersion)
-
+
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net6.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net6.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Extensions/StringBuilderPolyfill.cs b/src/Microsoft.TestPlatform.CoreUtilities/Extensions/StringBuilderPolyfill.cs
deleted file mode 100644
index 7da7dee54e..0000000000
--- a/src/Microsoft.TestPlatform.CoreUtilities/Extensions/StringBuilderPolyfill.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-namespace System.Text;
-internal static class StringBuilderPolyfill
-{
-#if !NET7_0_OR_GREATER
- [Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Added to match new API.")]
- public static StringBuilder Append(this StringBuilder builder, IFormatProvider? provider, string? value)
- => builder.Append(value);
-#endif
-}
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs b/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs
index 76f8ec1546..9a5506a87b 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs
@@ -72,6 +72,8 @@ private FeatureFlag() { }
// Disable not sharing .NET Framework testhosts. Which will return behavior to sharing testhosts when they are running .NET Framework dlls, and are not disabling appdomains or running in parallel.
public const string VSTEST_DISABLE_SHARING_NETFRAMEWORK_TESTHOST = nameof(VSTEST_DISABLE_SHARING_NETFRAMEWORK_TESTHOST);
+ // Disable outputting Traits into TRX file in the Properties node.
+ public const string VSTEST_DISABLE_TRX_WRITE_PROPERTIES = nameof(VSTEST_DISABLE_TRX_WRITE_PROPERTIES);
[Obsolete("Only use this in tests.")]
internal static void Reset()
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Friends.cs b/src/Microsoft.TestPlatform.CoreUtilities/Friends.cs
index d20fd5f552..542dbfeacc 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Friends.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Friends.cs
@@ -10,16 +10,19 @@
[assembly: InternalsVisibleTo("testhost.net471, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net472, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net48, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: InternalsVisibleTo("testhost.net481, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net47.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net471.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net472.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net48.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: InternalsVisibleTo("testhost.net481.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net47.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net471.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net472.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net48.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: InternalsVisibleTo("testhost.net481.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("vstest.console, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("vstest.console.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("Microsoft.TestPlatform.CommunicationUtilities, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Microsoft.TestPlatform.CoreUtilities.csproj b/src/Microsoft.TestPlatform.CoreUtilities/Microsoft.TestPlatform.CoreUtilities.csproj
index ea9329bd81..919bb26e7e 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Microsoft.TestPlatform.CoreUtilities.csproj
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Microsoft.TestPlatform.CoreUtilities.csproj
@@ -3,11 +3,11 @@
Microsoft.TestPlatform.CoreUtilities
- net7.0;net6.0;netstandard2.0;$(NetFrameworkMinimum);$(NetCoreAppMinimum)
+ $(TestHostMinimumTargetFrameworks);$(ExtensionTargetFrameworks)false
-
+
@@ -16,13 +16,12 @@
-
-
-
+
+
-
+
@@ -54,11 +53,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/Properties/AssemblyInfo.cs b/src/Microsoft.TestPlatform.CoreUtilities/Properties/AssemblyInfo.cs
index 7c61240ca3..69fa32de84 100644
--- a/src/Microsoft.TestPlatform.CoreUtilities/Properties/AssemblyInfo.cs
+++ b/src/Microsoft.TestPlatform.CoreUtilities/Properties/AssemblyInfo.cs
@@ -4,6 +4,7 @@
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Microsoft.TestPlatform.TestHostRuntimeProvider, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: InternalsVisibleTo("Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("vstest.console, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("vstest.console.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("Microsoft.TestPlatform.CoreUtilities.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net481/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net481/PublicAPI.Shipped.txt
new file mode 100644
index 0000000000..32196d81df
--- /dev/null
+++ b/src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net481/PublicAPI.Shipped.txt
@@ -0,0 +1,15 @@
+#nullable enable
+Microsoft.VisualStudio.TestPlatform.Utilities.ConsoleOutput
+Microsoft.VisualStudio.TestPlatform.Utilities.ConsoleOutput.Write(string? message, Microsoft.VisualStudio.TestPlatform.Utilities.OutputLevel level) -> void
+Microsoft.VisualStudio.TestPlatform.Utilities.ConsoleOutput.WriteLine(string? message, Microsoft.VisualStudio.TestPlatform.Utilities.OutputLevel level) -> void
+Microsoft.VisualStudio.TestPlatform.Utilities.OutputExtensions
+static Microsoft.VisualStudio.TestPlatform.ObjectModel.EqtTrace.SetupListener(System.Diagnostics.TraceListener? listener) -> void
+static Microsoft.VisualStudio.TestPlatform.ObjectModel.EqtTrace.SetupRemoteEqtTraceListeners(System.AppDomain? childDomain) -> void
+static Microsoft.VisualStudio.TestPlatform.ObjectModel.EqtTrace.TraceLevel.get -> System.Diagnostics.TraceLevel
+static Microsoft.VisualStudio.TestPlatform.ObjectModel.EqtTrace.TraceLevel.set -> void
+static Microsoft.VisualStudio.TestPlatform.Utilities.ConsoleOutput.Instance.get -> Microsoft.VisualStudio.TestPlatform.Utilities.ConsoleOutput!
+static Microsoft.VisualStudio.TestPlatform.Utilities.OutputExtensions.Error(this Microsoft.VisualStudio.TestPlatform.Utilities.IOutput! output, bool appendPrefix, string! format, params object?[]? args) -> void
+static Microsoft.VisualStudio.TestPlatform.Utilities.OutputExtensions.Information(this Microsoft.VisualStudio.TestPlatform.Utilities.IOutput! output, bool appendPrefix, string! format, params object?[]? args) -> void
+static Microsoft.VisualStudio.TestPlatform.Utilities.OutputExtensions.Information(this Microsoft.VisualStudio.TestPlatform.Utilities.IOutput! output, bool appendPrefix, System.ConsoleColor foregroundColor, string! format, params object?[]? args) -> void
+static Microsoft.VisualStudio.TestPlatform.Utilities.OutputExtensions.Warning(this Microsoft.VisualStudio.TestPlatform.Utilities.IOutput! output, bool appendPrefix, string! format, params object?[]? args) -> void
+static Microsoft.VisualStudio.TestPlatform.Utilities.OutputExtensions.Write(this Microsoft.VisualStudio.TestPlatform.Utilities.IOutput! output, string! message, Microsoft.VisualStudio.TestPlatform.Utilities.OutputLevel level, System.ConsoleColor foregroundColor) -> void
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net6.0_and_net7.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net481/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net6.0_and_net7.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net481/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net6.0_and_net7.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net6.0_and_net7.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net7.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.CoreUtilities/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/ProxyDiscoveryManager.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/ProxyDiscoveryManager.cs
index a20d68a7c2..b0c527368a 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/ProxyDiscoveryManager.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/ProxyDiscoveryManager.cs
@@ -196,20 +196,25 @@ public void DiscoverTests(DiscoveryCriteria discoveryCriteria, ITestDiscoveryEve
private void HandleException(Exception exception)
{
- EqtTrace.Error("ProxyDiscoveryManager.DiscoverTests: Failed to discover tests: {0}", exception);
+ // If requested abort and the code below was just sending data, we will get communication exception because we try to write the channel that is already closed.
+ // In such case don't report the exception because user cannot do anything about it.
+ if (!(_proxyOperationManager != null && _proxyOperationManager.CancellationTokenSource.IsCancellationRequested && exception is CommunicationException))
+ {
+ EqtTrace.Error("ProxyDiscoveryManager.DiscoverTests: Failed to discover tests: {0}", exception);
- // Log to vs ide test output
- var testMessagePayload = new TestMessagePayload { MessageLevel = TestMessageLevel.Error, Message = exception.ToString() };
- var rawMessage = _dataSerializer.SerializePayload(MessageType.TestMessage, testMessagePayload);
- HandleRawMessage(rawMessage);
+ // Log to vs ide test output
+ var testMessagePayload = new TestMessagePayload { MessageLevel = TestMessageLevel.Error, Message = exception.ToString() };
+ var rawMessage = _dataSerializer.SerializePayload(MessageType.TestMessage, testMessagePayload);
+ HandleRawMessage(rawMessage);
+
+ // Log to vstest.console
+ HandleLogMessage(TestMessageLevel.Error, exception.ToString());
+ }
- // Log to vstest.console
// Send a discovery complete to caller. Similar logic is also used in ParallelProxyDiscoveryManager.DiscoverTestsOnConcurrentManager
// Aborted is `true`: in case of parallel discovery (or non shared host), an aborted message ensures another discovery manager
// created to replace the current one. This will help if the current discovery manager is aborted due to irreparable error
// and the test host is lost as well.
- HandleLogMessage(TestMessageLevel.Error, exception.ToString());
-
var discoveryCompletePayload = new DiscoveryCompletePayload
{
IsAborted = true,
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Friends.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Friends.cs
index 35ea0e6b25..f25602a188 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Friends.cs
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Friends.cs
@@ -14,16 +14,19 @@
[assembly: InternalsVisibleTo("testhost.net471, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net472, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net48, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: InternalsVisibleTo("testhost.net481, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net47.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net471.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net472.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net48.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: InternalsVisibleTo("testhost.net481.x86, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net47.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net471.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net472.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("testhost.net48.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: InternalsVisibleTo("testhost.net481.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("vstest.console, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("vstest.console.arm64, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
[assembly: InternalsVisibleTo("vstest.ProgrammerTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Microsoft.TestPlatform.CrossPlatEngine.csproj b/src/Microsoft.TestPlatform.CrossPlatEngine/Microsoft.TestPlatform.CrossPlatEngine.csproj
index a1d89d2589..c643cab47b 100644
--- a/src/Microsoft.TestPlatform.CrossPlatEngine/Microsoft.TestPlatform.CrossPlatEngine.csproj
+++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Microsoft.TestPlatform.CrossPlatEngine.csproj
@@ -3,7 +3,7 @@
Microsoft.TestPlatform.CrossPlatEngine
- net7.0;net6.0;netstandard2.0;$(NetFrameworkMinimum)
+ $(NetFrameworkMinimum);$(ExtensionTargetFrameworks)false
@@ -21,7 +21,7 @@
true
-
+
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net7.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/net7.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/BlameCollector.cs b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/BlameCollector.cs
index b3bcbf9d99..dfdf7b1f30 100644
--- a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/BlameCollector.cs
+++ b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/BlameCollector.cs
@@ -577,10 +577,12 @@ private void SessionEndedHandler(object? sender, SessionEndEventArgs args)
// The name of the file starts with the process name, that's the only filtering we can do.
// So there's one possible benign race condition when another test is dumping an host and we take lock on the name but the dump is not finished.
// In that case we'll fail for file locking but it's fine. The correct or subsequent "SessionEndedHandler" will move that one.
- using MD5 md5LockName = MD5.Create();
- // BitConverter converts into something like EC-1B-B6-22-81-00-41-C8-31-1D-B6-61-27-6A-65-8A valid muxer name
+ using SHA256 hashedLockName = SHA256.Create();
// LPCSTR An LPCSTR is a 32-bit pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters.
- string muxerName = @$"Global\{BitConverter.ToString(md5LockName.ComputeHash(Encoding.UTF8.GetBytes(dumpFileNameFullPath)))}";
+ var toGuid = new byte[16];
+ Array.Copy(hashedLockName.ComputeHash(Encoding.UTF8.GetBytes(dumpFileNameFullPath)), toGuid, 16);
+ Guid id = new(toGuid);
+ string muxerName = @$"Global\{id}";
using Mutex lockFile = new(true, muxerName, out bool createdNew);
EqtTrace.Info($"[MonitorPostmortemDump]Acquired global muxer '{muxerName}' for {dumpFileNameFullPath}");
if (createdNew)
diff --git a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/HangDumperFactory.cs b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/HangDumperFactory.cs
index 3ca7beb8c4..99d4ba1c0e 100644
--- a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/HangDumperFactory.cs
+++ b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/HangDumperFactory.cs
@@ -70,7 +70,7 @@ public IHangDumper Create(string targetFramework)
return new SigtrapDumper();
}
- EqtTrace.Info($"HangDumperFactory: This is Linux netcoreapp3.1 or newer, returning the standard NETClient library dumper.");
+ EqtTrace.Info($"HangDumperFactory: This is Linux net6.0 or newer, returning the standard NETClient library dumper.");
return new NetClientHangDumper();
}
diff --git a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/Microsoft.TestPlatform.Extensions.BlameDataCollector.csproj b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/Microsoft.TestPlatform.Extensions.BlameDataCollector.csproj
index c337afa54b..414e1bba56 100644
--- a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/Microsoft.TestPlatform.Extensions.BlameDataCollector.csproj
+++ b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/Microsoft.TestPlatform.Extensions.BlameDataCollector.csproj
@@ -19,7 +19,7 @@
Microsoft.TestPlatform.Extensions.BlameDataCollector
- net7.0;netstandard2.0;net472
+ $(NetFrameworkRunnerTargetFramework);$(ExtensionTargetFrameworks)falsetrue
@@ -33,11 +33,14 @@
-
-
-
+
+
+
+
-
+
diff --git a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/ProcDumpArgsBuilder.cs b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/ProcDumpArgsBuilder.cs
index d68b9b569b..2893f41bc5 100644
--- a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/ProcDumpArgsBuilder.cs
+++ b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/ProcDumpArgsBuilder.cs
@@ -3,7 +3,6 @@
using System;
using System.Collections.Generic;
-using System.Globalization;
using System.Text;
using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Helpers;
@@ -11,6 +10,8 @@
namespace Microsoft.TestPlatform.Extensions.BlameDataCollector;
+#pragma warning disable CA1305
+
public class ProcDumpArgsBuilder : IProcDumpArgsBuilder
{
private readonly IEnvironmentVariableHelper _environmentVariableHelper;
@@ -51,10 +52,10 @@ public string BuildTriggerBasedProcDumpArgs(int processId, string filename, IEnu
foreach (var exceptionFilter in procDumpExceptionsList)
{
- procDumpArgument.Append(CultureInfo.InvariantCulture, $"-f {exceptionFilter} ");
+ procDumpArgument.Append($"-f {exceptionFilter} ");
}
- procDumpArgument.Append(CultureInfo.InvariantCulture, $"{processId} {filename}.dmp");
+ procDumpArgument.Append($"{processId} {filename}.dmp");
var argument = procdumpArgumentsFromEnv.IsNullOrWhiteSpace()
? procDumpArgument.ToString()
@@ -80,9 +81,11 @@ public string BuildHangBasedProcDumpArgs(int processId, string filename, bool is
procDumpArgument.Append(" -ma");
}
- procDumpArgument.Append(CultureInfo.InvariantCulture, $" {processId} {filename}.dmp");
+ procDumpArgument.Append($" {processId} {filename}.dmp");
var argument = procDumpArgument.ToString();
return argument;
}
}
+
+#pragma warning restore CA1305
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net48/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net6.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net48/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net48/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net6.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net48/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net7.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/net7.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net472/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net9.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net472/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net9.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net472/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net9.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net472/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net9.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Extensions.HtmlLogger/Microsoft.TestPlatform.Extensions.HtmlLogger.csproj b/src/Microsoft.TestPlatform.Extensions.HtmlLogger/Microsoft.TestPlatform.Extensions.HtmlLogger.csproj
index e88c5447ff..5e87c3b024 100644
--- a/src/Microsoft.TestPlatform.Extensions.HtmlLogger/Microsoft.TestPlatform.Extensions.HtmlLogger.csproj
+++ b/src/Microsoft.TestPlatform.Extensions.HtmlLogger/Microsoft.TestPlatform.Extensions.HtmlLogger.csproj
@@ -3,19 +3,13 @@
Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger
- net7.0;netstandard2.0;$(NetFrameworkMinimum)
+ $(NetFrameworkRunnerTargetFramework);$(ExtensionTargetFrameworks)falsetrue
-
-
-
-
-
-
diff --git a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Extensions.HtmlLogger/PublicAPI/net48/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net6.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.Extensions.HtmlLogger/PublicAPI/net48/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.Extensions.HtmlLogger/PublicAPI/net48/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net6.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.Extensions.HtmlLogger/PublicAPI/net48/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Microsoft.TestPlatform.Extensions.TrxLogger.csproj b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Microsoft.TestPlatform.Extensions.TrxLogger.csproj
index cbe38fd2ab..3f81980538 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Microsoft.TestPlatform.Extensions.TrxLogger.csproj
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Microsoft.TestPlatform.Extensions.TrxLogger.csproj
@@ -3,7 +3,12 @@
Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger
- netstandard2.0;$(NetFrameworkMinimum)
+
+ $(ExtensionTargetFrameworks);net462false
@@ -23,16 +28,8 @@
-
-
-
-
-
-
-
-
@@ -40,20 +37,12 @@
-
-
-
-
-
-
+
+
+
-
- True
- True
- NullableHelpers.tt
- TrueTrue
@@ -81,13 +70,6 @@
-
-
- TextTemplatingFileGenerator
- NullableHelpers.cs
-
-
-
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/Property.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/Property.cs
new file mode 100644
index 0000000000..6061d8f78c
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/Property.cs
@@ -0,0 +1,98 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using System;
+
+using Microsoft.TestPlatform.Extensions.TrxLogger.XML;
+using Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger;
+
+namespace Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel;
+
+///
+/// Stores a string which categorizes the Test
+///
+internal sealed class Property : IXmlTestStore
+{
+ [StoreXmlSimpleField(Location = "@Key", DefaultValue = "")]
+ private readonly string _key = string.Empty;
+ [StoreXmlSimpleField(Location = "@Value", DefaultValue = "")]
+ private readonly string _value = string.Empty;
+
+ ///
+ /// Create a new item with the property set
+ ///
+ public Property(string key, string value)
+ {
+ // Treat null as empty.
+
+ _key = StripIllegalChars(key);
+ _value = StripIllegalChars(value);
+ }
+
+ ///
+ /// Gets the property for this Trait
+ ///
+ public string Trait
+ {
+ get
+ {
+ return _key;
+ }
+ }
+
+ private static string StripIllegalChars(string property)
+ {
+ string ret = property.Trim();
+ ret = ret.Replace("&", string.Empty);
+ ret = ret.Replace("|", string.Empty);
+ ret = ret.Replace("!", string.Empty);
+ ret = ret.Replace(",", string.Empty);
+ return ret;
+ }
+
+ ///
+ /// Compare the values of the items
+ ///
+ /// Value being compared to.
+ /// True if the values are the same and false otherwise.
+ public override bool Equals(object? other)
+ {
+ if (other is not Property otherItem)
+ {
+ return false;
+ }
+
+ TPDebug.Assert(_key != null, "property is null");
+ return string.Equals(_key, otherItem._key, StringComparison.OrdinalIgnoreCase);
+ }
+
+ ///
+ /// Convert the property name to a hashcode
+ ///
+ /// Hashcode of the property.
+ public override int GetHashCode()
+ {
+ TPDebug.Assert(_key != null, "property is null");
+ return _key.ToUpperInvariant().GetHashCode();
+ }
+
+ ///
+ /// Convert the property name to a string
+ ///
+ /// The property.
+ public override string ToString()
+ {
+ TPDebug.Assert(_key != null, "property is null");
+ return _key;
+ }
+
+ ///
+ /// Saves the class under the XmlElement.
+ ///
+ /// XmlElement element
+ /// XmlTestStoreParameters parameters
+ public void Save(System.Xml.XmlElement element, XmlTestStoreParameters? parameters)
+ {
+ new XmlPersistence().SaveSingleFields(element, this, parameters);
+ }
+}
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/PropertyCollection.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/PropertyCollection.cs
new file mode 100644
index 0000000000..037b086d00
--- /dev/null
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/PropertyCollection.cs
@@ -0,0 +1,135 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using System.Text;
+
+using Microsoft.TestPlatform.Extensions.TrxLogger.Utility;
+using Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger;
+
+namespace Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel;
+
+///
+/// A collection of strings which categorize the test.
+///
+internal sealed class PropertyCollection : EqtBaseCollection
+{
+ ///
+ /// Creates an empty PropertyCollection.
+ ///
+ public PropertyCollection()
+ {
+ }
+
+ ///
+ /// Adds the property.
+ ///
+ /// Key to be added.
+ /// Value to be added.
+ public void Add(string key, string value)
+ {
+ Add(new Property(key, value));
+ }
+
+ ///
+ /// Adds the property.
+ ///
+ /// Property to be added.
+ public override void Add(Property item)
+ {
+ EqtAssert.ParameterNotNull(item, nameof(item));
+
+ // Don't add empty items.
+ if (!item.Trait.IsNullOrEmpty())
+ {
+ base.Add(item);
+ }
+ }
+
+ ///
+ /// Convert the PropertyCollection to a string.
+ /// each item is surrounded by a comma (,)
+ ///
+ ///
+ public override string ToString()
+ {
+ StringBuilder returnString = new();
+ if (Count > 0)
+ {
+ returnString.Append(',');
+ foreach (Property item in this)
+ {
+ returnString.Append(item.Trait);
+ returnString.Append(',');
+ }
+ }
+
+ return returnString.ToString();
+ }
+
+ ///
+ /// Convert the PropertyCollection to an array of strings.
+ ///
+ /// Array of strings containing the test categories.
+ public string[] ToArray()
+ {
+ string[] result = new string[Count];
+
+ int i = 0;
+ foreach (Property item in this)
+ {
+ result[i++] = item.Trait;
+ }
+
+ return result;
+ }
+
+ ///
+ /// Compare the collection items
+ ///
+ /// other collection
+ /// true if the collections contain the same items
+ public override bool Equals(object? obj)
+ {
+ bool result = false;
+
+ if (obj is not PropertyCollection other)
+ {
+ // Other object is not a TraitItemCollection.
+ result = false;
+ }
+ else if (ReferenceEquals(this, other))
+ {
+ // The other object is the same object as this one.
+ result = true;
+ }
+ else if (Count != other.Count)
+ {
+ // The count of categories in the other object does not
+ // match this one, so they are not equal.
+ result = false;
+ }
+ else
+ {
+ // Check each item and return on the first mismatch.
+ foreach (Property item in this)
+ {
+ if (!other.Contains(item))
+ {
+ result = false;
+ break;
+ }
+ }
+ }
+
+ return result;
+ }
+
+ ///
+ /// Return the hash code of this collection
+ ///
+ /// The hashcode.
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+}
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestElement.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestElement.cs
index 32c9c69cf2..6bd68d9d79 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestElement.cs
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/ObjectModel/TestElement.cs
@@ -32,6 +32,7 @@ internal abstract class TestElement : ITestElement, IXmlTestStore
protected TestExecId _executionId;
protected TestExecId _parentExecutionId;
protected TestCategoryItemCollection _testCategories;
+ protected PropertyCollection _properties;
protected WorkItemCollection _workItems;
protected TestListCategoryId _catId;
@@ -46,6 +47,7 @@ public TestElement(Guid id, string name, string adapter)
_executionId = TestExecId.Empty;
_parentExecutionId = TestExecId.Empty;
_testCategories = new TestCategoryItemCollection();
+ _properties = new PropertyCollection();
_workItems = new WorkItemCollection();
_isRunnable = true;
_catId = TestListCategoryId.Uncategorized;
@@ -185,6 +187,21 @@ public WorkItemCollection WorkItems
}
}
+
+ ///
+ /// Gets or sets the test traits.
+ ///
+ public PropertyCollection Traits
+ {
+ get { return _properties; }
+
+ set
+ {
+ EqtAssert.ParameterNotNull(value, "value");
+ _properties = value;
+ }
+ }
+
///
/// Gets the adapter name.
///
@@ -245,6 +262,7 @@ public virtual void Save(System.Xml.XmlElement element, XmlTestStoreParameters?
h.SaveSimpleField(element, "@priority", _priority, DefaultPriority);
h.SaveSimpleField(element, "Owners/Owner/@name", _owner, string.Empty);
h.SaveObject(_testCategories, element, "TestCategory", parameters);
+ h.SaveObject(_properties, element, "Properties", parameters);
if (_executionId != null)
h.SaveGuid(element, "Execution/@id", _executionId.Id);
diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/Converter.cs b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/Converter.cs
index 5967dbb202..37ea65ac8e 100644
--- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/Converter.cs
+++ b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Utility/Converter.cs
@@ -14,6 +14,7 @@
using Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.Utilities.Helpers.Interfaces;
+using Microsoft.VisualStudio.TestPlatform.Utilities;
using TrxLoggerResources = Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger.Resources.TrxResource;
using TrxObjectModel = Microsoft.TestPlatform.Extensions.TrxLogger.ObjectModel;
@@ -76,6 +77,14 @@ public static ITestElement ToTestElement(
testElement.WorkItems.Add(workItem);
}
+ if (!FeatureFlag.Instance.IsSet(nameof(FeatureFlag.VSTEST_DISABLE_TRX_WRITE_PROPERTIES)))
+ {
+ foreach (var trait in rockSteadyTestCase.Traits.Where(t => t.Name is not "Owner" and not "Priority"))
+ {
+ testElement.Traits.Add(new Property(trait.Name, trait.Value));
+ }
+ }
+
return testElement;
}
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj b/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj
index 9278611cbd..034807a589 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj
+++ b/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj
@@ -3,7 +3,7 @@
Microsoft.VisualStudio.TestPlatform.ObjectModel
- net7.0;$(NetFrameworkMinimum);$(NetCoreAppMinimum);netstandard2.0;
+ $(TestHostMinimumTargetFrameworks);$(ExtensionTargetFrameworks)$(NoWarn);SYSLIB0051
@@ -23,7 +23,7 @@
-
+
@@ -33,7 +33,11 @@
-
+
+
+
diff --git a/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.nuspec b/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.nuspec
index 105050657a..e0781a6594 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.nuspec
+++ b/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.nuspec
@@ -5,15 +5,15 @@
-
+
-
-
+
+
-
+
@@ -67,16 +67,16 @@
-
-
-
-
+
+
+
+
-
-
-
+
+
+
diff --git a/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt
index 221f78d7d1..681d90bb9e 100644
--- a/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt
+++ b/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt
@@ -970,7 +970,6 @@ static readonly Microsoft.VisualStudio.TestPlatform.ObjectModel.UapConstants.Uap
virtual Microsoft.VisualStudio.TestPlatform.ObjectModel.TestObject.Properties.get -> System.Collections.Generic.IEnumerable!
virtual Microsoft.VisualStudio.TestPlatform.ObjectModel.TestObject.ProtectedGetPropertyValue(Microsoft.VisualStudio.TestPlatform.ObjectModel.TestProperty! property, object? defaultValue) -> object?
virtual Microsoft.VisualStudio.TestPlatform.ObjectModel.TestObject.ProtectedSetPropertyValue(Microsoft.VisualStudio.TestPlatform.ObjectModel.TestProperty! property, object? value) -> void
-virtual Microsoft.VisualStudio.TestPlatform.ObjectModel.ValidateValueCallback.Invoke(object? value) -> bool
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.RiscV64 = 8 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.RunConfiguration.CaptureStandardOutput.get -> bool
Microsoft.VisualStudio.TestPlatform.ObjectModel.RunConfiguration.ForwardStandardOutput.get -> bool
diff --git a/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net6.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net7.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net6.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/netcoreapp3.1/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net6.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.ObjectModel/PublicAPI/netcoreapp3.1/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net6.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/netcoreapp3.1/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.ObjectModel/PublicAPI/netcoreapp3.1/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/net6.0_and_net7.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/net6.0_and_net7.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.ObjectModel/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.PlatformAbstractions/Microsoft.TestPlatform.PlatformAbstractions.csproj b/src/Microsoft.TestPlatform.PlatformAbstractions/Microsoft.TestPlatform.PlatformAbstractions.csproj
index 5aae32c1cb..7bc1805000 100644
--- a/src/Microsoft.TestPlatform.PlatformAbstractions/Microsoft.TestPlatform.PlatformAbstractions.csproj
+++ b/src/Microsoft.TestPlatform.PlatformAbstractions/Microsoft.TestPlatform.PlatformAbstractions.csproj
@@ -4,22 +4,12 @@
Microsoft.TestPlatform.PlatformAbstractionsMicrosoft.TestPlatform.PlatformAbstractions
- net7.0;$(NetFrameworkMinimum);$(NetCoreAppMinimum);netstandard2.0;net6.0
+ $(TestHostMinimumTargetFrameworks);$(ExtensionTargetFrameworks)false$(NoWarn);NU1605
-
-
-
-
-
-
-
-
-
-
-
+
@@ -32,11 +22,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt
index 60e7d5e4a9..99667b0d8c 100644
--- a/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt
+++ b/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt
@@ -119,6 +119,5 @@ Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.ThreadApartmentStateNot
static Microsoft.VisualStudio.TestPlatform.ObjectModel.PlatformEqtTrace.ErrorOnInitialization.get -> string?
static Microsoft.VisualStudio.TestPlatform.ObjectModel.PlatformEqtTrace.ErrorOnInitialization.set -> void
static Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformAssemblyExtensions.GetAssemblyLocation(this System.Reflection.Assembly! assembly) -> string!
-virtual Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.Interfaces.AssemblyResolveEventHandler.Invoke(object? sender, Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.Interfaces.AssemblyResolveEventArgs? args) -> System.Reflection.Assembly?
virtual Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformAssemblyResolver.Dispose(bool disposing) -> void
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.RiscV64 = 6 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
diff --git a/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/net6.0_and_net7.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/net6.0_and_net7.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/net8.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/net8.0/PublicAPI.Unshipped.txt
new file mode 100644
index 0000000000..ab058de62d
--- /dev/null
+++ b/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/net8.0/PublicAPI.Unshipped.txt
@@ -0,0 +1 @@
+#nullable enable
diff --git a/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs b/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
index 21b343dad7..ffddd06178 100644
--- a/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
+++ b/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
@@ -194,7 +194,7 @@ public virtual TestProcessStartInfo GetTestHostProcessStartInfo(
if (!_fileHelper.Exists(testhostProcessPath))
{
// We assume that we could not find testhost.exe in the root folder so we are going to lookup in the
- // TestHostNetFramework folder (assuming we are currently running under netcoreapp3.1) or in dotnet SDK
+ // TestHostNetFramework folder (assuming we are currently running under .NET) or in dotnet SDK
// context.
testHostProcessName = Path.Combine("TestHostNetFramework", originalTestHostProcessName);
testhostProcessPath = Path.Combine(currentWorkingDirectory, "..", testHostProcessName);
diff --git a/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs b/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
index 70c9481a8f..a20519373b 100644
--- a/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
+++ b/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
@@ -306,8 +306,8 @@ public virtual TestProcessStartInfo GetTestHostProcessStartInfo(
testHostPath = GetTestHostPath(runtimeConfigDevPath, depsFilePath, sourceDirectory);
if (!testHostPath.IsNullOrWhiteSpace() && testHostPath.IndexOf("microsoft.testplatform.testhost", StringComparison.OrdinalIgnoreCase) >= 0)
{
- // testhost.dll is present in path {testHostNugetRoot}\lib\netcoreapp3.1\testhost.dll
- // testhost.(x86).exe is present in location {testHostNugetRoot}\build\netcoreapp3.1\{x86/x64}\{testhost.x86.exe/testhost.exe}
+ // testhost.dll is present in path {testHostNugetRoot}\lib\net8.0\testhost.dll
+ // testhost.(x86).exe is present in location {testHostNugetRoot}\build\net8.0\{x86/x64}\{testhost.x86.exe/testhost.exe}
var folderName = _architecture is Architecture.X64 or Architecture.Default or Architecture.AnyCPU
? Architecture.X64.ToString().ToLowerInvariant()
: _architecture.ToString().ToLowerInvariant();
@@ -321,7 +321,7 @@ public virtual TestProcessStartInfo GetTestHostProcessStartInfo(
testHostExeNugetPath = Path.Combine(testHostNugetRoot.FullName, "build", "net9.0", folderName, exeName);
}
#else
- var testHostExeNugetPath = Path.Combine(testHostNugetRoot.FullName, "build", "netcoreapp3.1", folderName, exeName);
+ var testHostExeNugetPath = Path.Combine(testHostNugetRoot.FullName, "build", "net8.0", folderName, exeName);
#endif
if (_fileHelper.Exists(testHostExeNugetPath))
diff --git a/src/Microsoft.TestPlatform.TestHostProvider/Microsoft.TestPlatform.TestHostProvider.csproj b/src/Microsoft.TestPlatform.TestHostProvider/Microsoft.TestPlatform.TestHostProvider.csproj
index 8191a31a24..3bd5ea9246 100644
--- a/src/Microsoft.TestPlatform.TestHostProvider/Microsoft.TestPlatform.TestHostProvider.csproj
+++ b/src/Microsoft.TestPlatform.TestHostProvider/Microsoft.TestPlatform.TestHostProvider.csproj
@@ -3,11 +3,14 @@
Microsoft.TestPlatform.TestHostRuntimeProvider
- net7.0;net6.0;netstandard2.0;$(NetFrameworkMinimum)
+
+ $(NetFrameworkRunnerTargetFramework);$(ExtensionTargetFrameworks)falsetrue
-
+
@@ -26,7 +29,6 @@
-
diff --git a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net48/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net7.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net48/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net48/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Extensions.BlameDataCollector/PublicAPI/net7.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net48/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Extensions.HtmlLogger/PublicAPI/net462/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Extensions.HtmlLogger/PublicAPI/net462/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Extensions.HtmlLogger/PublicAPI/net462/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Extensions.HtmlLogger/PublicAPI/net462/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net462/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net9.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net462/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net9.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net462/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net9.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net462/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net9.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.Utilities/Microsoft.TestPlatform.Utilities.csproj b/src/Microsoft.TestPlatform.Utilities/Microsoft.TestPlatform.Utilities.csproj
index 71ae94e3ed..8fd6b0b3cd 100644
--- a/src/Microsoft.TestPlatform.Utilities/Microsoft.TestPlatform.Utilities.csproj
+++ b/src/Microsoft.TestPlatform.Utilities/Microsoft.TestPlatform.Utilities.csproj
@@ -3,15 +3,9 @@
Microsoft.TestPlatform.Utilities
- net7.0;netstandard2.0;$(NetFrameworkMinimum)
+ $(NetFrameworkMinimum);$(ExtensionTargetFrameworks)false
-
-
-
-
-
-
diff --git a/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Utilities/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net6.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.Utilities/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.Utilities/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net6.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.Utilities/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.csproj b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.csproj
index a9278a3e86..cda5cf5075 100644
--- a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.csproj
+++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.csproj
@@ -3,7 +3,7 @@
Microsoft.TestPlatform.VsTestConsole.TranslationLayer
- net7.0;net6.0;netstandard2.0;$(NetFrameworkMinimum)
+ $(LibraryTargetFrameworks)false
@@ -34,7 +34,7 @@
-
+
diff --git a/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net7.0/PublicAPI.Shipped.txt
rename to src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.TestHostProvider/PublicAPI/net7.0/PublicAPI.Unshipped.txt
rename to src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/SettingsMigrator/SettingsMigrator.csproj b/src/SettingsMigrator/SettingsMigrator.csproj
index 23ea657fd7..e87d54f8dc 100644
--- a/src/SettingsMigrator/SettingsMigrator.csproj
+++ b/src/SettingsMigrator/SettingsMigrator.csproj
@@ -3,16 +3,19 @@
SettingsMigrator
- net7.0;$(NetFrameworkMinimum)
+
+ $(NetFrameworkRunnerTargetFramework)ExeAnyCPUfalse
- true
+ true
-
+ win7-x64
-
+
diff --git a/src/datacollector.arm64/datacollector.arm64.csproj b/src/datacollector.arm64/datacollector.arm64.csproj
index bb147867ac..c2584b21dc 100644
--- a/src/datacollector.arm64/datacollector.arm64.csproj
+++ b/src/datacollector.arm64/datacollector.arm64.csproj
@@ -9,16 +9,17 @@
datacollector.arm64
- $(NetCoreAppMinimum)
- $(TargetFrameworks);net472;$(NetFrameworkMinimum)
- $(TargetFrameworks);$(NetFrameworkMinimum)
- $(TargetFrameworks);net7.0;net6.0;
- win10-arm64
+ $(RunnerTargetFrameworks)
+ win10-arm64
- AnyCPU
+ AnyCPUExe
-
+
falseMajorfalse
@@ -52,7 +53,7 @@
-
+
diff --git a/src/Microsoft.TestPlatform.Utilities/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/datacollector/PublicAPI/net48/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Utilities/PublicAPI/net6.0/PublicAPI.Shipped.txt
rename to src/datacollector/PublicAPI/net48/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Utilities/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/datacollector/PublicAPI/net48/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Utilities/PublicAPI/net6.0/PublicAPI.Unshipped.txt
rename to src/datacollector/PublicAPI/net48/PublicAPI.Unshipped.txt
diff --git a/src/datacollector/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/datacollector/PublicAPI/net6.0/PublicAPI.Shipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/datacollector/PublicAPI/net6.0/PublicAPI.Shipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/datacollector/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/datacollector/PublicAPI/net6.0/PublicAPI.Unshipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/datacollector/PublicAPI/net6.0/PublicAPI.Unshipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/datacollector/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/datacollector/PublicAPI/net7.0/PublicAPI.Shipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/datacollector/PublicAPI/net7.0/PublicAPI.Shipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/datacollector/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/datacollector/PublicAPI/net7.0/PublicAPI.Unshipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/datacollector/PublicAPI/net7.0/PublicAPI.Unshipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/Microsoft.TestPlatform.Utilities/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/datacollector/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Utilities/PublicAPI/net7.0/PublicAPI.Shipped.txt
rename to src/datacollector/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.Utilities/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/datacollector/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.Utilities/PublicAPI/net7.0/PublicAPI.Unshipped.txt
rename to src/datacollector/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/datacollector/PublicAPI/net9.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net6.0/PublicAPI.Shipped.txt
rename to src/datacollector/PublicAPI/net9.0/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/datacollector/PublicAPI/net9.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net6.0/PublicAPI.Unshipped.txt
rename to src/datacollector/PublicAPI/net9.0/PublicAPI.Unshipped.txt
diff --git a/src/datacollector/PublicAPI/netcoreapp3.1/PublicAPI.Shipped.txt b/src/datacollector/PublicAPI/netcoreapp3.1/PublicAPI.Shipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/datacollector/PublicAPI/netcoreapp3.1/PublicAPI.Shipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/datacollector/PublicAPI/netcoreapp3.1/PublicAPI.Unshipped.txt b/src/datacollector/PublicAPI/netcoreapp3.1/PublicAPI.Unshipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/datacollector/PublicAPI/netcoreapp3.1/PublicAPI.Unshipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/datacollector/app.config b/src/datacollector/app.config
index 439c6d5fd8..8e3b9f898c 100644
--- a/src/datacollector/app.config
+++ b/src/datacollector/app.config
@@ -20,6 +20,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/datacollector/datacollector.csproj b/src/datacollector/datacollector.csproj
index 6c7facedc0..94ba8f6058 100644
--- a/src/datacollector/datacollector.csproj
+++ b/src/datacollector/datacollector.csproj
@@ -9,13 +9,14 @@
datacollector
- $(NetCoreAppMinimum)
- $(TargetFrameworks);net472;$(NetFrameworkMinimum)
- $(TargetFrameworks);$(NetFrameworkMinimum)
- $(TargetFrameworks);net7.0;net6.0
- AnyCPU
+ $(RunnerTargetFrameworks)
+ AnyCPUExe
-
+
falseMajorfalse
@@ -23,7 +24,7 @@
$(MSBuildWarningsAsMessages);MSB3276
-
+ win7-x64
@@ -39,7 +40,7 @@
-
+
diff --git a/src/package/Microsoft.CodeCoverage/Microsoft.CodeCoverage.csproj b/src/package/Microsoft.CodeCoverage/Microsoft.CodeCoverage.csproj
index 961ffc151c..64ed693b4c 100644
--- a/src/package/Microsoft.CodeCoverage/Microsoft.CodeCoverage.csproj
+++ b/src/package/Microsoft.CodeCoverage/Microsoft.CodeCoverage.csproj
@@ -1,6 +1,10 @@
-
+
- $(NetFrameworkMinimum)
+
+ $(TestHostMinimumTargetFrameworks);$(ExtensionTargetFrameworks)
diff --git a/src/package/Microsoft.CodeCoverage/Microsoft.CodeCoverage.nuspec b/src/package/Microsoft.CodeCoverage/Microsoft.CodeCoverage.nuspec
index 530ba92536..4f6491dc4a 100644
--- a/src/package/Microsoft.CodeCoverage/Microsoft.CodeCoverage.nuspec
+++ b/src/package/Microsoft.CodeCoverage/Microsoft.CodeCoverage.nuspec
@@ -5,7 +5,7 @@
-
+
@@ -62,7 +62,7 @@
-
+
diff --git a/src/package/Microsoft.NET.Test.Sdk/Microsoft.NET.Test.Sdk.nuspec b/src/package/Microsoft.NET.Test.Sdk/Microsoft.NET.Test.Sdk.nuspec
index e95212b77a..54e0694f48 100644
--- a/src/package/Microsoft.NET.Test.Sdk/Microsoft.NET.Test.Sdk.nuspec
+++ b/src/package/Microsoft.NET.Test.Sdk/Microsoft.NET.Test.Sdk.nuspec
@@ -4,7 +4,7 @@
$CommonMetadataElements$
-
+
@@ -18,14 +18,14 @@
$CommonFileElements$
-
+
-
+
-
+
diff --git a/src/package/Microsoft.NET.Test.Sdk/netcoreapp/Microsoft.NET.Test.Sdk.targets b/src/package/Microsoft.NET.Test.Sdk/netcoreapp/Microsoft.NET.Test.Sdk.targets
index 7769237ada..575fd6be00 100644
--- a/src/package/Microsoft.NET.Test.Sdk/netcoreapp/Microsoft.NET.Test.Sdk.targets
+++ b/src/package/Microsoft.NET.Test.Sdk/netcoreapp/Microsoft.NET.Test.Sdk.targets
@@ -15,13 +15,22 @@
- Exe
+ Exe$(MSBuildThisFileDirectory)Microsoft.NET.Test.Sdk.Program$(DefaultLanguageSourceExtension)
+
+
+ falsetrue
diff --git a/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.csproj b/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.csproj
index b9f8595348..6881b77466 100644
--- a/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.csproj
+++ b/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.csproj
@@ -1,6 +1,6 @@
- $(NetCoreAppMinimum);$(NetFrameworkMinimum);net47;net471;net472;net48
+ $(NetSDKTargetFramework);$(TestHostAllTargetFrameworks)
@@ -39,24 +39,41 @@
NU1702
-
-
-
-
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
@@ -65,8 +82,8 @@
-
-
+
+
diff --git a/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.nuspec b/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.nuspec
index e5d37dcb48..905e3042f3 100644
--- a/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.nuspec
+++ b/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.nuspec
@@ -13,408 +13,414 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.sourcebuild.nuspec b/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.sourcebuild.nuspec
index 163cd961fd..1abbdfd81a 100644
--- a/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.sourcebuild.nuspec
+++ b/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.sourcebuild.nuspec
@@ -94,8 +94,6 @@
-
-
diff --git a/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.sourcebuild.product.nuspec b/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.sourcebuild.product.nuspec
index e53eaba922..d3f85a89df 100644
--- a/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.sourcebuild.product.nuspec
+++ b/src/package/Microsoft.TestPlatform.CLI/Microsoft.TestPlatform.CLI.sourcebuild.product.nuspec
@@ -56,8 +56,6 @@
-
-
diff --git a/src/package/Microsoft.TestPlatform.Portable/Microsoft.TestPlatform.Portable.csproj b/src/package/Microsoft.TestPlatform.Portable/Microsoft.TestPlatform.Portable.csproj
index 116098d402..60aef566c6 100644
--- a/src/package/Microsoft.TestPlatform.Portable/Microsoft.TestPlatform.Portable.csproj
+++ b/src/package/Microsoft.TestPlatform.Portable/Microsoft.TestPlatform.Portable.csproj
@@ -1,6 +1,7 @@
- $(NetCoreAppMinimum);$(NetFrameworkMinimum);net47;net471;net472;net48;netstandard2.0
+
+ $(TestHostAllTargetFrameworks);netstandard2.0
@@ -38,18 +39,20 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -57,13 +60,19 @@
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
diff --git a/src/package/Microsoft.TestPlatform.Portable/Microsoft.TestPlatform.Portable.nuspec b/src/package/Microsoft.TestPlatform.Portable/Microsoft.TestPlatform.Portable.nuspec
index ceaecfc3ac..404c1ad2c0 100644
--- a/src/package/Microsoft.TestPlatform.Portable/Microsoft.TestPlatform.Portable.nuspec
+++ b/src/package/Microsoft.TestPlatform.Portable/Microsoft.TestPlatform.Portable.nuspec
@@ -10,47 +10,53 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -62,6 +68,9 @@
+
+
+
@@ -72,6 +81,8 @@
+
+
@@ -83,555 +94,563 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.csproj b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.csproj
index 356823b26f..085d532b35 100644
--- a/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.csproj
+++ b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.csproj
@@ -1,11 +1,11 @@
- netcoreapp3.1;net462
+ $(TestHostMinimumTargetFrameworks)
-
- true
+
+ trueMicrosoft.TestPlatform.TestHost.nuspec$(OutputPath)Microsoft.TestPlatform.TestHost
@@ -48,7 +48,10 @@
-
+
+ PreserveNewest
+
+ PreserveNewest
diff --git a/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.nuspec b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.nuspec
index 2b676ebbdb..4b513a4b2e 100644
--- a/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.nuspec
+++ b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.nuspec
@@ -4,7 +4,7 @@
$CommonMetadataElements$
-
+
@@ -20,21 +20,21 @@
-
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.targets b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.targets
new file mode 100644
index 0000000000..02bd7df7a8
--- /dev/null
+++ b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.targets
@@ -0,0 +1,13 @@
+
+
+
+ <_MSTestEnableParentProcessQuery Condition="'$(UseUwpTools)'=='true'">false
+ <_MSTestEnableParentProcessQuery Condition="'$(_MSTestEnableParentProcessQuery)'==''">true
+
+
+
+
+
diff --git a/src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.csproj b/src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.csproj
index b886bb0e37..4eaf14cca6 100644
--- a/src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.csproj
+++ b/src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.csproj
@@ -1,6 +1,7 @@
- $(NetCoreAppMinimum);$(NetFrameworkMinimum);net47;net471;net472;net48
+
+ $(TestHostAllTargetFrameworks)
@@ -41,29 +42,47 @@
-
+
+
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
-
@@ -86,15 +105,15 @@
-
+
-
+
-
+
diff --git a/src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.nuspec b/src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.nuspec
index 569b7be7d9..a2e27146bc 100644
--- a/src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.nuspec
+++ b/src/package/Microsoft.TestPlatform/Microsoft.TestPlatform.nuspec
@@ -12,115 +12,122 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -132,6 +139,8 @@
+
+
@@ -143,6 +152,8 @@
+
+
@@ -154,384 +165,386 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -544,106 +557,106 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
diff --git a/src/package/Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI/Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI.csproj b/src/package/Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI/Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI.csproj
index c2fb1120e9..a5ebe3e406 100644
--- a/src/package/Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI/Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI.csproj
+++ b/src/package/Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI/Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI.csproj
@@ -3,7 +3,7 @@
Librarytrue
- $(NetFrameworkMinimum)
+ $(NetFrameworkRunnerTargetFramework)None
@@ -29,7 +29,7 @@
[installDir]\Common7\IDE\Extensions\TestPlatform$(ArtifactsBinDir)Microsoft.TestPlatform.CLI\$(Configuration)\$(NetFrameworkMinimum)\
- $(ArtifactsBinDir)Microsoft.TestPlatform\$(Configuration)\net472\
+ $(ArtifactsBinDir)Microsoft.TestPlatform\$(Configuration)\$(NetFrameworkRunnerTargetFramework)\$(TestPlatformBinFolder)Microsoft.Internal.Dia\$(TestPlatformBinFolder)Microsoft.VisualStudio.CUIT\$(TestPlatformBinFolder)Microsoft.CodeCoverage.IO\
@@ -99,6 +99,7 @@
+
@@ -106,6 +107,7 @@
+
@@ -113,6 +115,7 @@
+
@@ -270,6 +273,10 @@
Extensions\zh-Hant
+
+
+ Extensions\dump
+
@@ -318,7 +325,7 @@
-
+ false
diff --git a/src/package/ThirdPartyNotices.txt b/src/package/ThirdPartyNotices.txt
index 5d98c81cc4..bb349995be 100644
--- a/src/package/ThirdPartyNotices.txt
+++ b/src/package/ThirdPartyNotices.txt
@@ -8,7 +8,7 @@ and the licenses under which Microsoft received such components are set forth be
informational purposes only. Microsoft reserves all rights not expressly granted herein, whether by
implication, estoppel or otherwise.
-1. Newtonsoft version 13.0.1 (https://github.com/JamesNK/Newtonsoft.Json)
+1. Newtonsoft version 13.0.3 (https://github.com/JamesNK/Newtonsoft.Json)
2. Mono.Cecil version 0.11.3 (https://github.com/jbevain/cecil)
3. Nuget.Client version 6.8.0.117 \(https://github.com/NuGet/NuGet.Client)
diff --git a/src/testhost.arm64/testhost.arm64.csproj b/src/testhost.arm64/testhost.arm64.csproj
index 095fe3ca5d..07ea654d84 100644
--- a/src/testhost.arm64/testhost.arm64.csproj
+++ b/src/testhost.arm64/testhost.arm64.csproj
@@ -10,12 +10,12 @@
testhost.arm64
- net7.0;$(NetCoreAppMinimum);$(NetFrameworkMinimum);net47;net471;net472;net48
+ $(TestHostAllTargetFrameworks)Exefalseapp.manifest
-
+ win10-arm64false$(AssemblyName.Replace('.arm64', '')).$(TargetFramework).arm64
@@ -38,10 +38,10 @@
-
+
-
+
diff --git a/src/testhost.x86/DefaultEngineInvoker.cs b/src/testhost.x86/DefaultEngineInvoker.cs
index b28332e8ad..95e65cba7f 100644
--- a/src/testhost.x86/DefaultEngineInvoker.cs
+++ b/src/testhost.x86/DefaultEngineInvoker.cs
@@ -60,6 +60,12 @@ internal class DefaultEngineInvoker :
private const string RemotePath = "--remote-path";
+ private static readonly bool EnableParentProcessQuery =
+ AppContext.TryGetSwitch(
+ switchName: "MSTest.EnableParentProcessQuery",
+ isEnabled: out bool value)
+ ? value : true;
+
private readonly ITestRequestHandler _requestHandler;
private readonly IDataCollectionTestCaseEventSender _dataCollectionTestCaseEventSender;
@@ -213,6 +219,12 @@ private void SetParentProcessExitCallback(IDictionary argsDicti
throw new ArgumentException($"Argument {ParentProcessIdArgument} was not specified.");
}
+ if (!EnableParentProcessQuery)
+ {
+ EqtTrace.Info("DefaultEngineInvoker.SetParentProcessExitCallback: Skipping querying parent process with id: '{0}'", parentProcessId);
+ return;
+ }
+
EqtTrace.Info("DefaultEngineInvoker.SetParentProcessExitCallback: Monitoring parent process with id: '{0}'", parentProcessId);
if (parentProcessId == -1)
diff --git a/src/testhost.x86/app.config b/src/testhost.x86/app.config
index 2e2ac5c43c..80f1fde929 100644
--- a/src/testhost.x86/app.config
+++ b/src/testhost.x86/app.config
@@ -53,6 +53,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/testhost.x86/testhost.x86.csproj b/src/testhost.x86/testhost.x86.csproj
index 1a7de790bc..ebf12d08a8 100644
--- a/src/testhost.x86/testhost.x86.csproj
+++ b/src/testhost.x86/testhost.x86.csproj
@@ -10,10 +10,10 @@
testhost.x86
- net7.0;$(NetCoreAppMinimum);$(NetFrameworkMinimum);net47;net471;net472;net48
+ $(TestHostAllTargetFrameworks)AnyCPU
- win7-x86
- true
+ win-x86
+ trueExefalseapp.manifest
@@ -25,7 +25,7 @@
NETSDK1201$(NoWarn);NETSDK1201
-
+ false$(AssemblyName.Replace('.x86', '')).$(TargetFramework).x86
@@ -45,10 +45,10 @@
-
+
-
+
diff --git a/src/testhost/testhost.csproj b/src/testhost/testhost.csproj
index f3f4b9b979..5cb6999771 100644
--- a/src/testhost/testhost.csproj
+++ b/src/testhost/testhost.csproj
@@ -10,12 +10,12 @@
testhost
- net7.0;$(NetCoreAppMinimum);$(NetFrameworkMinimum);net47;net471;net472;net48
+ $(TestHostAllTargetFrameworks)Exefalseapp.manifest
-
+ win7-x64false$(AssemblyName).$(TargetFramework)
@@ -38,10 +38,10 @@
-
+
-
+
diff --git a/src/vstest.console.arm64/vstest.console.arm64.csproj b/src/vstest.console.arm64/vstest.console.arm64.csproj
index 2cdfac3fc2..dd04b9ba0c 100644
--- a/src/vstest.console.arm64/vstest.console.arm64.csproj
+++ b/src/vstest.console.arm64/vstest.console.arm64.csproj
@@ -3,16 +3,16 @@
vstest.console.arm64
- net7.0;$(NetFrameworkMinimum);$(NetCoreAppMinimum)
+ $(RunnerTargetFrameworks)ExefalseMajorfalse
- win10-arm64
+ win10-arm64
- AnyCPU
+ AnyCPU..\vstest.console\app.manifestMicrosoft.VisualStudio.TestPlatform.CommandLinetrue
@@ -29,7 +29,7 @@
$(MSBuildWarningsAsMessages);MSB3276;
-
+
diff --git a/src/vstest.console/InProcessVsTestConsoleWrapper.cs b/src/vstest.console/InProcessVsTestConsoleWrapper.cs
index 5dbdd0ea61..5c9236d358 100644
--- a/src/vstest.console/InProcessVsTestConsoleWrapper.cs
+++ b/src/vstest.console/InProcessVsTestConsoleWrapper.cs
@@ -93,7 +93,7 @@ internal InProcessVsTestConsoleWrapper(
// Fill the parameters.
consoleParameters.ParentProcessId =
-#if NET7_0_OR_GREATER
+#if NET6_0_OR_GREATER
Environment.ProcessId;
#else
System.Diagnostics.Process.GetCurrentProcess().Id;
diff --git a/src/vstest.console/PublicAPI/net462/PublicAPI.Shipped.txt b/src/vstest.console/PublicAPI/net462/PublicAPI.Shipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/vstest.console/PublicAPI/net462/PublicAPI.Shipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/vstest.console/PublicAPI/net462/PublicAPI.Unshipped.txt b/src/vstest.console/PublicAPI/net462/PublicAPI.Unshipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/vstest.console/PublicAPI/net462/PublicAPI.Unshipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/vstest.console/PublicAPI/net48/PublicAPI.Shipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net7.0/PublicAPI.Shipped.txt
rename to src/vstest.console/PublicAPI/net48/PublicAPI.Shipped.txt
diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/vstest.console/PublicAPI/net48/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/PublicAPI/net7.0/PublicAPI.Unshipped.txt
rename to src/vstest.console/PublicAPI/net48/PublicAPI.Unshipped.txt
diff --git a/src/vstest.console/PublicAPI/net6.0/PublicAPI.Shipped.txt b/src/vstest.console/PublicAPI/net6.0/PublicAPI.Shipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/vstest.console/PublicAPI/net6.0/PublicAPI.Shipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/vstest.console/PublicAPI/net6.0/PublicAPI.Unshipped.txt b/src/vstest.console/PublicAPI/net6.0/PublicAPI.Unshipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/vstest.console/PublicAPI/net6.0/PublicAPI.Unshipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/vstest.console/PublicAPI/net7.0/PublicAPI.Shipped.txt b/src/vstest.console/PublicAPI/net7.0/PublicAPI.Shipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/vstest.console/PublicAPI/net7.0/PublicAPI.Shipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/vstest.console/PublicAPI/net7.0/PublicAPI.Unshipped.txt b/src/vstest.console/PublicAPI/net7.0/PublicAPI.Unshipped.txt
deleted file mode 100644
index 7dc5c58110..0000000000
--- a/src/vstest.console/PublicAPI/net7.0/PublicAPI.Unshipped.txt
+++ /dev/null
@@ -1 +0,0 @@
-#nullable enable
diff --git a/src/datacollector/PublicAPI/net462/PublicAPI.Shipped.txt b/src/vstest.console/PublicAPI/net8.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/datacollector/PublicAPI/net462/PublicAPI.Shipped.txt
rename to src/vstest.console/PublicAPI/net8.0/PublicAPI.Shipped.txt
diff --git a/src/datacollector/PublicAPI/net462/PublicAPI.Unshipped.txt b/src/vstest.console/PublicAPI/net8.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/datacollector/PublicAPI/net462/PublicAPI.Unshipped.txt
rename to src/vstest.console/PublicAPI/net8.0/PublicAPI.Unshipped.txt
diff --git a/src/datacollector/PublicAPI/net472/PublicAPI.Shipped.txt b/src/vstest.console/PublicAPI/net9.0/PublicAPI.Shipped.txt
similarity index 100%
rename from src/datacollector/PublicAPI/net472/PublicAPI.Shipped.txt
rename to src/vstest.console/PublicAPI/net9.0/PublicAPI.Shipped.txt
diff --git a/src/datacollector/PublicAPI/net472/PublicAPI.Unshipped.txt b/src/vstest.console/PublicAPI/net9.0/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/datacollector/PublicAPI/net472/PublicAPI.Unshipped.txt
rename to src/vstest.console/PublicAPI/net9.0/PublicAPI.Unshipped.txt
diff --git a/src/vstest.console/app.config b/src/vstest.console/app.config
index f133e90359..e6708ef2b7 100644
--- a/src/vstest.console/app.config
+++ b/src/vstest.console/app.config
@@ -29,6 +29,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/vstest.console/vstest.console.csproj b/src/vstest.console/vstest.console.csproj
index 34b9f565b5..262e80a41a 100644
--- a/src/vstest.console/vstest.console.csproj
+++ b/src/vstest.console/vstest.console.csproj
@@ -5,13 +5,17 @@
vstest.console
- net7.0;$(NetFrameworkMinimum);$(NetCoreAppMinimum)
+ $(RunnerTargetFrameworks)Exe
-
+
falseMajorfalse
- AnyCPU
+ AnyCPUapp.manifestMicrosoft.VisualStudio.TestPlatform.CommandLinetrue
@@ -24,10 +28,10 @@
$(MSBuildWarningsAsMessages);MSB3276
-
+ win7-x64
-
+
diff --git a/temp/testhost/testhost.deps.json b/temp/testhost/testhost.deps.json
index 2563b5da42..8d751253a8 100644
--- a/temp/testhost/testhost.deps.json
+++ b/temp/testhost/testhost.deps.json
@@ -81,7 +81,7 @@
"runtime": {
"Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
- "fileVersion": "13.0.1.25517"
+ "fileVersion": "13.0.3.25517"
}
}
}
diff --git a/test/.editorconfig b/test/.editorconfig
index c6e43695db..f44194a73b 100644
--- a/test/.editorconfig
+++ b/test/.editorconfig
@@ -32,4 +32,7 @@ dotnet_diagnostic.CA1051.severity = silent # Disabled on tests as it does not ma
# CA1710: Identifiers should have correct suffix
dotnet_diagnostic.CA1710.severity = warning
+# CA1822: Mark members as static
+dotnet_diagnostic.CA1822.severity = silent
+
#### C# Naming styles ####
diff --git a/test/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector.UnitTests/Microsoft.TestPlatform.Extensions.EventLogCollector.UnitTests.csproj b/test/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector.UnitTests/Microsoft.TestPlatform.Extensions.EventLogCollector.UnitTests.csproj
index eea478833c..d0bf3ef5c3 100644
--- a/test/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector.UnitTests/Microsoft.TestPlatform.Extensions.EventLogCollector.UnitTests.csproj
+++ b/test/DataCollectors/Microsoft.TestPlatform.Extensions.EventLogCollector.UnitTests/Microsoft.TestPlatform.Extensions.EventLogCollector.UnitTests.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/test/Intent.Primitives/Intent.Primitives.csproj b/test/Intent.Primitives/Intent.Primitives.csproj
index e251c464ae..5529e52d99 100644
--- a/test/Intent.Primitives/Intent.Primitives.csproj
+++ b/test/Intent.Primitives/Intent.Primitives.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0enableenable
diff --git a/test/Intent/Intent.csproj b/test/Intent/Intent.csproj
index 45d0d9ea94..77abf82a4b 100644
--- a/test/Intent/Intent.csproj
+++ b/test/Intent/Intent.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0enableenable
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AcceptanceTestBase.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AcceptanceTestBase.cs
index cac7da3fb0..716bab8b38 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AcceptanceTestBase.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AcceptanceTestBase.cs
@@ -17,9 +17,9 @@ public class AcceptanceTestBase : IntegrationTestBase
public const string Net471TargetFramework = "net471";
public const string Net472TargetFramework = "net472";
public const string Net48TargetFramework = "net48";
- public const string Core31TargetFramework = "netcoreapp3.1";
- public const string Core50TargetFramework = "net5.0";
- public const string Core60TargetFramework = "net6.0";
+ public const string Core80TargetFramework = "net8.0";
+ public const string Core90TargetFramework = "net9.0";
+ public const string Core10TargetFramework = "net10.0";
public const string DesktopFrameworkArgValue = Net462FrameworkArgValue;
public const string Net462FrameworkArgValue = ".NETFramework,Version=v4.6.2";
@@ -28,24 +28,24 @@ public class AcceptanceTestBase : IntegrationTestBase
public const string Net472FrameworkArgValue = ".NETFramework,Version=v4.7.2";
public const string Net48FrameworkArgValue = ".NETFramework,Version=v4.8";
- public const string Core31FrameworkArgValue = ".NETCoreApp,Version=v3.1";
- public const string Core50FrameworkArgValue = ".NETCoreApp,Version=v5.0";
- public const string Core60FrameworkArgValue = ".NETCoreApp,Version=v6.0";
+ public const string Core80FrameworkArgValue = ".NETCoreApp,Version=v8.0";
+ public const string Core90FrameworkArgValue = ".NETCoreApp,Version=v9.0";
+ public const string Core10FrameworkArgValue = ".NETCoreApp,Version=v10.0";
public const string DesktopRunnerTargetRuntime = "win7-x64";
public const string CoreRunnerTargetRuntime = "";
public const string InIsolation = "/InIsolation";
public const string NETFX462_48 = "net462;net472;net48";
- public const string NETFX462_NET50 = "net462;net472;net48;netcoreapp3.1;net5.0";
+ public const string NETFX462_NET9 = "net462;net472;net48;net8.0;net9.0";
public const string DEFAULT_RUNNER_NETFX = Net462TargetFramework;
public const string DEFAULT_HOST_NETFX = Net462TargetFramework;
- public const string DEFAULT_RUNNER_NETCORE = Core31TargetFramework;
- public const string DEFAULT_HOST_NETCORE = Core31TargetFramework;
+ public const string DEFAULT_RUNNER_NETCORE = Core80TargetFramework;
+ public const string DEFAULT_HOST_NETCORE = Core80TargetFramework;
///
/// Our current defaults for .NET and .NET Framework.
///
- public const string DEFAULT_HOST_NETFX_AND_NET = "net462;netcoreapp3.1";
+ public const string DEFAULT_HOST_NETFX_AND_NET = "net462;net8.0";
public const string LATEST_TO_LEGACY = "Latest;LatestPreview;LatestStable;RecentStable;MostDownloaded;PreviousStable;LegacyStable";
public const string LATESTPREVIEW_TO_LEGACY = "LatestPreview;LatestStable;RecentStable;MostDownloaded;PreviousStable;LegacyStable";
public const string LATEST = "Latest";
@@ -74,9 +74,9 @@ protected static void SetTestEnvironment(IntegrationTestEnvironment testEnvironm
protected static string DeriveFrameworkArgValue(IntegrationTestEnvironment testEnvironment)
=> testEnvironment.TargetFramework switch
{
- Core31TargetFramework => Core31FrameworkArgValue,
- Core50TargetFramework => Core50FrameworkArgValue,
- Core60TargetFramework => Core60FrameworkArgValue,
+ Core80TargetFramework => Core80FrameworkArgValue,
+ Core90TargetFramework => Core90FrameworkArgValue,
+ Core10TargetFramework => Core10FrameworkArgValue,
Net462TargetFramework => Net462FrameworkArgValue,
Net47TargetFramework => Net47FrameworkArgValue,
Net471TargetFramework => Net471FrameworkArgValue,
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AssemblyMetadataProviderTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AssemblyMetadataProviderTests.cs
index c52f1c2f5c..9fc136accb 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AssemblyMetadataProviderTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AssemblyMetadataProviderTests.cs
@@ -55,7 +55,7 @@ public void Cleanup()
[TestMethod]
[DataRow("net462")]
- [DataRow("netcoreapp3.1")]
+ [DataRow("net8.0")]
public void GetArchitectureShouldReturnCorrentArchForx64Assembly(string framework)
{
TestDotnetAssemblyArch("SimpleTestProject3", framework, Architecture.X64, expectedElapsedTime: ExpectedTimeForFindingArchForDotNetAssembly);
@@ -63,7 +63,7 @@ public void GetArchitectureShouldReturnCorrentArchForx64Assembly(string framewor
[TestMethod]
[DataRow("net462")]
- [DataRow("netcoreapp3.1")]
+ [DataRow("net8.0")]
public void GetArchitectureShouldReturnCorrentArchForx86Assembly(string framework)
{
TestDotnetAssemblyArch("SimpleTestProjectx86", framework, Architecture.X86, expectedElapsedTime: ExpectedTimeForFindingArchForDotNetAssembly);
@@ -71,7 +71,7 @@ public void GetArchitectureShouldReturnCorrentArchForx86Assembly(string framewor
[TestMethod]
[DataRow("net462")]
- [DataRow("netcoreapp3.1")]
+ [DataRow("net8.0")]
public void GetArchitectureShouldReturnCorrentArchForAnyCpuAssembly(string framework)
{
TestDotnetAssemblyArch("SimpleTestProject", framework, Architecture.AnyCPU, expectedElapsedTime: ExpectedTimeForFindingArchForDotNetAssembly);
@@ -79,10 +79,10 @@ public void GetArchitectureShouldReturnCorrentArchForAnyCpuAssembly(string frame
[TestMethod]
[DataRow("net462")]
- [DataRow("netcoreapp3.1")]
- public void GetArchitectureShouldReturnCorrentArchForArmAssembly(string framework)
+ [DataRow("net8.0")]
+ public void GetArchitectureShouldReturnCorrentArchForArm64Assembly(string framework)
{
- TestDotnetAssemblyArch("SimpleTestProjectARM", framework, Architecture.ARM, expectedElapsedTime: ExpectedTimeForFindingArchForDotNetAssembly);
+ TestDotnetAssemblyArch("SimpleTestProjectARM64", framework, Architecture.ARM64, expectedElapsedTime: ExpectedTimeForFindingArchForDotNetAssembly);
}
[TestMethod]
@@ -108,7 +108,7 @@ public void GetArchitectureForNativeDll(string platform)
[TestMethod]
[DataRow("net462")]
- [DataRow("netcoreapp3.1")]
+ [DataRow("net8.0")]
public void GetFrameWorkForDotNetAssembly(string framework)
{
var expectedElapsedTime = 5;
@@ -126,7 +126,7 @@ public void GetFrameWorkForDotNetAssembly(string framework)
}
else
{
- Assert.AreEqual(".NETCoreApp,Version=v3.1", actualFx.FullName);
+ Assert.AreEqual(".NETCoreApp,Version=v8.0", actualFx.FullName);
}
Console.WriteLine("Framework:{0}, {1}", framework, string.Format(CultureInfo.CurrentCulture, PerfAssertMessageFormat, expectedElapsedTime, stopWatch.ElapsedMilliseconds));
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AssemblyPropertiesTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AssemblyPropertiesTests.cs
index aa98715583..df63b296d0 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AssemblyPropertiesTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/AssemblyPropertiesTests.cs
@@ -19,7 +19,7 @@ public AssemblyPropertiesTests()
[TestMethod]
[DataRow("net462")]
- [DataRow("netcoreapp3.1")]
+ [DataRow("net8.0")]
public void GetAssemblyTypeForManagedDll(string framework)
{
var assemblyPath = _testEnvironment.GetTestAsset("SimpleTestProject3.dll", framework);
@@ -47,7 +47,7 @@ public void GetAssemblyTypeForManagedExe()
}
[TestMethod]
- [DataRow("netcoreapp3.1")]
+ [DataRow("net8.0")]
public void GetAssemblyTypeForNetCoreManagedExe(string framework)
{
var assemblyPath = _testEnvironment.GetTestAsset("ConsoleManagedApp.dll", framework);
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/BlameDataCollectorTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/BlameDataCollectorTests.cs
index b36ace80bc..73cc7ed8aa 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/BlameDataCollectorTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/BlameDataCollectorTests.cs
@@ -24,8 +24,8 @@ namespace Microsoft.TestPlatform.AcceptanceTests;
[TestCategory("Windows-Review")]
public class BlameDataCollectorTests : AcceptanceTestBase
{
- public const string NETCOREANDFX = "net462;net472;netcoreapp3.1";
- public const string NET60 = "net6.0";
+ public const string NETCOREANDFX = "net462;net472;net8.0";
+ public const string NET60 = "net8.0";
private readonly string _procDumpPath;
public BlameDataCollectorTests()
@@ -108,8 +108,10 @@ public void BlameDataCollectorShouldNotOutputDumpFileWhenNoCrashOccurs(RunnerInf
[TestMethod]
[TestCategory("Windows-Review")]
+ // This tests .net runner and .net framework runner, together with .net framework testhost
[NetFullTargetFrameworkDataSource]
- [NetCoreTargetFrameworkDataSource]
+ // .NET does not support crash dump on exit
+ // [NetCoreTargetFrameworkDataSource]
public void BlameDataCollectorShouldOutputDumpFileWhenNoCrashOccursButCollectAlwaysIsEnabled(RunnerInfo runnerInfo)
{
@@ -131,9 +133,9 @@ public void BlameDataCollectorShouldOutputDumpFileWhenNoCrashOccursButCollectAlw
}
[TestMethod]
- [NetCoreRunner("net462;net472;netcoreapp3.1;net6.0")]
+ [NetCoreRunner("net462;net472;net8.0;net9.0")]
// should make no difference, keeping for easy debug
- // [NetFrameworkRunner("net462;net472;netcoreapp3.1;net6.0")]
+ // [NetFrameworkRunner("net462;net472;net8.0;net9.0")]
public void HangDumpOnTimeout(RunnerInfo runnerInfo)
{
SetTestEnvironment(_testEnvironment, runnerInfo);
@@ -153,10 +155,10 @@ public void HangDumpOnTimeout(RunnerInfo runnerInfo)
}
[TestMethod]
- // net6.0 does not support dump on exit
- [NetCoreRunner("net462;net472;netcoreapp3.1")]
+ // net8.0 does not support dump on exit
+ [NetCoreRunner("net462;net472")]
// should make no difference, keeping for easy debug
- // [NetFrameworkRunner("net462;net472;netcoreapp3.1")]
+ // [NetFrameworkRunner("net462;net472")]
public void CrashDumpWhenThereIsNoTimeout(RunnerInfo runnerInfo)
{
@@ -177,10 +179,9 @@ public void CrashDumpWhenThereIsNoTimeout(RunnerInfo runnerInfo)
}
[TestMethod]
- // net6.0 does not support dump on exit
- [NetCoreRunner("net462;net472;netcoreapp3.1")]
- // should make no difference, keeping for easy debug
- // [NetFrameworkRunner("net462;net472;netcoreapp3.1")]
+ // .NET tfms do not support dump on exit, but runner does
+ [NetCoreRunner("net462;net472")]
+ // [NetFrameworkRunner("net462;net472")]
public void CrashDumpOnExit(RunnerInfo runnerInfo)
{
@@ -201,9 +202,9 @@ public void CrashDumpOnExit(RunnerInfo runnerInfo)
}
[TestMethod]
- [NetCoreRunner("net462;net472;netcoreapp3.1;net6.0")]
+ [NetCoreRunner("net462;net472;net8.0;net9.0")]
// should make no difference, keeping for easy debug
- // [NetFrameworkRunner("net462;net472;netcoreapp3.1;net6.0")]
+ // [NetFrameworkRunner("net462;net472;net8.0;net9.0")]
public void CrashDumpOnStackOverflow(RunnerInfo runnerInfo)
{
SetTestEnvironment(_testEnvironment, runnerInfo);
@@ -239,9 +240,9 @@ public void CrashDumpChildProcesses(RunnerInfo runnerInfo)
}
[TestMethod]
- [NetCoreRunner("net462;net472;netcoreapp3.1;net6.0")]
+ [NetCoreRunner("net462;net472;net8.0;net9.0")]
// should make no difference, keeping for easy debug
- // [NetFrameworkRunner("net462;net472;netcoreapp3.1;net6.0")]
+ // [NetFrameworkRunner("net462;net472;net8.0;net9.0")]
public void HangDumpChildProcesses(RunnerInfo runnerInfo)
{
SetTestEnvironment(_testEnvironment, runnerInfo);
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DataCollectorTests.Coverlet.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DataCollectorTests.Coverlet.cs
index 82891c9c76..9931acf617 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DataCollectorTests.Coverlet.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DataCollectorTests.Coverlet.cs
@@ -25,7 +25,7 @@ public void RunCoverletCoverage()
}
// We use netcoreapp runner
- // "...\vstest\tools\dotnet\dotnet.exe "...\vstest\artifacts\Debug\netcoreapp3.1\vstest.console.dll" --collect:"XPlat Code Coverage" ...
+ // "...\vstest\tools\dotnet\dotnet.exe "...\vstest\artifacts\Debug\net8.0\vstest.console.dll" --collect:"XPlat Code Coverage" ...
_testEnvironment.RunnerFramework = CoreRunnerFramework;
var resultsDir = new TempDirectory();
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DiaSessionTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DiaSessionTests.cs
index f78fbaef84..debf1e1f3e 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DiaSessionTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DiaSessionTests.cs
@@ -20,7 +20,7 @@ public class DiaSessionTests : AcceptanceTestBase
#if NETFRAMEWORK
"net462";
#else
- "netcoreapp3.1";
+ "net8.0";
#endif
return currentTargetFrameWork;
}
@@ -130,17 +130,17 @@ private static void ValidateLineNumbers(int min, int max)
}
else
{
- if (max == 23)
+ if (max == 22)
{
Assert.AreEqual(min + 1, max, "Incorrect min line number");
}
- else if (max == 27)
+ else if (max == 26)
{
Assert.AreEqual(min + 1, max, "Incorrect min line number");
}
else
{
- Assert.Fail($"Incorrect min/max line number. Expected Max to be 23 or 27. And Min to be 22 or 26. But Min was {min}, and Max was {max}.");
+ Assert.Fail($"Incorrect min/max line number. Expected Max to be 22 or 26. And Min to be 21 or 25. But Min was {min}, and Max was {max}.");
}
}
}
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetArchitectureSwitchTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetArchitectureSwitchTests.cs
index a03c0c9776..670e4cf715 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetArchitectureSwitchTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetArchitectureSwitchTests.cs
@@ -18,7 +18,7 @@ namespace Microsoft.TestPlatform.AcceptanceTests;
// >= x64 6.0.2xx
// x64 5.0.4xx for Mac
// x64 3.1.4XX for Win
-// Manual test './tools/.../dotnet test ./test/Microsoft.TestPlatform.AcceptanceTests/bin/Debug/netcoreapp3.1/Microsoft.TestPlatform.AcceptanceTests.dll --testcasefilter:"DotnetArchitectureSwitchTests"'
+// Manual test './tools/.../dotnet test ./test/Microsoft.TestPlatform.AcceptanceTests/bin/Debug/net8.0/Microsoft.TestPlatform.AcceptanceTests.dll --testcasefilter:"DotnetArchitectureSwitchTests"'
[TestClass]
[Ignore("Manual tests(for now). Tests in this class need some .NET SDK global installations")]
public class DotnetArchitectureSwitchTests : AcceptanceTestBase
@@ -58,7 +58,7 @@ public void GlobalInstallation()
};
// Verify native architecture
- ExecuteApplication(GetDefaultDotnetMuxerLocation, $"test {projectPath} --framework net6.0", out string stdOut, out _, out _, env, projectDirectory);
+ ExecuteApplication(GetDefaultDotnetMuxerLocation, $"test {projectPath} --framework net8.0", out string stdOut, out _, out _, env, projectDirectory);
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
Assert.IsTrue(stdOut.Contains("Runtime location: /usr/local/share/dotnet/shared/Microsoft.NETCore.App"));
@@ -72,11 +72,11 @@ public void GlobalInstallation()
// Verify switch using csproj
- ExecuteApplication(GetDefaultDotnetMuxerLocation, $"test {projectPath} --framework net6.0 --arch x64", out stdOut, out _, out _, env, projectDirectory);
+ ExecuteApplication(GetDefaultDotnetMuxerLocation, $"test {projectPath} --framework net8.0 --arch x64", out stdOut, out _, out _, env, projectDirectory);
AssertSwitch(stdOut);
// Verify switch using test container
- var buildAssemblyPath = GetTestDllForFramework("ArchitectureSwitch.dll", "net6.0");
+ var buildAssemblyPath = GetTestDllForFramework("ArchitectureSwitch.dll", "net8.0");
ExecuteApplication(GetDefaultDotnetMuxerLocation, $"test {buildAssemblyPath} --arch x64", out stdOut, out _, out _, env, projectDirectory);
AssertSwitch(stdOut);
@@ -116,7 +116,7 @@ public void DOTNET_ROOTS_EnvironmentVariables(bool dotnetRoot, bool dotnetRootX6
var projectDirectory = Path.GetDirectoryName(projectPath);
// Verify native architecture
- ExecuteApplication(GetDefaultDotnetMuxerLocation, $"test {projectPath} --framework net6.0", out string stdOut, out _, out _, env, projectDirectory);
+ ExecuteApplication(GetDefaultDotnetMuxerLocation, $"test {projectPath} --framework net8.0", out string stdOut, out _, out _, env, projectDirectory);
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
Assert.IsTrue(stdOut.Contains("Runtime location: /usr/local/share/dotnet/shared/Microsoft.NETCore.App"), "Unexpected runtime location");
@@ -142,12 +142,12 @@ public void DOTNET_ROOTS_EnvironmentVariables(bool dotnetRoot, bool dotnetRootX6
}
// Verify switch using csproj
- ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {projectPath} --framework net6.0 --arch x64", out stdOut, out _, out _, env, projectDirectory);
+ ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {projectPath} --framework net8.0 --arch x64", out stdOut, out _, out _, env, projectDirectory);
AssertSwitch(stdOut);
// Verify switch using test container
- var buildAssemblyPath = GetTestDllForFramework("ArchitectureSwitch.dll", "net6.0");
- ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {buildAssemblyPath} --framework net6.0 --arch x64", out stdOut, out _, out _, env, projectDirectory);
+ var buildAssemblyPath = GetTestDllForFramework("ArchitectureSwitch.dll", "net8.0");
+ ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {buildAssemblyPath} --framework net8.0 --arch x64", out stdOut, out _, out _, env, projectDirectory);
AssertSwitch(stdOut);
void AssertSwitch(string output)
@@ -180,18 +180,18 @@ public void PrivateX64BuildToGlobalArmInstallation()
var projectDirectory = Path.GetDirectoryName(projectPath);
// Verify native architecture
- ExecuteApplication(privateInstallationMuxer, $"test {projectPath} --framework net6.0", out string stdOut, out _, out _, env, projectDirectory);
+ ExecuteApplication(privateInstallationMuxer, $"test {projectPath} --framework net8.0", out string stdOut, out _, out _, env, projectDirectory);
Assert.IsTrue(Regex.IsMatch(stdOut.Replace(@"\", "/"), $"Runtime location: .*{s_privateX64Installation.Replace(@"\", "/")}.*shared.*Microsoft.NETCore.App"), "Unexpected runtime location");
Assert.IsTrue(stdOut.Contains("OSArchitecture: X64"), "Unexpected OSArchitecture");
Assert.IsTrue(stdOut.Contains("ProcessArchitecture: X64"), "Unexpected ProcessArchitecture");
// Verify switch using csproj
- ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {projectPath} --framework net6.0 --arch arm64", out stdOut, out _, out _, env, projectDirectory);
+ ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {projectPath} --framework net8.0 --arch arm64", out stdOut, out _, out _, env, projectDirectory);
AssertSwitch(stdOut);
// Verify switch using test container
- var buildAssemblyPath = GetTestDllForFramework("ArchitectureSwitch.dll", "net6.0");
- ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {buildAssemblyPath} --framework net6.0 --arch arm64", out stdOut, out _, out _, env, projectDirectory);
+ var buildAssemblyPath = GetTestDllForFramework("ArchitectureSwitch.dll", "net8.0");
+ ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {buildAssemblyPath} --framework net8.0 --arch arm64", out stdOut, out _, out _, env, projectDirectory);
AssertSwitch(stdOut);
static void AssertSwitch(string output)
@@ -224,7 +224,7 @@ public void PrivateX64BuildToDOTNET_ROOTS_EnvironmentVariables(bool dotnetRoot,
var projectDirectory = Path.GetDirectoryName(projectPath);
// Verify native architecture
- ExecuteApplication(privateInstallationMuxer, $"test {projectPath} --framework net6.0", out string stdOut, out _, out _, env, projectDirectory);
+ ExecuteApplication(privateInstallationMuxer, $"test {projectPath} --framework net8.0", out string stdOut, out _, out _, env, projectDirectory);
Assert.IsTrue(Regex.IsMatch(stdOut.Replace(@"\", "/"), $"Runtime location: .*{s_privateX64Installation.Replace(@"\", "/")}.*shared.*Microsoft.NETCore.App"), "Unexpected runtime location");
Assert.IsTrue(stdOut.Contains("OSArchitecture: X64"), "Unexpected OSArchitecture");
Assert.IsTrue(stdOut.Contains("ProcessArchitecture: X64"), "Unexpected ProcessArchitecture");
@@ -243,12 +243,12 @@ public void PrivateX64BuildToDOTNET_ROOTS_EnvironmentVariables(bool dotnetRoot,
}
// Verify switch using csproj
- ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {projectPath} --framework net6.0 --arch arm64", out stdOut, out _, out _, env, projectDirectory);
+ ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {projectPath} --framework net8.0 --arch arm64", out stdOut, out _, out _, env, projectDirectory);
AssertSwitch(stdOut);
// Verify switch using test container
- var buildAssemblyPath = GetTestDllForFramework("ArchitectureSwitch.dll", "net6.0");
- ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {buildAssemblyPath} --framework net6.0 --arch arm64", out stdOut, out _, out _, env, projectDirectory);
+ var buildAssemblyPath = GetTestDllForFramework("ArchitectureSwitch.dll", "net8.0");
+ ExecuteApplication($"{s_privateX64Installation}/{GetMuxerName}", $"test {buildAssemblyPath} --framework net8.0 --arch arm64", out stdOut, out _, out _, env, projectDirectory);
AssertSwitch(stdOut);
void AssertSwitch(string output)
@@ -298,8 +298,8 @@ public void SilentlyForceX64()
$@"{Environment.ExpandEnvironmentVariables("%ProgramFiles%")}\dotnet\x64";
private static string GetFrameworkVersionToForceToX64 => RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ?
- "net5.0" :
- "netcoreapp3.1";
+ "net9.0" :
+ "net8.0";
private static string GetDefaultLocation => RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ?
$"/usr/local/share/dotnet" :
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetHostArchitectureVerifierTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetHostArchitectureVerifierTests.cs
index 3ff30740f4..04e6e08c3f 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetHostArchitectureVerifierTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetHostArchitectureVerifierTests.cs
@@ -23,7 +23,7 @@ public class DotnetHostArchitectureVerifierTests : IntegrationTestBase
// [DataRow("X86")]
public void VerifyHostArchitecture(string architecture)
{
- _testEnvironment.RunnerFramework = "netcoreapp3.1";
+ _testEnvironment.RunnerFramework = "net8.0";
string dotnetPath = GetDownloadedDotnetMuxerFromTools(architecture);
var vstestConsolePath = GetDotnetRunnerPath();
var dotnetRunnerPath = TempDirectory.CreateDirectory("dotnetrunner");
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetTestMSBuildOutputTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetTestMSBuildOutputTests.cs
index 70e18080ef..3aca6e7e04 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetTestMSBuildOutputTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/DotnetTestMSBuildOutputTests.cs
@@ -30,9 +30,9 @@ public void MSBuildLoggerCanBeEnabledByBuildPropertyAndDoesNotEatSpecialChars(Ru
// Determining projects to restore...
// Restored C:\Users\nohwnd\AppData\Local\Temp\vstest\xvoVt\SimpleTestProject.csproj (in 441 ms).
// SimpleTestProject -> C:\Users\nohwnd\AppData\Local\Temp\vstest\xvoVt\artifacts\bin\TestAssets\SimpleTestProject\Debug\net462\SimpleTestProject.dll
- // SimpleTestProject -> C:\Users\nohwnd\AppData\Local\Temp\vstest\xvoVt\artifacts\bin\TestAssets\SimpleTestProject\Debug\netcoreapp3.1\SimpleTestProject.dll
+ // SimpleTestProject -> C:\Users\nohwnd\AppData\Local\Temp\vstest\xvoVt\artifacts\bin\TestAssets\SimpleTestProject\Debug\net8.0\SimpleTestProject.dll
// C:\Users\nohwnd\AppData\Local\Temp\vstest\xvoVt\UnitTest1.cs(41): error VSTEST1: (FailingTest) SampleUnitTestProject.UnitTest1.FailingTest() Assert.AreEqual failed. Expected:<2>. Actual:<3>. [C:\Users\nohwnd\AppData\Local\Temp\vstest\xvoVt\SimpleTestProject.csproj::TargetFramework=net462]
- // C:\Users\nohwnd\AppData\Local\Temp\vstest\xvoVt\UnitTest1.cs(41): error VSTEST1: (FailingTest) SampleUnitTestProject.UnitTest1.FailingTest() Assert.AreEqual failed. Expected:<2>. Actual:<3>. [C:\Users\nohwnd\AppData\Local\Temp\vstest\xvoVt\SimpleTestProject.csproj::TargetFramework=netcoreapp3.1]
+ // C:\Users\nohwnd\AppData\Local\Temp\vstest\xvoVt\UnitTest1.cs(41): error VSTEST1: (FailingTest) SampleUnitTestProject.UnitTest1.FailingTest() Assert.AreEqual failed. Expected:<2>. Actual:<3>. [C:\Users\nohwnd\AppData\Local\Temp\vstest\xvoVt\SimpleTestProject.csproj::TargetFramework=net8.0]
StdOutputContains("TESTERROR");
StdOutputContains("FailingTest (");
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/ExecutionTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/ExecutionTests.cs
index 1678f6a13e..47761acff0 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/ExecutionTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/ExecutionTests.cs
@@ -202,7 +202,7 @@ public void StackOverflowExceptionShouldBeLoggedToConsoleAndDiagLogFile(RunnerIn
InvokeVsTest(arguments);
var errorMessage = "Process is terminated due to StackOverflowException.";
- if (runnerInfo.TargetFramework.StartsWith("netcoreapp"))
+ if (!runnerInfo.TargetFramework.StartsWith("net4"))
{
errorMessage = "Test host process crashed : Stack overflow.";
}
@@ -232,7 +232,7 @@ public void UnhandleExceptionExceptionShouldBeLoggedToDiagLogFile(RunnerInfo run
InvokeVsTest(arguments);
var errorFirstLine =
- runnerInfo.TargetFramework.StartsWith("netcoreapp")
+ !runnerInfo.TargetFramework.StartsWith("net4")
? "Test host standard error line: Unhandled exception. System.InvalidOperationException: Operation is not valid due to the current state of the object."
: "Test host standard error line: Unhandled Exception: System.InvalidOperationException: Operation is not valid due to the current state of the object.";
FileAssert.Contains(diagLogFilePath, errorFirstLine);
@@ -418,7 +418,7 @@ public void RunXunitTestsWhenProvidingAllDllsInBin(RunnerInfo runnerInfo)
// ! * *\*TestAdapter.dll
// ! * *\obj\**
// Because of this in typical run we get a lot of dlls that we are sure don't have tests, like Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll
- // or testhost.dll. Those dlls are built for netcoreapp3.1 tfm, so theoretically they should be tests, but attempting to run them fails to find runtimeconfig.json
+ // or testhost.dll. Those dlls are built for net8.0 tfm, so theoretically they should be tests, but attempting to run them fails to find runtimeconfig.json
// or deps.json, and fails the run.
SetTestEnvironment(_testEnvironment, runnerInfo);
@@ -443,7 +443,7 @@ public void RunMstestTestsWhenProvidingAllDllsInBin(RunnerInfo runnerInfo)
// ! * *\*TestAdapter.dll
// ! * *\obj\**
// Because of this in typical run we get a lot of dlls that we are sure don't have tests, like Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll
- // or testhost.dll. Those dlls are built for netcoreapp3.1 tfm, so theoretically they should be tests, but attempting to run them fails to find runtimeconfig.json
+ // or testhost.dll. Those dlls are built for net8.0 tfm, so theoretically they should be tests, but attempting to run them fails to find runtimeconfig.json
// or deps.json, and fails the run.
SetTestEnvironment(_testEnvironment, runnerInfo);
@@ -467,7 +467,7 @@ public void RunNunitTestsWhenProvidingAllDllsInBin(RunnerInfo runnerInfo)
// ! * *\*TestAdapter.dll
// ! * *\obj\**
// Because of this in typical run we get a lot of dlls that we are sure don't have tests, like Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll
- // or testhost.dll. Those dlls are built for netcoreapp3.1 tfm, so theoretically they should be tests, but attempting to run them fails to find runtimeconfig.json
+ // or testhost.dll. Those dlls are built for net8.0 tfm, so theoretically they should be tests, but attempting to run them fails to find runtimeconfig.json
// or deps.json, and fails the run.
SetTestEnvironment(_testEnvironment, runnerInfo);
@@ -490,7 +490,7 @@ public void RunTestsWhenProvidingJustPlatformDllsFailsTheRun(RunnerInfo runnerIn
// ! * *\*TestAdapter.dll
// ! * *\obj\**
// Because of this in typical run we get a lot of dlls that we are sure don't have tests, like Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll
- // or testhost.dll. Those dlls are built for netcoreapp3.1 tfm, so theoretically they should be tests, but attempting to run them fails to find runtimeconfig.json
+ // or testhost.dll. Those dlls are built for net8.0 tfm, so theoretically they should be tests, but attempting to run them fails to find runtimeconfig.json
// or deps.json, and fails the run.
SetTestEnvironment(_testEnvironment, runnerInfo);
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/CompatibilityRowsBuilder.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/CompatibilityRowsBuilder.cs
index d798463ae2..01f38e3639 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/CompatibilityRowsBuilder.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/CompatibilityRowsBuilder.cs
@@ -366,7 +366,9 @@ true when NuGetVersion.TryParse(version, out var v)
false when version.StartsWith("15.") => GetContentFilesPath("netcoreapp2.0"),
false when NuGetVersion.TryParse(version, out var v)
&& new NuGetVersion(v.Major, v.Minor, v.Patch) < new NuGetVersion("17.4.0") => GetContentFilesPath("netcoreapp2.1"),
- false => GetContentFilesPath("netcoreapp3.1"),
+ false when NuGetVersion.TryParse(version, out var v)
+ && new NuGetVersion(v.Major, v.Minor, v.Patch) <= new NuGetVersion("17.12.0") => GetContentFilesPath("netcoreapp3.1"),
+ false => GetContentFilesPath("net9.0"),
};
return new VSTestConsoleInfo
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/NetCoreRunnerAttribute.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/NetCoreRunnerAttribute.cs
index a1362f1c56..4b29b27dad 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/NetCoreRunnerAttribute.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/NetCoreRunnerAttribute.cs
@@ -16,7 +16,7 @@ namespace Microsoft.TestPlatform.AcceptanceTests;
///
/// Runs tests using the dotnet vstest.console.dll built against .NET Core 3.1.
/// Provide a list of target frameworks to run the tests from given as a ';' separated list, or using a constant containing that range such as
-/// AcceptanceTestBase.NETFX462_NET50 = "net462;net472;net48;netcoreapp3.1;net5.0" to determine which target framework of the project
+/// AcceptanceTestBase.NETFX462_NET9 = "net462;net472;net48;net8.0;net9.0" to determine which target framework of the project
/// to test. The target project must list those TFMs in the TargetFrameworks property in csproj.
///
[AttributeUsage(AttributeTargets.Method)]
@@ -28,7 +28,7 @@ public class NetCoreRunnerAttribute : Attribute, ITestDataSource
/// Initializes a new instance of the class.
///
/// To run tests with desktop runner(vstest.console.exe), use AcceptanceTestBase.Net462TargetFramework or alike values.
- public NetCoreRunnerAttribute(string targetFrameworks = AcceptanceTestBase.NETFX462_NET50)
+ public NetCoreRunnerAttribute(string targetFrameworks = AcceptanceTestBase.NETFX462_NET9)
{
_targetFrameworks = targetFrameworks;
}
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/NetCoreTargetFrameworkDataSourceAttribute.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/NetCoreTargetFrameworkDataSourceAttribute.cs
index a227c37af1..ad85630dbe 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/NetCoreTargetFrameworkDataSourceAttribute.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Extension/NetCoreTargetFrameworkDataSourceAttribute.cs
@@ -68,14 +68,14 @@ public IEnumerable
- Exe
- net6.0;net48
+ Exe
+ net9.0;net48
@@ -37,18 +37,10 @@
-
+
-
-
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Performance/TranslationLayer/TelemetryPerfTestBase.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Performance/TranslationLayer/TelemetryPerfTestBase.cs
index cb4a59b220..31a6e4ad63 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Performance/TranslationLayer/TelemetryPerfTestBase.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/Performance/TranslationLayer/TelemetryPerfTestBase.cs
@@ -115,7 +115,7 @@ private static string GetAdapterName(string projectName)
///
public string[] GetPerfAssetFullPath(string name, string framework = "net48")
{
- // TODO: how was I doing it before? The build is for net48, were we running net6.0 here?
+ // TODO: how was I doing it before? The build is for net48, were we running net8.0 here?
var dllPath = GetTestDllForFramework($"{name}.dll", framework);
return !File.Exists(dllPath)
? throw new FileNotFoundException(null, dllPath)
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/ProcessesInteractionTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/ProcessesInteractionTests.cs
index 13208c4d69..32228f1da8 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/ProcessesInteractionTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/ProcessesInteractionTests.cs
@@ -22,7 +22,7 @@ public void WhenTestHostProcessExitsBecauseTheTargetedRuntimeIsNoFoundThenTheMes
// Arrange
SetTestEnvironment(_testEnvironment, runnerInfo);
const string testAssetProjectName = "SimpleTestProjectMessedUpTargetFramework";
- var assemblyPath = GetTestDllForFramework(testAssetProjectName + ".dll", Core31TargetFramework);
+ var assemblyPath = GetTestDllForFramework(testAssetProjectName + ".dll", Core80TargetFramework);
UpdateRuntimeConfigJsonWithInvalidFramework(assemblyPath, testAssetProjectName);
// Act
@@ -39,7 +39,7 @@ static void UpdateRuntimeConfigJsonWithInvalidFramework(string assemblyPath, str
// that's only meant to be used by this project.
var runtimeConfigJson = Path.Combine(Path.GetDirectoryName(assemblyPath)!, testAssetProjectName + ".runtimeconfig.json");
var fileContent = File.ReadAllText(runtimeConfigJson);
- var updatedContent = fileContent.Replace("\"version\": \"3.1.0\"", "\"version\": \"0.0.0\"");
+ var updatedContent = fileContent.Replace("\"version\": \"8.0.0\"", "\"version\": \"0.0.0\"");
File.WriteAllText(runtimeConfigJson, updatedContent);
}
}
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/SelfContainedAppTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/SelfContainedAppTests.cs
index fdfddcd95b..531f35c012 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/SelfContainedAppTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/SelfContainedAppTests.cs
@@ -22,8 +22,8 @@ public void RunningApplicationThatIsBuiltAsSelfContainedWillNotFailToFindHostpol
// see https://github.com/dotnet/runtime/issues/3569#issuecomment-595820524 and below for description of how it works
SetTestEnvironment(_testEnvironment, runnerInfo);
- // the app is published to win10-x64 because of the runtime identifier in the project
- var assemblyPath = GetAssetFullPath($@"win10-x64{Path.DirectorySeparatorChar}SelfContainedAppTestProject.dll");
+ // the app is published to win-x64 because of the runtime identifier in the project
+ var assemblyPath = GetAssetFullPath($@"win-x64{Path.DirectorySeparatorChar}SelfContainedAppTestProject.dll");
var arguments = PrepareArguments(assemblyPath, null, null, FrameworkArgValue, runnerInfo.InIsolationValue, resultsDirectory: TempDirectory.Path);
InvokeVsTest(arguments);
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/DifferentTestFrameworkSimpleTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/DifferentTestFrameworkSimpleTests.cs
index c744db464b..8532a5d229 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/DifferentTestFrameworkSimpleTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/DifferentTestFrameworkSimpleTests.cs
@@ -10,6 +10,7 @@
using Microsoft.TestPlatform.TestUtilities;
using Microsoft.TestPlatform.VsTestConsole.TranslationLayer.Interfaces;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
+//using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.TestPlatform.AcceptanceTests.TranslationLayerTests;
@@ -77,8 +78,8 @@ public void RunTestsWithNunitAdapter(RunnerInfo runnerInfo)
[TestMethod]
// there are logs in the diagnostic log, it is failing with NullReferenceException because path is null
[TestCategory("Windows-Review")]
- [NetFullTargetFrameworkDataSource]
- [NetCoreTargetFrameworkDataSource]
+ [NetFullTargetFrameworkDataSource(useCoreRunner: true, useDesktopRunner: false)]
+ // [NetCoreTargetFrameworkDataSource]
public void RunTestsWithXunitAdapter(RunnerInfo runnerInfo)
{
SetTestEnvironment(_testEnvironment, runnerInfo);
@@ -91,7 +92,12 @@ public void RunTestsWithXunitAdapter(RunnerInfo runnerInfo)
_vstestConsoleWrapper.RunTests(
sources,
- GetDefaultRunSettings(),
+ $@"
+
+
+ {runnerInfo.TargetFramework}
+
+ ",
_runEventHandler);
var testCase =
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/EventHandler/DiscoveryEventHandler.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/EventHandler/DiscoveryEventHandler.cs
index 0c3936c0b6..2efac8896f 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/EventHandler/DiscoveryEventHandler.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/EventHandler/DiscoveryEventHandler.cs
@@ -150,7 +150,7 @@ public void HandleLogMessage(TestMessageLevel level, string? message)
if (level == TestMessageLevel.Error)
{
Console.WriteLine($"ERROR:{message}");
- };
+ }
}
public void HandleDiscoveryComplete(DiscoveryCompleteEventArgs discoveryCompleteEventArgs, IEnumerable? lastChunk)
diff --git a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/RunTestsWithDifferentConfigurationTests.cs b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/RunTestsWithDifferentConfigurationTests.cs
index 426ce341cf..abf6f49b7b 100644
--- a/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/RunTestsWithDifferentConfigurationTests.cs
+++ b/test/Microsoft.TestPlatform.Acceptance.IntegrationTests/TranslationLayerTests/RunTestsWithDifferentConfigurationTests.cs
@@ -21,7 +21,7 @@ namespace Microsoft.TestPlatform.AcceptanceTests.TranslationLayerTests;
[TestClass]
public class RunTestsWithDifferentConfigurationTests : AcceptanceTestBase
{
- private const string Netcoreapp = "netcoreapp";
+ private const string NetFramework = "net4";
private const string Message = "VsTestConsoleWrapper does not support .Net Core Runner";
private IVsTestConsoleWrapper? _vstestConsoleWrapper;
@@ -101,11 +101,11 @@ public void RunTestsWithRunSettingsWithParallel(RunnerInfo runnerInfo)
[TestMethod]
[TestCategory("Windows-Review")]
- [NetFullTargetFrameworkDataSource]
+ [NetFullTargetFrameworkDataSource()]
public void RunTestsWithTestSettings(RunnerInfo runnerInfo)
{
SetTestEnvironment(_testEnvironment, runnerInfo);
- ExecuteNotSupportedRunnerFrameworkTests(runnerInfo.RunnerFramework, Netcoreapp, Message);
+ ExecuteNotSupportedRunnerFrameworkTests(runnerInfo.RunnerFramework, NetFramework, Message);
Setup();
var testsettingsFile = Path.Combine(TempDirectory.Path, "tempsettings.testsettings");
diff --git a/test/Microsoft.TestPlatform.AdapterUtilities.UnitTests/Microsoft.TestPlatform.AdapterUtilities.UnitTests.csproj b/test/Microsoft.TestPlatform.AdapterUtilities.UnitTests/Microsoft.TestPlatform.AdapterUtilities.UnitTests.csproj
index c2f98954c2..3a908e87bc 100644
--- a/test/Microsoft.TestPlatform.AdapterUtilities.UnitTests/Microsoft.TestPlatform.AdapterUtilities.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.AdapterUtilities.UnitTests/Microsoft.TestPlatform.AdapterUtilities.UnitTests.csproj
@@ -5,8 +5,8 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.AdapterUtilities.UnitTeststrue$(NoWarn);RS1024
diff --git a/test/Microsoft.TestPlatform.Build.UnitTests/Microsoft.TestPlatform.Build.UnitTests.csproj b/test/Microsoft.TestPlatform.Build.UnitTests/Microsoft.TestPlatform.Build.UnitTests.csproj
index 1e5c859108..9363812637 100644
--- a/test/Microsoft.TestPlatform.Build.UnitTests/Microsoft.TestPlatform.Build.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.Build.UnitTests/Microsoft.TestPlatform.Build.UnitTests.csproj
@@ -6,8 +6,8 @@
- net8.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.Build.UnitTests
@@ -18,6 +18,8 @@
+
+
diff --git a/test/Microsoft.TestPlatform.Client.UnitTests/Microsoft.TestPlatform.Client.UnitTests.csproj b/test/Microsoft.TestPlatform.Client.UnitTests/Microsoft.TestPlatform.Client.UnitTests.csproj
index d3976dd0ef..5839ea296b 100644
--- a/test/Microsoft.TestPlatform.Client.UnitTests/Microsoft.TestPlatform.Client.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.Client.UnitTests/Microsoft.TestPlatform.Client.UnitTests.csproj
@@ -6,17 +6,11 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.Client.UnitTests
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.Common.UnitTests/Microsoft.TestPlatform.Common.UnitTests.csproj b/test/Microsoft.TestPlatform.Common.UnitTests/Microsoft.TestPlatform.Common.UnitTests.csproj
index 5a72e7dc34..37e4ae7b0f 100644
--- a/test/Microsoft.TestPlatform.Common.UnitTests/Microsoft.TestPlatform.Common.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.Common.UnitTests/Microsoft.TestPlatform.Common.UnitTests.csproj
@@ -6,16 +6,10 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.Common.UnitTests
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.CommunicationUtilities.Platform.UnitTests/Microsoft.TestPlatform.CommunicationUtilities.Platform.UnitTests.csproj b/test/Microsoft.TestPlatform.CommunicationUtilities.Platform.UnitTests/Microsoft.TestPlatform.CommunicationUtilities.Platform.UnitTests.csproj
index d63e9e4f6c..0605d93fd5 100644
--- a/test/Microsoft.TestPlatform.CommunicationUtilities.Platform.UnitTests/Microsoft.TestPlatform.CommunicationUtilities.Platform.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.CommunicationUtilities.Platform.UnitTests/Microsoft.TestPlatform.CommunicationUtilities.Platform.UnitTests.csproj
@@ -6,15 +6,8 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.CommunicationUtilities.PlatformTests
-
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.CommunicationUtilities.UnitTests/Microsoft.TestPlatform.CommunicationUtilities.UnitTests.csproj b/test/Microsoft.TestPlatform.CommunicationUtilities.UnitTests/Microsoft.TestPlatform.CommunicationUtilities.UnitTests.csproj
index 9fee3675c6..99354bbad1 100644
--- a/test/Microsoft.TestPlatform.CommunicationUtilities.UnitTests/Microsoft.TestPlatform.CommunicationUtilities.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.CommunicationUtilities.UnitTests/Microsoft.TestPlatform.CommunicationUtilities.UnitTests.csproj
@@ -6,11 +6,11 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.CommunicationUtilities.UnitTests
-
+
diff --git a/test/Microsoft.TestPlatform.CoreUtilities.UnitTests/Microsoft.TestPlatform.CoreUtilities.UnitTests.csproj b/test/Microsoft.TestPlatform.CoreUtilities.UnitTests/Microsoft.TestPlatform.CoreUtilities.UnitTests.csproj
index ba4499c758..0999799a02 100644
--- a/test/Microsoft.TestPlatform.CoreUtilities.UnitTests/Microsoft.TestPlatform.CoreUtilities.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.CoreUtilities.UnitTests/Microsoft.TestPlatform.CoreUtilities.UnitTests.csproj
@@ -6,30 +6,10 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.CoreUtilities.UnitTests
-
-
- 4.3.0
-
-
- 4.3.0
-
-
- 4.3.0
-
-
- 4.3.0
-
-
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/DataCollection/InProcDataCollectionExtensionManagerTests.cs b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/DataCollection/InProcDataCollectionExtensionManagerTests.cs
index 1edc315269..87c3f5dfb6 100644
--- a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/DataCollection/InProcDataCollectionExtensionManagerTests.cs
+++ b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/DataCollection/InProcDataCollectionExtensionManagerTests.cs
@@ -101,7 +101,7 @@ public void InProcDataCollectionExtensionManagerLoadsDataCollectorFromDefaultCod
";
- _mockFileHelper.Setup(fh => fh.Exists(Path.Combine(Temp, "repos", "MSTest", "src", "managed", "TestPlatform", "TestImpactListener.Tests", "bin", "Debug", "TestImpactListener.Tests.dll"))).Returns(true);
+ _mockFileHelper.Setup(fh => fh.Exists(Path.Combine(new[] { Temp, "repos", "MSTest", "src", "managed", "TestPlatform", "TestImpactListener.Tests", "bin", "Debug", "TestImpactListener.Tests.dll" }))).Returns(true);
_inProcDataCollectionManager = new TestableInProcDataCollectionExtensionManager(settingsXml, _mockTestEventsPublisher.Object, _defaultCodebase, _testPluginCache, _mockFileHelper.Object);
var codebase = ((MockDataCollector)_inProcDataCollectionManager.InProcDataCollectors.Values.First()).CodeBase;
diff --git a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Microsoft.TestPlatform.CrossPlatEngine.UnitTests.csproj b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Microsoft.TestPlatform.CrossPlatEngine.UnitTests.csproj
index 4e7fb4dd64..b29e6d5637 100644
--- a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Microsoft.TestPlatform.CrossPlatEngine.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/Microsoft.TestPlatform.CrossPlatEngine.UnitTests.csproj
@@ -7,8 +7,8 @@
Microsoft.TestPlatform.CrossPlatEngine.UnitTests
- net6.0;net48
- Exe
+ net9.0;net48
+ Exe
@@ -18,12 +18,4 @@
-
-
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests.csproj b/test/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests.csproj
index 836dd60c67..1fe46f071b 100644
--- a/test/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests.csproj
@@ -19,8 +19,8 @@
Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests
- net6.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.Extensions.BlameDataCollector.UnitTests
@@ -31,11 +31,4 @@
-
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests/XmlReaderWriterTests.cs b/test/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests/XmlReaderWriterTests.cs
index 59fe94e370..e23dc5a040 100644
--- a/test/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests/XmlReaderWriterTests.cs
+++ b/test/Microsoft.TestPlatform.Extensions.BlameDataCollector.UnitTests/XmlReaderWriterTests.cs
@@ -91,26 +91,6 @@ public void ReadTestSequenceShouldThrowExceptionIfFileNotFound()
Assert.ThrowsException(() => _xmlReaderWriter.ReadTestSequence(string.Empty));
}
- ///
- /// The read test sequence should read file stream.
- ///
- [TestMethod]
- public void ReadTestSequenceShouldReadFileStream()
- {
- // Setup
- _mockFileHelper.Setup(m => m.Exists(It.IsAny())).Returns(true);
- _mockFileHelper.Setup(m => m.GetStream("path.xml", FileMode.Open, FileAccess.ReadWrite)).Returns(_mockStream.Object);
-
- // Call to Read Test Sequence
- _xmlReaderWriter.ReadTestSequence("path.xml");
-
- // Verify Call to fileHelper
- _mockFileHelper.Verify(x => x.GetStream("path.xml", FileMode.Open, FileAccess.ReadWrite));
-
- // Verify Call to stream read
- _mockStream.Verify(x => x.Read(It.IsAny(), It.IsAny(), It.IsAny()));
- }
-
///
/// The write test sequence should write file stream.
///
diff --git a/test/Microsoft.TestPlatform.Extensions.HtmlLogger.UnitTests/Microsoft.TestPlatform.Extensions.HtmlLogger.UnitTests.csproj b/test/Microsoft.TestPlatform.Extensions.HtmlLogger.UnitTests/Microsoft.TestPlatform.Extensions.HtmlLogger.UnitTests.csproj
index a109012ab5..de607265a6 100644
--- a/test/Microsoft.TestPlatform.Extensions.HtmlLogger.UnitTests/Microsoft.TestPlatform.Extensions.HtmlLogger.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.Extensions.HtmlLogger.UnitTests/Microsoft.TestPlatform.Extensions.HtmlLogger.UnitTests.csproj
@@ -6,17 +6,10 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ Exe
-
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests.csproj b/test/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests.csproj
index c8b9420b40..469621d359 100644
--- a/test/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests/Microsoft.TestPlatform.Extensions.TrxLogger.UnitTests.csproj
@@ -6,18 +6,11 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.Extensions.TrxLogger.UnitTests
-
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.ObjectModel.UnitTests/Microsoft.TestPlatform.ObjectModel.UnitTests.csproj b/test/Microsoft.TestPlatform.ObjectModel.UnitTests/Microsoft.TestPlatform.ObjectModel.UnitTests.csproj
index 6429c9b26b..2f8a968278 100644
--- a/test/Microsoft.TestPlatform.ObjectModel.UnitTests/Microsoft.TestPlatform.ObjectModel.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.ObjectModel.UnitTests/Microsoft.TestPlatform.ObjectModel.UnitTests.csproj
@@ -6,8 +6,8 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.ObjectModel.UnitTests
@@ -15,11 +15,4 @@
$(NewtonsoftJsonVersion)
-
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.TestHostProvider.UnitTests/Hosting/DotnetTestHostManagerTests.cs b/test/Microsoft.TestPlatform.TestHostProvider.UnitTests/Hosting/DotnetTestHostManagerTests.cs
index 7d643fcae4..997d4741f0 100644
--- a/test/Microsoft.TestPlatform.TestHostProvider.UnitTests/Hosting/DotnetTestHostManagerTests.cs
+++ b/test/Microsoft.TestPlatform.TestHostProvider.UnitTests/Hosting/DotnetTestHostManagerTests.cs
@@ -302,7 +302,7 @@ public void GetTestHostProcessStartInfoShouldUseTestHostExeFromNugetIfNotFoundIn
var testhostExePath = "testhost.exe";
_dotnetHostManager.Initialize(_mockMessageLogger.Object, "x64");
_mockFileHelper.Setup(ph => ph.Exists(testhostExePath)).Returns(false);
- _mockFileHelper.Setup(ph => ph.Exists("C:\\packages\\microsoft.testplatform.testhost\\15.0.0-Dev\\build\\netcoreapp3.1\\x64\\testhost.exe")).Returns(true);
+ _mockFileHelper.Setup(ph => ph.Exists("C:\\packages\\microsoft.testplatform.testhost\\15.0.0-Dev\\build\\net8.0\\x64\\testhost.exe")).Returns(true);
_mockEnvironment.Setup(ev => ev.OperatingSystem).Returns(PlatformOperatingSystem.Windows);
var sourcePath = Path.Combine(_temp, "test.dll");
@@ -327,7 +327,7 @@ public void GetTestHostProcessStartInfoShouldUseTestHostExeFromNugetIfNotFoundIn
""microsoft.testplatform.testhost/15.0.0-Dev"": {
""dependencies"": {
""Microsoft.TestPlatform.ObjectModel"": ""15.0.0-Dev"",
- ""Newtonsoft.Json"": ""13.0.1""
+ ""Newtonsoft.Json"": ""13.0.3""
},
""runtime"": {
""lib/netstandard1.5/Microsoft.TestPlatform.CommunicationUtilities.dll"": { },
@@ -362,7 +362,10 @@ public void GetTestHostProcessStartInfoShouldUseTestHostExeFromNugetIfNotFoundIn
var startInfo = _dotnetHostManager.GetTestHostProcessStartInfo(new[] { sourcePath }, null, _defaultConnectionInfo);
- StringAssert.Contains(startInfo.FileName, "C:\\packages\\microsoft.testplatform.testhost\\15.0.0-Dev\\build\\netcoreapp3.1\\x64\\testhost.exe");
+
+ // If this starts failing after updating TFMs of packakges, the GetTestHostProcessStartInfo defines the default version
+ // to use in GetTestHostProcessStartInfo, change that to the lowest supported netcore version, and pass this test.
+ StringAssert.Contains(startInfo.FileName, "C:\\packages\\microsoft.testplatform.testhost\\15.0.0-Dev\\build\\net8.0\\x64\\testhost.exe");
}
[TestMethod]
@@ -372,7 +375,7 @@ public void GetTestHostProcessStartInfoShouldUseTestHostX86ExeFromNugetIfNotFoun
var testhostExePath = "testhost.x86.exe";
_dotnetHostManager.Initialize(_mockMessageLogger.Object, "x86");
_mockFileHelper.Setup(ph => ph.Exists(testhostExePath)).Returns(false);
- _mockFileHelper.Setup(ph => ph.Exists($"C:\\packages{Path.DirectorySeparatorChar}microsoft.testplatform.testhost\\15.0.0-Dev{Path.DirectorySeparatorChar}build\\netcoreapp3.1\\x86\\testhost.x86.exe")).Returns(true);
+ _mockFileHelper.Setup(ph => ph.Exists($"C:\\packages{Path.DirectorySeparatorChar}microsoft.testplatform.testhost\\15.0.0-Dev{Path.DirectorySeparatorChar}build\\net8.0\\x86\\testhost.x86.exe")).Returns(true);
_mockEnvironment.Setup(ev => ev.OperatingSystem).Returns(PlatformOperatingSystem.Windows);
var sourcePath = Path.Combine(_temp, "test.dll");
@@ -397,7 +400,7 @@ public void GetTestHostProcessStartInfoShouldUseTestHostX86ExeFromNugetIfNotFoun
""microsoft.testplatform.testhost/15.0.0-Dev"": {
""dependencies"": {
""Microsoft.TestPlatform.ObjectModel"": ""15.0.0-Dev"",
- ""Newtonsoft.Json"": ""13.0.1""
+ ""Newtonsoft.Json"": ""13.0.3""
},
""runtime"": {
""lib/netstandard1.5/Microsoft.TestPlatform.CommunicationUtilities.dll"": { },
@@ -432,7 +435,9 @@ public void GetTestHostProcessStartInfoShouldUseTestHostX86ExeFromNugetIfNotFoun
var startInfo = _dotnetHostManager.GetTestHostProcessStartInfo(new[] { sourcePath }, null, _defaultConnectionInfo);
- StringAssert.Contains(startInfo.FileName, "C:\\packages\\microsoft.testplatform.testhost\\15.0.0-Dev\\build\\netcoreapp3.1\\x86\\testhost.x86.exe");
+ // If this starts failing after updating TFMs of packakges, the GetTestHostProcessStartInfo defines the default version
+ // to use in GetTestHostProcessStartInfo, change that to the lowest supported netcore version, and pass this test.
+ StringAssert.Contains(startInfo.FileName, "C:\\packages\\microsoft.testplatform.testhost\\15.0.0-Dev\\build\\net8.0\\x86\\testhost.x86.exe");
}
[TestMethod]
@@ -632,7 +637,7 @@ public void GetTestHostProcessStartInfoShouldIncludeTestHostPathFromSourceDirect
StringAssert.Contains(startInfo.Arguments, expectedTestHostPath);
}
- // TODO: This assembly was previously compiled as net472 and so it was skipped and only ran as netcoreapp3.1. This fails in test, but works in code that is not isolated in appdomain. Might be worth fixing because we get one null here, and another in DotnetTestHostManager.
+ // TODO: This assembly was previously compiled as net472 and so it was skipped and only ran as net8.0. This fails in test, but works in code that is not isolated in appdomain. Might be worth fixing because we get one null here, and another in DotnetTestHostManager.
// Assembly.GetEntryAssembly().Location is null because of running in app domain.
#if NET
[TestMethod]
@@ -660,7 +665,7 @@ public void GetTestHostProcessStartInfoShouldIncludeTestHostPathNextToTestRunner
#endif
- // TODO: This assembly was previously compiled as net472 and so it was skipped and only ran as netcoreapp3.1. This fails in test, but works in code that is not isolated in appdomain. Might be worth fixing because we get one null here, and another in DotnetTestHostManager.
+ // TODO: This assembly was previously compiled as net472 and so it was skipped and only ran as net8.0. This fails in test, but works in code that is not isolated in appdomain. Might be worth fixing because we get one null here, and another in DotnetTestHostManager.
// Assembly.GetEntryAssembly().Location is null because of running in app domain.
#if NET
@@ -669,14 +674,13 @@ public void GetTestHostProcessStartInfoShouldIncludeTestHostPathNextToTestRunner
// we can't put in a "default" value, and we don't have other way to determine if this provided value is the
// runtime default or the actual value that user provided, so right now the default will use the latest, instead
// or the more correct 1.0, it should be okay, as that version is not supported anymore anyway
- [DataRow("netcoreapp3.1", "3.1", true)]
- [DataRow("net5.0", "5.0", true)]
-
- // net6.0 is currently the latest released version, but it still has it's own runtime config, it is not the same as
- // "latest" which means the latest you have on system. So if you have only 5.0 SDK then net6.0 will fail because it can't find net6.0,
- // but latest would use net5.0 because that is the latest one on your system.
- [DataRow("net6.0", "6.0", true)]
- [DataRow("net6.0", "latest", false)]
+ [DataRow("net8.0", "8.0", true)]
+
+ // net9.0 is currently the latest released version, but it still has it's own runtime config, it is not the same as
+ // "latest" which means the latest you have on system. So if you have only 5.0 SDK then net8.0 will fail because it can't find net8.0,
+ // but latest would use net9.0 because that is the latest one on your system.
+ [DataRow("net9.0", "9.0", true)]
+ [DataRow("net9.0", "latest", false)]
public void GetTestHostProcessStartInfoShouldIncludeTestHostPathNextToTestRunnerIfTesthostDllIsNoFoundAndDepsFileNotFoundWithTheCorrectTfm(string tfm, string suffix, bool runtimeConfigExists)
{
// Absolute path to the source directory
@@ -740,7 +744,7 @@ public void GetTestHostProcessStartInfoShouldIncludeTestHostPathFromDepsFile()
""microsoft.testplatform.testhost/15.0.0-Dev"": {
""dependencies"": {
""Microsoft.TestPlatform.ObjectModel"": ""15.0.0-Dev"",
- ""Newtonsoft.Json"": ""13.0.1""
+ ""Newtonsoft.Json"": ""13.0.3""
},
""runtime"": {
""lib/netstandard1.5/Microsoft.TestPlatform.CommunicationUtilities.dll"": { },
@@ -805,7 +809,7 @@ public void GetTestHostProcessStartInfoShouldIncludeTestHostPathFromSourceDirect
""microsoft.testplatform.testhost/15.0.0-Dev"": {
""dependencies"": {
""Microsoft.TestPlatform.ObjectModel"": ""15.0.0-Dev"",
- ""Newtonsoft.Json"": ""13.0.1""
+ ""Newtonsoft.Json"": ""13.0.3""
},
""runtime"": {
""lib/netstandard1.5/Microsoft.TestPlatform.CommunicationUtilities.dll"": { },
@@ -873,7 +877,7 @@ public void GetTestHostProcessStartInfoShouldSkipInvalidAdditionalProbingPaths()
""microsoft.testplatform.testhost/15.0.0-Dev"": {
""dependencies"": {
""Microsoft.TestPlatform.ObjectModel"": ""15.0.0-Dev"",
- ""Newtonsoft.Json"": ""13.0.1""
+ ""Newtonsoft.Json"": ""13.0.3""
},
""runtime"": {
""lib/netstandard1.5/Microsoft.TestPlatform.CommunicationUtilities.dll"": { },
diff --git a/test/Microsoft.TestPlatform.TestHostProvider.UnitTests/Microsoft.TestPlatform.TestHostProvider.UnitTests.csproj b/test/Microsoft.TestPlatform.TestHostProvider.UnitTests/Microsoft.TestPlatform.TestHostProvider.UnitTests.csproj
index 2fc30c8612..4768c56dcb 100644
--- a/test/Microsoft.TestPlatform.TestHostProvider.UnitTests/Microsoft.TestPlatform.TestHostProvider.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.TestHostProvider.UnitTests/Microsoft.TestPlatform.TestHostProvider.UnitTests.csproj
@@ -7,17 +7,10 @@
Microsoft.TestPlatform.TestHostProvider.UnitTests
- net6.0;net48
- Exe
+ net9.0;net48
+ Exe
-
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestBase.cs b/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestBase.cs
index 885b65906a..d1fe09ace2 100644
--- a/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestBase.cs
+++ b/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestBase.cs
@@ -30,7 +30,7 @@ namespace Microsoft.TestPlatform.TestUtilities;
public class IntegrationTestBase
{
public const string DesktopRunnerFramework = "net462";
- public const string CoreRunnerFramework = "netcoreapp3.1";
+ public const string CoreRunnerFramework = "net8.0";
private const string TotalTestsMessage = "Total tests: {0}";
private const string PassedTestsMessage = " Passed: {0}";
@@ -294,11 +294,11 @@ public void InvokeVsTestForDiscovery(string testAssembly, string testAdapterPath
/// Execute Tests that are not supported with given Runner framework.
///
/// Runner Framework
- /// Framework for which Tests are not supported
+ /// Framework for which Tests are supported
/// Message to be shown
public static void ExecuteNotSupportedRunnerFrameworkTests(string runnerFramework, string framework, string message)
{
- if (runnerFramework.StartsWith(framework))
+ if (!runnerFramework.StartsWith(framework, StringComparison.OrdinalIgnoreCase))
{
Assert.Inconclusive(message);
}
@@ -605,7 +605,7 @@ protected string GetTestAdapterPath(UnitTestFramework testFramework = UnitTestFr
var version = IntegrationTestEnvironment.DependencyVersions["MSTestTestAdapterVersion"];
if (version.StartsWith("3"))
{
- var tfm = _testEnvironment.TargetFramework.StartsWith("net4") ? "net462" : _testEnvironment.TargetFramework;
+ var tfm = _testEnvironment.TargetFramework.StartsWith("net4") ? "net462" : "netcoreapp3.1";
adapterRelativePath = string.Format(CultureInfo.InvariantCulture, _msTestAdapterRelativePath, version, tfm);
}
else
@@ -990,7 +990,7 @@ protected static string GetDownloadedDotnetMuxerFromTools(string architecture)
}
protected string GetDotnetRunnerPath() =>
- _testEnvironment.VSTestConsoleInfo?.Path ?? Path.Combine(IntegrationTestEnvironment.PublishDirectory, $"Microsoft.TestPlatform.CLI.{IntegrationTestEnvironment.LatestLocallyBuiltNugetVersion}.nupkg", "contentFiles", "any", "netcoreapp3.1", "vstest.console.dll");
+ _testEnvironment.VSTestConsoleInfo?.Path ?? Path.Combine(IntegrationTestEnvironment.PublishDirectory, $"Microsoft.TestPlatform.CLI.{IntegrationTestEnvironment.LatestLocallyBuiltNugetVersion}.nupkg", "contentFiles", "any", "net9.0", "vstest.console.dll");
protected void StdOutHasNoWarnings()
{
diff --git a/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestEnvironment.cs b/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestEnvironment.cs
index 9bcfc89cb9..d7743edb87 100644
--- a/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestEnvironment.cs
+++ b/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestEnvironment.cs
@@ -92,7 +92,7 @@ public static Dictionary DependencyVersions
///
/// Gets the target framework.
- /// Supported values = net462, netcoreapp3.1.
+ /// Supported values = net462, net8.0.
///
[NotNull]
public string? TargetFramework { get; set; }
@@ -143,7 +143,7 @@ public string? TargetRuntime
///
/// Gets the application type.
- /// Supported values = net462, netcoreapp3.1.
+ /// Supported values = net462, net8.0.
///
public string RunnerFramework { get; set; }
diff --git a/test/Microsoft.TestPlatform.TestUtilities/Microsoft.TestPlatform.TestUtilities.csproj b/test/Microsoft.TestPlatform.TestUtilities/Microsoft.TestPlatform.TestUtilities.csproj
index 1823de200f..9d44795e8f 100644
--- a/test/Microsoft.TestPlatform.TestUtilities/Microsoft.TestPlatform.TestUtilities.csproj
+++ b/test/Microsoft.TestPlatform.TestUtilities/Microsoft.TestPlatform.TestUtilities.csproj
@@ -3,7 +3,7 @@
Microsoft.TestPlatform.TestUtilities
- net6.0;net48
+ net9.0;net48falsetrue
@@ -29,15 +29,9 @@
-
+
-
-
-
-
-
-
diff --git a/test/Microsoft.TestPlatform.Utilities.UnitTests/Microsoft.TestPlatform.Utilities.UnitTests.csproj b/test/Microsoft.TestPlatform.Utilities.UnitTests/Microsoft.TestPlatform.Utilities.UnitTests.csproj
index 2ef1dbe427..2247db2ab0 100644
--- a/test/Microsoft.TestPlatform.Utilities.UnitTests/Microsoft.TestPlatform.Utilities.UnitTests.csproj
+++ b/test/Microsoft.TestPlatform.Utilities.UnitTests/Microsoft.TestPlatform.Utilities.UnitTests.csproj
@@ -7,8 +7,8 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ ExeMicrosoft.TestPlatform.Utilities.UnitTests
@@ -17,13 +17,6 @@
-
-
-
-
-
-
- Always
diff --git a/test/SettingsMigrator.UnitTests/MigratorTests.cs b/test/SettingsMigrator.UnitTests/MigratorTests.cs
index 7ee4dfc83b..10dfd8440a 100644
--- a/test/SettingsMigrator.UnitTests/MigratorTests.cs
+++ b/test/SettingsMigrator.UnitTests/MigratorTests.cs
@@ -119,7 +119,9 @@ public void InvalidSettingsThrowsException()
}
[TestMethod]
- [ExpectedException(typeof(DirectoryNotFoundException))]
+ // On some systems this throws file not found, on some it throws directory not found,
+ // I don't know why and it does not matter for the test. As long as it throws.
+ [ExpectedException(typeof(IOException), AllowDerivedTypes = true)]
public void InvalidPathThrowsException()
{
string oldTestsettingsPath = @"X:\generatedRun,settings.runsettings";
diff --git a/test/SettingsMigrator.UnitTests/SettingsMigrator.UnitTests.csproj b/test/SettingsMigrator.UnitTests/SettingsMigrator.UnitTests.csproj
index e1eb198f26..b2eb1760e9 100644
--- a/test/SettingsMigrator.UnitTests/SettingsMigrator.UnitTests.csproj
+++ b/test/SettingsMigrator.UnitTests/SettingsMigrator.UnitTests.csproj
@@ -7,7 +7,7 @@
-
+
net48SettingsMigrator.UnitTests
diff --git a/test/TestAssets/AppDomainGetAssembliesTestProject/AppDomainGetAssembliesTestProject.csproj b/test/TestAssets/AppDomainGetAssembliesTestProject/AppDomainGetAssembliesTestProject.csproj
index c342b0d39a..f771066c14 100644
--- a/test/TestAssets/AppDomainGetAssembliesTestProject/AppDomainGetAssembliesTestProject.csproj
+++ b/test/TestAssets/AppDomainGetAssembliesTestProject/AppDomainGetAssembliesTestProject.csproj
@@ -6,9 +6,9 @@
-
-
-
+
+
+
diff --git a/test/TestAssets/ArchitectureSwitch/ArchitectureSwitch.csproj b/test/TestAssets/ArchitectureSwitch/ArchitectureSwitch.csproj
index 4330294307..ca790a13f9 100644
--- a/test/TestAssets/ArchitectureSwitch/ArchitectureSwitch.csproj
+++ b/test/TestAssets/ArchitectureSwitch/ArchitectureSwitch.csproj
@@ -1,13 +1,12 @@
- net7.0;net6.0;net5.0
- net7.0;net6.0;netcoreapp3.1
+ net8.0;net9.0
+ net8.0;net9.0false
-
-
-
-
+
+
+
diff --git a/test/TestAssets/Directory.Build.props b/test/TestAssets/Directory.Build.props
index 372f9f3c91..5e3b60555a 100644
--- a/test/TestAssets/Directory.Build.props
+++ b/test/TestAssets/Directory.Build.props
@@ -14,7 +14,7 @@
$(NoWarn);
MSB3270;
-
+
NETSDK1138;
NU1603
@@ -24,7 +24,7 @@
net462
- netcoreapp3.1
+ net8.0Latest
diff --git a/test/TestAssets/EnvironmentVariablesTestProject/EnvironmentVariablesTestProject.csproj b/test/TestAssets/EnvironmentVariablesTestProject/EnvironmentVariablesTestProject.csproj
index f5490fcaa9..f771066c14 100644
--- a/test/TestAssets/EnvironmentVariablesTestProject/EnvironmentVariablesTestProject.csproj
+++ b/test/TestAssets/EnvironmentVariablesTestProject/EnvironmentVariablesTestProject.csproj
@@ -6,9 +6,9 @@
-
-
-
+
+
+
diff --git a/test/TestAssets/NewtonSoftDependency/NewtonSoftDependency.csproj b/test/TestAssets/NewtonSoftDependency/NewtonSoftDependency.csproj
index ea1f133060..598ecfb843 100644
--- a/test/TestAssets/NewtonSoftDependency/NewtonSoftDependency.csproj
+++ b/test/TestAssets/NewtonSoftDependency/NewtonSoftDependency.csproj
@@ -25,7 +25,7 @@
-
+
diff --git a/test/TestAssets/SelfContainedAppTestProject/SelfContainedAppTestProject.csproj b/test/TestAssets/SelfContainedAppTestProject/SelfContainedAppTestProject.csproj
index e7382bf0a7..0ec96ca324 100644
--- a/test/TestAssets/SelfContainedAppTestProject/SelfContainedAppTestProject.csproj
+++ b/test/TestAssets/SelfContainedAppTestProject/SelfContainedAppTestProject.csproj
@@ -2,10 +2,10 @@
- netcoreapp3.1
+ net8.0
- win10-x64
+ win-x64Exe
diff --git a/test/TestAssets/SimpleTestProjectARM/SimpleTestProjectARM.csproj b/test/TestAssets/SimpleTestProjectARM64/SimpleTestProjectARM64.csproj
similarity index 88%
rename from test/TestAssets/SimpleTestProjectARM/SimpleTestProjectARM.csproj
rename to test/TestAssets/SimpleTestProjectARM64/SimpleTestProjectARM64.csproj
index e2696f70d3..3f1c4b034e 100644
--- a/test/TestAssets/SimpleTestProjectARM/SimpleTestProjectARM.csproj
+++ b/test/TestAssets/SimpleTestProjectARM64/SimpleTestProjectARM64.csproj
@@ -4,11 +4,10 @@
truetrue
- ARM
+ ARM64
- SimpleTestProjectARM$(NetFrameworkMinimum);$(NetCoreAppMinimum)Exe
diff --git a/test/TestAssets/SimpleTestProjectARM/UnitTest1.cs b/test/TestAssets/SimpleTestProjectARM64/UnitTest1.cs
similarity index 100%
rename from test/TestAssets/SimpleTestProjectARM/UnitTest1.cs
rename to test/TestAssets/SimpleTestProjectARM64/UnitTest1.cs
diff --git a/test/TestAssets/TestAssets.sln b/test/TestAssets/TestAssets.sln
index 7556f991e1..636eab172d 100644
--- a/test/TestAssets/TestAssets.sln
+++ b/test/TestAssets/TestAssets.sln
@@ -29,7 +29,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MstestV1UnitTestProject", "
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleTestProjectx86", "SimpleTestProjectx86\SimpleTestProjectx86.csproj", "{C4369F97-5D81-4D1A-BAE1-2AE3B2408D44}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleTestProjectARM", "SimpleTestProjectARM\SimpleTestProjectARM.csproj", "{7C865EAA-C6C2-4CAF-A6AD-D9CF29577A36}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleTestProjectARM64", "SimpleTestProjectARM64\SimpleTestProjectARM64.csproj", "{7C865EAA-C6C2-4CAF-A6AD-D9CF29577A36}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CUITTestProject", "CUITTestProject\CUITTestProject.csproj", "{CF46C8A0-E9FA-40E9-96CA-DCD3797546D8}"
EndProject
diff --git a/test/TestAssets/Tools/Tools.csproj b/test/TestAssets/Tools/Tools.csproj
index b56dbd9b07..7c13e8ec53 100644
--- a/test/TestAssets/Tools/Tools.csproj
+++ b/test/TestAssets/Tools/Tools.csproj
@@ -6,7 +6,7 @@
- net7.0;net6.0;net5.0
+ net8.0;net9.0Exehanging_child
diff --git a/test/TestAssets/child-crash/UnitTest1.cs b/test/TestAssets/child-crash/UnitTest1.cs
index 9262bc9bcb..6ea2e14d2d 100644
--- a/test/TestAssets/child-crash/UnitTest1.cs
+++ b/test/TestAssets/child-crash/UnitTest1.cs
@@ -24,7 +24,7 @@ public void TestMethod1()
var directory = "Release";
#endif
// wait for two children to crash
- var childProcess = Path.GetFullPath($@"../../../problematic-child/{directory}/net5.0/problematic-child{(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : ".dll")}");
+ var childProcess = Path.GetFullPath($@"../../../problematic-child/{directory}/net9.0/problematic-child{(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : ".dll")}");
if (!File.Exists(childProcess))
{
throw new FileNotFoundException(childProcess);
diff --git a/test/TestAssets/child-crash/child-crash.csproj b/test/TestAssets/child-crash/child-crash.csproj
index 20b4a41dae..5503a12b23 100644
--- a/test/TestAssets/child-crash/child-crash.csproj
+++ b/test/TestAssets/child-crash/child-crash.csproj
@@ -6,7 +6,7 @@
- net7.0;net6.0;net5.0
+ net8.0;net9.0child_crashfalse
diff --git a/test/TestAssets/child-hang/UnitTest1.cs b/test/TestAssets/child-hang/UnitTest1.cs
index 9e7e7679ac..621fc7b3e5 100644
--- a/test/TestAssets/child-hang/UnitTest1.cs
+++ b/test/TestAssets/child-hang/UnitTest1.cs
@@ -25,7 +25,7 @@ public void TestMethod1()
var directory = "Release";
#endif
// wait for two children to crash
- var childProcess = Path.GetFullPath($@"../../../hanging-child/{directory}/net5.0/hanging-child{(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : ".dll")}");
+ var childProcess = Path.GetFullPath($@"../../../hanging-child/{directory}/net9.0/hanging-child{(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : ".dll")}");
// 2 chidren, that is 3 hanging processes
var process = (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? Process.Start(childProcess, "2") : Process.Start(GetFullPath("dotnet"), $"{childProcess} 2"));
process.WaitForExit();
diff --git a/test/TestAssets/child-hang/child-hang.csproj b/test/TestAssets/child-hang/child-hang.csproj
index 30f4c676a5..0a96b3dcf2 100644
--- a/test/TestAssets/child-hang/child-hang.csproj
+++ b/test/TestAssets/child-hang/child-hang.csproj
@@ -5,7 +5,7 @@
- $(NetFrameworkMinimum);net472;net48;$(NetCoreAppMinimum);net7.0;net6.0;net5.0
+ $(NetFrameworkMinimum);net472;net48;$(NetCoreAppMinimum);net8.0;net9.0child_hangfalse
diff --git a/test/TestAssets/crash/crash.csproj b/test/TestAssets/crash/crash.csproj
index 4c23615afb..8488ca3319 100644
--- a/test/TestAssets/crash/crash.csproj
+++ b/test/TestAssets/crash/crash.csproj
@@ -5,7 +5,7 @@
- $(NetFrameworkMinimum);net472;net48;$(NetCoreAppMinimum);net7.0;net6.0;net5.0
+ $(NetFrameworkMinimum);net472;net48;$(NetCoreAppMinimum);net8.0;net9.0false
diff --git a/test/TestAssets/hanging-child/hanging-child.csproj b/test/TestAssets/hanging-child/hanging-child.csproj
index 787e5d84cd..2c46cb554d 100644
--- a/test/TestAssets/hanging-child/hanging-child.csproj
+++ b/test/TestAssets/hanging-child/hanging-child.csproj
@@ -6,7 +6,7 @@
- net7.0;net6.0;net5.0
+ net8.0;net9.0Exehanging_child
diff --git a/test/TestAssets/performance/MSTest1000Passing/MSTest1000Passing.csproj b/test/TestAssets/performance/MSTest1000Passing/MSTest1000Passing.csproj
index b5aad4d303..003be862b0 100644
--- a/test/TestAssets/performance/MSTest1000Passing/MSTest1000Passing.csproj
+++ b/test/TestAssets/performance/MSTest1000Passing/MSTest1000Passing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48false
diff --git a/test/TestAssets/performance/MSTest100Passing/MSTest100Passing.csproj b/test/TestAssets/performance/MSTest100Passing/MSTest100Passing.csproj
index b5aad4d303..003be862b0 100644
--- a/test/TestAssets/performance/MSTest100Passing/MSTest100Passing.csproj
+++ b/test/TestAssets/performance/MSTest100Passing/MSTest100Passing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48false
diff --git a/test/TestAssets/performance/MSTest10kPassing/MSTest10kPassing.csproj b/test/TestAssets/performance/MSTest10kPassing/MSTest10kPassing.csproj
index df21b00d98..38220eb26e 100644
--- a/test/TestAssets/performance/MSTest10kPassing/MSTest10kPassing.csproj
+++ b/test/TestAssets/performance/MSTest10kPassing/MSTest10kPassing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48;net472
+ net8.0;net48;net472false
diff --git a/test/TestAssets/performance/MSTest1Passing/MSTest1Passing.csproj b/test/TestAssets/performance/MSTest1Passing/MSTest1Passing.csproj
index f2a1a66533..b81e9fb18d 100644
--- a/test/TestAssets/performance/MSTest1Passing/MSTest1Passing.csproj
+++ b/test/TestAssets/performance/MSTest1Passing/MSTest1Passing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48false
diff --git a/test/TestAssets/performance/NUnit1000Passing/NUnit1000Passing.csproj b/test/TestAssets/performance/NUnit1000Passing/NUnit1000Passing.csproj
index 62a772053e..2b873ab980 100644
--- a/test/TestAssets/performance/NUnit1000Passing/NUnit1000Passing.csproj
+++ b/test/TestAssets/performance/NUnit1000Passing/NUnit1000Passing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48
diff --git a/test/TestAssets/performance/NUnit100Passing/NUnit100Passing.csproj b/test/TestAssets/performance/NUnit100Passing/NUnit100Passing.csproj
index e15c0b0c66..4b0d0e5b87 100644
--- a/test/TestAssets/performance/NUnit100Passing/NUnit100Passing.csproj
+++ b/test/TestAssets/performance/NUnit100Passing/NUnit100Passing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48
diff --git a/test/TestAssets/performance/NUnit10kPassing/NUnit10kPassing.csproj b/test/TestAssets/performance/NUnit10kPassing/NUnit10kPassing.csproj
index e15c0b0c66..4b0d0e5b87 100644
--- a/test/TestAssets/performance/NUnit10kPassing/NUnit10kPassing.csproj
+++ b/test/TestAssets/performance/NUnit10kPassing/NUnit10kPassing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48
diff --git a/test/TestAssets/performance/NUnit1Passing/NUnit1Passing.csproj b/test/TestAssets/performance/NUnit1Passing/NUnit1Passing.csproj
index e15c0b0c66..4b0d0e5b87 100644
--- a/test/TestAssets/performance/NUnit1Passing/NUnit1Passing.csproj
+++ b/test/TestAssets/performance/NUnit1Passing/NUnit1Passing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48
diff --git a/test/TestAssets/performance/Perfy.TestAdapter/Perfy.TestAdapter.csproj b/test/TestAssets/performance/Perfy.TestAdapter/Perfy.TestAdapter.csproj
index e370f3059c..0ab7c46aa0 100644
--- a/test/TestAssets/performance/Perfy.TestAdapter/Perfy.TestAdapter.csproj
+++ b/test/TestAssets/performance/Perfy.TestAdapter/Perfy.TestAdapter.csproj
@@ -1,7 +1,7 @@
- net7.0;net6.0;net48;net472;net471;net5.0
+ net48;net472;net471;net9.0;net8.0false
diff --git a/test/TestAssets/performance/XUnit1000Passing/XUnit1000Passing.csproj b/test/TestAssets/performance/XUnit1000Passing/XUnit1000Passing.csproj
index 77eebc9bcd..119a479786 100644
--- a/test/TestAssets/performance/XUnit1000Passing/XUnit1000Passing.csproj
+++ b/test/TestAssets/performance/XUnit1000Passing/XUnit1000Passing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48false
diff --git a/test/TestAssets/performance/XUnit100Passing/XUnit100Passing.csproj b/test/TestAssets/performance/XUnit100Passing/XUnit100Passing.csproj
index 77eebc9bcd..119a479786 100644
--- a/test/TestAssets/performance/XUnit100Passing/XUnit100Passing.csproj
+++ b/test/TestAssets/performance/XUnit100Passing/XUnit100Passing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48false
diff --git a/test/TestAssets/performance/XUnit10kPassing/XUnit10kPassing.csproj b/test/TestAssets/performance/XUnit10kPassing/XUnit10kPassing.csproj
index 66cfa47bed..393eb3be00 100644
--- a/test/TestAssets/performance/XUnit10kPassing/XUnit10kPassing.csproj
+++ b/test/TestAssets/performance/XUnit10kPassing/XUnit10kPassing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48false
diff --git a/test/TestAssets/performance/XUnit1Passing/XUnit1Passing.csproj b/test/TestAssets/performance/XUnit1Passing/XUnit1Passing.csproj
index 66cfa47bed..393eb3be00 100644
--- a/test/TestAssets/performance/XUnit1Passing/XUnit1Passing.csproj
+++ b/test/TestAssets/performance/XUnit1Passing/XUnit1Passing.csproj
@@ -1,7 +1,7 @@
- net6.0;net48
+ net9.0;net48false
diff --git a/test/TestAssets/problematic-child/problematic-child.csproj b/test/TestAssets/problematic-child/problematic-child.csproj
index 3d9286d46f..f00b791029 100644
--- a/test/TestAssets/problematic-child/problematic-child.csproj
+++ b/test/TestAssets/problematic-child/problematic-child.csproj
@@ -6,7 +6,7 @@
- net7.0;net6.0;net5.0
+ net8.0;net9.0Exeproblematic_child
diff --git a/test/TestAssets/timeout/timeout.csproj b/test/TestAssets/timeout/timeout.csproj
index 294bebab1c..8af7af2b2a 100644
--- a/test/TestAssets/timeout/timeout.csproj
+++ b/test/TestAssets/timeout/timeout.csproj
@@ -6,7 +6,7 @@
- $(NetFrameworkMinimum);net472;net48;$(NetCoreAppMinimum);net7.0;net6.0;net5.0
+ $(NetFrameworkMinimum);net472;net48;$(NetCoreAppMinimum);net8.0;net9.0false
diff --git a/test/TranslationLayer.UnitTests/TranslationLayer.UnitTests.csproj b/test/TranslationLayer.UnitTests/TranslationLayer.UnitTests.csproj
index 5afb1d461e..e6d80a83ef 100644
--- a/test/TranslationLayer.UnitTests/TranslationLayer.UnitTests.csproj
+++ b/test/TranslationLayer.UnitTests/TranslationLayer.UnitTests.csproj
@@ -6,19 +6,13 @@
- net6.0;net48
+ net9.0;net48ExeTranslationLayer.UnitTests
-
-
-
-
-
-
diff --git a/test/coverlet.collector/coverlet.collector.csproj b/test/coverlet.collector/coverlet.collector.csproj
index 719388ac58..169286672b 100644
--- a/test/coverlet.collector/coverlet.collector.csproj
+++ b/test/coverlet.collector/coverlet.collector.csproj
@@ -1,6 +1,6 @@
- net6.0;net48
+ net9.0;net48false9.9.9.9
diff --git a/test/datacollector.PlatformTests/datacollector.PlatformTests.csproj b/test/datacollector.PlatformTests/datacollector.PlatformTests.csproj
index d97d26cf66..c55879c711 100644
--- a/test/datacollector.PlatformTests/datacollector.PlatformTests.csproj
+++ b/test/datacollector.PlatformTests/datacollector.PlatformTests.csproj
@@ -8,8 +8,8 @@
Microsoft.VisualStudio.TestPlatform.DataCollector.PlatformTests
- net6.0;net48
- Exe
+ net9.0;net48
+ Exedatacollector.PlatformTests
@@ -19,11 +19,4 @@
PreserveNewest
-
-
-
-
-
-
-
diff --git a/test/datacollector.UnitTests/datacollector.UnitTests.csproj b/test/datacollector.UnitTests/datacollector.UnitTests.csproj
index 9af01796fe..fca43a4842 100644
--- a/test/datacollector.UnitTests/datacollector.UnitTests.csproj
+++ b/test/datacollector.UnitTests/datacollector.UnitTests.csproj
@@ -9,18 +9,11 @@
Microsoft.VisualStudio.TestPlatform.DataCollector.UnitTests
- Exe
- net6.0;net48
+ Exe
+ net9.0;net48datacollector.UnitTests
-
-
-
-
-
-
-
diff --git a/test/testhost.UnitTests/testhost.UnitTests.csproj b/test/testhost.UnitTests/testhost.UnitTests.csproj
index 74724c5158..26c49a05e5 100644
--- a/test/testhost.UnitTests/testhost.UnitTests.csproj
+++ b/test/testhost.UnitTests/testhost.UnitTests.csproj
@@ -6,18 +6,11 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ Exetesthost.UnitTests
- x64
+ x64
-
-
-
-
-
-
-
diff --git a/test/vstest.ProgrammerTests/vstest.ProgrammerTests.csproj b/test/vstest.ProgrammerTests/vstest.ProgrammerTests.csproj
index 5eab35bed3..f5c5d3c320 100644
--- a/test/vstest.ProgrammerTests/vstest.ProgrammerTests.csproj
+++ b/test/vstest.ProgrammerTests/vstest.ProgrammerTests.csproj
@@ -8,8 +8,8 @@
enabletrue
- net6.0
- Exe
+ net8.0
+ ExeExe
@@ -26,7 +26,7 @@
-
+
diff --git a/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs b/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs
index bc9d7cece8..946160b845 100644
--- a/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs
+++ b/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs
@@ -615,24 +615,24 @@ public void TestResultHandlerShouldShowFailedTestsAndPassedTestsForQuietVerbosit
loggerEvents.WaitForEventCompletion();
_mockOutput.Verify(o => o.Write(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummary,
- (CommandLineResources.PassedTestIndicator + "!").PadRight(8),
+ new[] { (CommandLineResources.PassedTestIndicator + "!").PadRight(8),
0.ToString(CultureInfo.InvariantCulture).PadLeft(5),
1.ToString(CultureInfo.InvariantCulture).PadLeft(5),
1.ToString(CultureInfo.InvariantCulture).PadLeft(5),
2.ToString(CultureInfo.InvariantCulture).PadLeft(5),
- "1 m 2 s"), OutputLevel.Information), Times.Once);
+ "1 m 2 s"}), OutputLevel.Information), Times.Once);
_mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummaryAssemblyAndFramework,
"TestSourcePassed",
expectedFramework), OutputLevel.Information), Times.Once);
_mockOutput.Verify(o => o.Write(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummary,
- (CommandLineResources.FailedTestIndicator + "!").PadRight(8),
+ new[] { (CommandLineResources.FailedTestIndicator + "!").PadRight(8),
1.ToString(CultureInfo.InvariantCulture).PadLeft(5),
1.ToString(CultureInfo.InvariantCulture).PadLeft(5),
1.ToString(CultureInfo.InvariantCulture).PadLeft(5),
3.ToString(CultureInfo.InvariantCulture).PadLeft(5),
- "1 h 2 m"), OutputLevel.Information), Times.Once);
+ "1 h 2 m" }), OutputLevel.Information), Times.Once);
_mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummaryAssemblyAndFramework,
"TestSource",
@@ -666,8 +666,8 @@ public void TestResultHandlerShouldNotShowformattedFailedTestsAndPassedTestsForO
loggerEvents.RaiseTestRunComplete(new TestRunCompleteEventArgs(new Mock().Object, false, false, null, new Collection(), new Collection(), TimeSpan.FromSeconds(1)));
loggerEvents.WaitForEventCompletion();
- _mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummary, CommandLineResources.PassedTestIndicator, 2, 1, 0, 1, "1 m 2 s", "TestSourcePassed", "(net462)"), OutputLevel.Information), Times.Never);
- _mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummary, CommandLineResources.FailedTestIndicator, 5, 1, 1, 1, "1 h 6 m", "TestSource", "(net462)"), OutputLevel.Information), Times.Never);
+ _mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummary, new object[] { CommandLineResources.PassedTestIndicator, 2, 1, 0, 1, "1 m 2 s", "TestSourcePassed", "(net462)" }), OutputLevel.Information), Times.Never);
+ _mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummary, new object[] { CommandLineResources.FailedTestIndicator, 5, 1, 1, 1, "1 h 6 m", "TestSource", "(net462)" }), OutputLevel.Information), Times.Never);
}
[TestMethod]
@@ -940,7 +940,7 @@ public void TestRunCompleteHandlerShouldWriteToConsoleIfTestsCanceled()
}
loggerEvents.CompleteTestRun(null, true, false, null, null, null, new TimeSpan(1, 0, 0, 0));
- _mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummaryForCanceledOrAbortedRun), OutputLevel.Information), Times.Once());
+ _mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummaryForCanceledOrAbortedRun, Array.Empty()), OutputLevel.Information), Times.Once());
_mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummaryFailedTests, 1), OutputLevel.Information), Times.Once());
_mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummaryPassedTests, 0), OutputLevel.Information), Times.Never());
_mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummarySkippedTests, 0), OutputLevel.Information), Times.Never());
@@ -972,6 +972,7 @@ public void TestRunCompleteHandlerShouldWriteToConsoleIfTestsAborted()
{
{ "verbosity", "normal" }
};
+
_consoleLogger.Initialize(loggerEvents, parameters);
foreach (var testResult in GetTestResultObject(TestOutcome.Failed))
@@ -980,7 +981,7 @@ public void TestRunCompleteHandlerShouldWriteToConsoleIfTestsAborted()
}
loggerEvents.CompleteTestRun(null, false, true, null, null, null, new TimeSpan(1, 0, 0, 0));
- _mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummaryForCanceledOrAbortedRun), OutputLevel.Information), Times.Once());
+ _mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.TestRunSummaryForCanceledOrAbortedRun, Array.Empty()), OutputLevel.Information), Times.Once());
_mockOutput.Verify(o => o.WriteLine(CommandLineResources.TestRunAborted, OutputLevel.Error), Times.Once());
}
diff --git a/test/vstest.console.UnitTests/vstest.console.UnitTests.csproj b/test/vstest.console.UnitTests/vstest.console.UnitTests.csproj
index 6655577c90..78fd5ffa82 100644
--- a/test/vstest.console.UnitTests/vstest.console.UnitTests.csproj
+++ b/test/vstest.console.UnitTests/vstest.console.UnitTests.csproj
@@ -6,8 +6,8 @@
- net6.0;net48
- Exe
+ net9.0;net48
+ Exevstest.console.UnitTests
@@ -24,12 +24,4 @@
-
-
-
-
-
-
-
-