diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml
index c88a972da65..3d2300a9545 100644
--- a/.github/workflows/run-tests.yml
+++ b/.github/workflows/run-tests.yml
@@ -13,10 +13,10 @@ on:
# relative the repo root
required: false
type: string
- testSessionTimeoutMs:
+ testSessionTimeout:
required: false
type: string
- default: "900000"
+ default: "15m"
testHangTimeout:
required: false
type: string
@@ -220,18 +220,14 @@ jobs:
TEST_LOG_PATH: ${{ github.workspace }}/artifacts/log/test-logs
TestsRunningOutsideOfRepo: true
run: >
- dotnet test -s .runsettings -v:n ${{ env.TEST_ASSEMBLY_NAME }}.dll
- -l "console;verbosity=normal"
- -l "trx;LogFilePrefix=${{ inputs.testShortName }}"
- -l "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true"
- --blame
- --blame-hang-timeout ${{ inputs.testHangTimeout }}
- --blame-crash
+ dotnet ${{ env.TEST_ASSEMBLY_NAME }}.dll
+ --report-trx --report-trx-filename "${{ inputs.testShortName }}.trx"
+ --hangdump --hangdump-timeout ${{ inputs.testHangTimeout }}
+ --crashdump
--results-directory ${{ github.workspace }}/testresults
+ --filter-not-trait "category=failing"
+ --timeout ${{ inputs.testSessionTimeout }}
${{ inputs.extraTestArgs }}
- --
- RunConfiguration.CollectSourceInformation=true
- RunConfiguration.TestSessionTimeout=${{ inputs.testSessionTimeoutMs }}
- name: Run tests
if: ${{ ! inputs.requiresNugets }}
@@ -240,24 +236,24 @@ jobs:
CI: false
DCP_DIAGNOSTICS_LOG_LEVEL: debug
DCP_DIAGNOSTICS_LOG_FOLDER: ${{ github.workspace }}/testresults/dcp
+ # During restore and build, we use -ci, which causes NUGET_PACKAGES to point to a local cache (Arcade behavior).
+ # In this step, we are not using Arcade, but want to make sure that MSBuild is able to evaluate correctly.
+ # So, we manually set NUGET_PACKAGES
+ NUGET_PACKAGES: ${{ github.workspace }}/.packages
run: >
${{ env.DOTNET_SCRIPT }} test ${{ env.TEST_PROJECT_PATH }}
/p:ContinuousIntegrationBuild=true
- -s eng/testing/.runsettings
- -l "console;verbosity=normal"
- -l "trx;LogFilePrefix=${{ inputs.testShortName }}"
- -l "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true"
- "--blame"
- --blame-hang-timeout ${{ inputs.testHangTimeout }}
- --blame-crash
- --results-directory testresults
+ /p:TrxFileNamePrefix="${{ inputs.testShortName }}"
+ -bl:${{ github.workspace }}/testresults/test.binlog
--no-restore
--no-build
- -bl:${{ github.workspace }}/testresults/test.binlog
- ${{ inputs.extraTestArgs }}
--
- RunConfiguration.CollectSourceInformation=true
- RunConfiguration.TestSessionTimeout=${{ inputs.testSessionTimeoutMs }}
+ --report-trx
+ --hangdump --hangdump-timeout ${{ inputs.testHangTimeout }}
+ --crashdump
+ --results-directory ${{ github.workspace }}/testresults
+ --timeout ${{ inputs.testSessionTimeout }}
+ ${{ inputs.extraTestArgs }}
# Save the result of the previous steps - success or failure
# in the form of a file result-success/result-failure -{name}.rst
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index c85e92e8c6b..4f40b71ec06 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -77,7 +77,7 @@ jobs:
with:
testShortName: ${{ matrix.shortname }}
os: "ubuntu-latest"
- extraTestArgs: "--filter \"(quarantined!=true)\""
+ extraTestArgs: "--filter-not-trait \"quarantined=true\""
integrations_test_win:
uses: ./.github/workflows/run-tests.yml
@@ -90,7 +90,7 @@ jobs:
with:
testShortName: ${{ matrix.shortname }}
os: "windows-latest"
- extraTestArgs: "--filter \"(quarantined!=true)\""
+ extraTestArgs: "--filter-not-trait \"quarantined=true\""
templates_test_lin:
name: Templates Linux
@@ -103,10 +103,9 @@ jobs:
testShortName: ${{ matrix.shortname }}
os: "ubuntu-latest"
testProjectPath: tests/Aspire.Templates.Tests/Aspire.Templates.Tests.csproj
- testSessionTimeoutMs: 1200000
+ testSessionTimeout: 20m
testHangTimeout: 12m
- # append '.' to the name so only the test class with exactly that name is run
- extraTestArgs: "--filter \"(quarantined!=true)&(FullyQualifiedName~Aspire.Templates.Tests.${{ matrix.shortname }}.)\""
+ extraTestArgs: "--filter-not-trait quarantined=true --filter-class Aspire.Templates.Tests.${{ matrix.shortname }}"
requiresNugets: true
requiresTestSdk: true
@@ -121,10 +120,9 @@ jobs:
testShortName: ${{ matrix.shortname }}
os: "windows-latest"
testProjectPath: tests/Aspire.Templates.Tests/Aspire.Templates.Tests.csproj
- testSessionTimeoutMs: 1200000
+ testSessionTimeout: 20m
testHangTimeout: 12m
- # append '.' to the name so only the test class with exactly that name is run
- extraTestArgs: "--filter \"(quarantined!=true)&(FullyQualifiedName~Aspire.Templates.Tests.${{ matrix.shortname }}.)\""
+ extraTestArgs: "--filter-not-trait quarantined=true --filter-class Aspire.Templates.Tests.${{ matrix.shortname }}"
requiresNugets: true
requiresTestSdk: true
diff --git a/eng/.runsettings b/eng/.runsettings
deleted file mode 100644
index 955954d2c90..00000000000
--- a/eng/.runsettings
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
- category!=failing
-
-
-
-
-
-
-
- Minimal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/eng/Testing.props b/eng/Testing.props
index f43be60cb0a..50bb41f48db 100644
--- a/eng/Testing.props
+++ b/eng/Testing.props
@@ -9,23 +9,18 @@
true
true
true
-
-
-
- <_QuarantinedTestRunAdditionalArgs>-trait "quarantined=true"
- <_NonQuarantinedTestRunAdditionalArgs>-notrait "quarantined=true"
-
-
- <_QuarantinedTestRunAdditionalArgs>--filter "quarantined=true"
- <_NonQuarantinedTestRunAdditionalArgs>--filter "quarantined!=true"
+ <_QuarantinedTestRunAdditionalArgs>--filter-trait "quarantined=true"
+ <_NonQuarantinedTestRunAdditionalArgs>--filter-not-trait "quarantined=true"
10m
- <_BlameArgs>--blame --blame-hang-timeout $(BlameHangTimeout) --blame-crash
+ <_BlameArgs>--hangdump --hangdump-timeout $(BlameHangTimeout) --crashdump
+
+ $(TestRunnerAdditionalArguments) --filter-not-trait "category=failing"
- $(TestRunnerAdditionalArguments) $(_NonQuarantinedTestRunAdditionalArgs) $(TestRunnerAdditionalArguments) $(_BlameArgs)
- $(TestRunnerAdditionalArguments) $(_QuarantinedTestRunAdditionalArgs) $(TestRunnerAdditionalArguments) $(_BlameArgs)
+ $(TestRunnerAdditionalArguments) $(_NonQuarantinedTestRunAdditionalArgs) $(_BlameArgs)
+ $(TestRunnerAdditionalArguments) $(_QuarantinedTestRunAdditionalArgs) $(_BlameArgs)
diff --git a/eng/Versions.props b/eng/Versions.props
index 0c9c4c8b8e5..3c4f1e25ca2 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -12,10 +12,10 @@
8.0.13
8.0.406
- true
2.0.0
1.20.0
3.0.2
+ 1.6.3
false
release
diff --git a/eng/Xunit3/Microsoft.Testing.Platform.targets b/eng/Xunit3/Microsoft.Testing.Platform.targets
new file mode 100644
index 00000000000..e58467d236d
--- /dev/null
+++ b/eng/Xunit3/Microsoft.Testing.Platform.targets
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+ <_TestResultDirectory>$([System.IO.Path]::GetDirectoryName('%(TestToRun.ResultsTrxPath)'))
+ <_TestResultTrxFileName>$([System.IO.Path]::GetFileName('%(TestToRun.ResultsTrxPath)'))
+ <_TestResultXmlFileName>$([System.IO.Path]::GetFileName('%(TestToRun.ResultsXmlPath)'))
+ <_TestResultHtmlFileName>$([System.IO.Path]::GetFileName('%(TestToRun.ResultsHtmlPath)'))
+
+
+
+ <_TestEnvironment>%(TestToRun.EnvironmentDisplay)
+ <_TestAssembly>%(TestToRun.Identity)
+ <_TestAssembly Condition="'$(OS)'=='Windows_NT'">$([System.IO.Path]::ChangeExtension($(_TestAssembly), '.exe'))
+ <_TestAssembly Condition="'$(OS)'!='Windows_NT'">$(_TestAssembly.TrimEnd('.dll'))
+ <_TestRuntime>%(TestToRun.TestRuntime)
+ <_TestTimeout>%(TestToRun.TestTimeout)
+ <_TestRunnerAdditionalArguments>%(TestToRun.TestRunnerAdditionalArguments)
+
+ <_TestRunner>$(_TestAssembly)
+ <_TestRunnerArgs>$(_TestRunnerAdditionalArguments) --results-directory "$(_TestResultDirectory)" --report-xunit --report-xunit-filename "$(_TestResultXmlFileName)" --report-xunit-html --report-xunit-html-filename "$(_TestResultHtmlFileName)" --report-trx --report-trx-filename "$(_TestResultTrxFileName)"
+
+
+
+ <_TestRunnerArgs>$(_TestRunnerArgs) --auto-reporters off
+
+
+
+ <_TestRunnerCommand>"$(_TestRunner)" $(_TestRunnerArgs)
+
+
+ <_TestRunnerCommand Condition="'$(TestCaptureOutput)' != 'false'">$(_TestRunnerCommand) > "%(TestToRun.ResultsStdOutPath)" 2>&1
+
+
+
+ <_OutputFiles Include="%(TestToRun.ResultsXmlPath)" />
+ <_OutputFiles Include="%(TestToRun.ResultsHtmlPath)" />
+ <_OutputFiles Include="%(TestToRun.ResultsStdOutPath)" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ResultsFileToDisplay>%(TestToRun.ResultsHtmlPath)
+ <_ResultsFileToDisplay Condition="!Exists('$(_ResultsFileToDisplay)')">%(TestToRun.ResultsStdOutPath)
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/Xunit3/Xunit3.targets b/eng/Xunit3/Xunit3.targets
index 2cda46b44b6..71b6dccb5c6 100644
--- a/eng/Xunit3/Xunit3.targets
+++ b/eng/Xunit3/Xunit3.targets
@@ -4,15 +4,23 @@
-
+
+
+
+
+
-
+
+
+
+
+
-
-
\ No newline at end of file
+
+
diff --git a/eng/testing/.runsettings b/eng/testing/.runsettings
deleted file mode 100644
index 88a92c090ab..00000000000
--- a/eng/testing/.runsettings
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
- 1200000
-
- category!=failing
-
-
-
-
-
- TestResults.trx
-
-
-
-
- normal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/Aspire.Components.Common.Tests/Aspire.Components.Common.Tests.csproj b/tests/Aspire.Components.Common.Tests/Aspire.Components.Common.Tests.csproj
index efa2d072e97..3e291ae6127 100644
--- a/tests/Aspire.Components.Common.Tests/Aspire.Components.Common.Tests.csproj
+++ b/tests/Aspire.Components.Common.Tests/Aspire.Components.Common.Tests.csproj
@@ -2,6 +2,10 @@
$(DefaultTargetFramework)
+
+
+
+ $(TestingPlatformCommandLineArguments) --ignore-exit-code 8
diff --git a/tests/Aspire.EndToEnd.Tests/.runsettings b/tests/Aspire.EndToEnd.Tests/.runsettings
deleted file mode 100644
index 348b55730ea..00000000000
--- a/tests/Aspire.EndToEnd.Tests/.runsettings
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- true
-
-
-
- 900000
-
- category!=failing
-
-
-
-
-
- TestResults.trx
-
-
-
-
- normal
-
-
-
-
-
diff --git a/tests/Aspire.EndToEnd.Tests/Aspire.EndToEnd.Tests.csproj b/tests/Aspire.EndToEnd.Tests/Aspire.EndToEnd.Tests.csproj
index 5694b015626..a074d720d09 100644
--- a/tests/Aspire.EndToEnd.Tests/Aspire.EndToEnd.Tests.csproj
+++ b/tests/Aspire.EndToEnd.Tests/Aspire.EndToEnd.Tests.csproj
@@ -20,7 +20,6 @@
BUILD_FOR_TESTS_RUNNING_OUTSIDE_OF_REPO;$(DefineConstants)
xunit.runner.json
- $(MSBuildThisFileDirectory).runsettings
$(TestArchiveTestsDirForEndToEndTests)
diff --git a/tests/Aspire.Hosting.Containers.Tests/.runsettings b/tests/Aspire.Hosting.Containers.Tests/.runsettings
deleted file mode 100644
index 591a45e7ab7..00000000000
--- a/tests/Aspire.Hosting.Containers.Tests/.runsettings
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- 900000
-
- category!=failing
-
-
-
-
-
- TestResults.trx
-
-
-
-
- normal
-
-
-
-
-
diff --git a/tests/Aspire.Hosting.Keycloak.Tests/.runsettings b/tests/Aspire.Hosting.Keycloak.Tests/.runsettings
deleted file mode 100644
index 591a45e7ab7..00000000000
--- a/tests/Aspire.Hosting.Keycloak.Tests/.runsettings
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- 900000
-
- category!=failing
-
-
-
-
-
- TestResults.trx
-
-
-
-
- normal
-
-
-
-
-
diff --git a/tests/Aspire.Playground.Tests/.runsettings b/tests/Aspire.Playground.Tests/.runsettings
deleted file mode 100644
index 1eb28e08584..00000000000
--- a/tests/Aspire.Playground.Tests/.runsettings
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- true
-
-
-
- 1200000
-
- category!=failing
-
-
-
-
-
- TestResults.trx
-
-
-
-
- normal
-
-
-
-
-
diff --git a/tests/Aspire.Playground.Tests/Aspire.Playground.Tests.csproj b/tests/Aspire.Playground.Tests/Aspire.Playground.Tests.csproj
index 2b048c12806..d07a3033a95 100644
--- a/tests/Aspire.Playground.Tests/Aspire.Playground.Tests.csproj
+++ b/tests/Aspire.Playground.Tests/Aspire.Playground.Tests.csproj
@@ -17,7 +17,6 @@
$(MSBuildThisFileDirectory)..\..\playground\
$(MSBuildThisFileDirectory)..\Shared\
- $(MSBuildThisFileDirectory).runsettings
true
diff --git a/tests/Aspire.Templates.Tests/.runsettings b/tests/Aspire.Templates.Tests/.runsettings
deleted file mode 100644
index 1eb28e08584..00000000000
--- a/tests/Aspire.Templates.Tests/.runsettings
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- true
-
-
-
- 1200000
-
- category!=failing
-
-
-
-
-
- TestResults.trx
-
-
-
-
- normal
-
-
-
-
-
diff --git a/tests/Aspire.Templates.Tests/Aspire.Templates.Tests.csproj b/tests/Aspire.Templates.Tests/Aspire.Templates.Tests.csproj
index 7e9cb00475b..78faf4d9376 100644
--- a/tests/Aspire.Templates.Tests/Aspire.Templates.Tests.csproj
+++ b/tests/Aspire.Templates.Tests/Aspire.Templates.Tests.csproj
@@ -7,7 +7,6 @@
true
xunit.runner.json
- $(MSBuildThisFileDirectory).runsettings
$(TestArchiveTestsDirForTemplateTests)
true
diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props
index 8c0aabbcfa9..beb44b89dcd 100644
--- a/tests/Directory.Build.props
+++ b/tests/Directory.Build.props
@@ -5,8 +5,6 @@
-
- $(RepositoryEngineeringDir)testing\.runsettings
$([MSBuild]::NormalizeDirectory($(ArtifactsDir), 'helix', 'tests'))
$([MSBuild]::NormalizeDirectory($(ArtifactsDir), 'helix', 'templates-tests'))
$([MSBuild]::NormalizeDirectory($(ArtifactsDir), 'helix', 'e2e-tests'))
@@ -16,14 +14,8 @@
$(ArtifactsTestResultsDir)
-
- Exe
-
-
-
-
false
diff --git a/tests/Directory.Build.targets b/tests/Directory.Build.targets
index a18ad0736dc..bf1b4461737 100644
--- a/tests/Directory.Build.targets
+++ b/tests/Directory.Build.targets
@@ -4,17 +4,12 @@
-
- $(RunSettingsFilePath)
-
- true
$(RepoRoot)tests\helix\xunit.runner.json
$(RepositoryEngineeringDir)testing\xunit.runner.json
-
@@ -41,7 +36,7 @@
-
+
@@ -66,7 +61,8 @@
-
+
+
diff --git a/tests/Shared/RepoTesting/Aspire.RepoTesting.props b/tests/Shared/RepoTesting/Aspire.RepoTesting.props
index f4c225f2e54..4bf72ed654f 100644
--- a/tests/Shared/RepoTesting/Aspire.RepoTesting.props
+++ b/tests/Shared/RepoTesting/Aspire.RepoTesting.props
@@ -14,6 +14,12 @@
Xunit3
+
+ true
+ true
+ false
+ Exe
+
diff --git a/tests/Shared/RepoTesting/Aspire.RepoTesting.targets b/tests/Shared/RepoTesting/Aspire.RepoTesting.targets
index ac54f9b7fd3..4f3c9834786 100644
--- a/tests/Shared/RepoTesting/Aspire.RepoTesting.targets
+++ b/tests/Shared/RepoTesting/Aspire.RepoTesting.targets
@@ -41,6 +41,9 @@
true
$(IntermediateOutputPath)Directory.Packages.Versions.props
+
+ $(TestingPlatformCommandLineArguments) --filter-not-trait "category=failing"
+ $(TestingPlatformCommandLineArguments) --report-trx-filename "$(TrxFileNamePrefix)_$(TargetFramework)_$([System.DateTime]::UtcNow.ToString('yyyyMMddhhmmss')).trx"
@@ -67,8 +70,11 @@
-
-
+
+
+
+
+
diff --git a/tests/Shared/RepoTesting/Directory.Packages.Helix.props b/tests/Shared/RepoTesting/Directory.Packages.Helix.props
index a36826bcfe9..3a74f01ca7e 100644
--- a/tests/Shared/RepoTesting/Directory.Packages.Helix.props
+++ b/tests/Shared/RepoTesting/Directory.Packages.Helix.props
@@ -86,7 +86,5 @@
-
-
diff --git a/tests/Shared/TemplatesTesting/BuildEnvironment.cs b/tests/Shared/TemplatesTesting/BuildEnvironment.cs
index ad3454b5e05..afc83b1ae3f 100644
--- a/tests/Shared/TemplatesTesting/BuildEnvironment.cs
+++ b/tests/Shared/TemplatesTesting/BuildEnvironment.cs
@@ -158,8 +158,6 @@ public BuildEnvironment(bool useSystemDotNet = false, string sdkDirName = "dotne
// Avoid using the msbuild terminal logger, so the output can be read
// in the tests
EnvVars["_MSBUILDTLENABLED"] = "0";
- // .. and disable new output style for vstest
- EnvVars["VsTestUseMSBuildOutput"] = "false";
EnvVars["SkipAspireWorkloadManifest"] = "true";
DotNet = Path.Combine(sdkForTemplatePath!, "dotnet");
diff --git a/tests/helix/send-to-helix-basictests.targets b/tests/helix/send-to-helix-basictests.targets
index fcfb8bdc47d..29b05b8a3e1 100644
--- a/tests/helix/send-to-helix-basictests.targets
+++ b/tests/helix/send-to-helix-basictests.targets
@@ -21,8 +21,7 @@
- <_TestRunCommandArguments Condition="'$(OS)' != 'Windows_NT'" Include="--filter "quarantined!=true" -- RunConfiguration.TestSessionTimeout=$TEST_TIMEOUT" />
- <_TestRunCommandArguments Condition="'$(OS)' == 'Windows_NT'" Include="--filter "quarantined!=true" -- RunConfiguration.TestSessionTimeout=%TEST_TIMEOUT%" />
+ <_TestRunCommandArguments Include="--filter-not-trait "quarantined=true"" />
@@ -37,16 +36,9 @@
<_DefaultWorkItems TestName="$([System.Text.RegularExpressions.Regex]::Replace(%(FileName), $(TargetFrameworkSuffixRegex), '$1'))" />
<_DefaultWorkItems TestNameSuffix="$([System.Text.RegularExpressions.Regex]::Replace(%(FileName), $(TargetFrameworkSuffixRegex), '$2'))" />
-
- <_DefaultWorkItems TimeoutMs="900000" />
-
- <_DefaultWorkItems Condition="$([System.String]::new('%(FileName)').StartsWith('Aspire.Hosting.Elasticsearch.Tests'))" TimeoutMs="3600000" />
- <_DefaultWorkItems Condition="$([System.String]::new('%(FileName)').StartsWith('Aspire.Hosting.Oracle.Tests'))" TimeoutMs="1200000" />
- <_DefaultWorkItems Condition="$([System.String]::new('%(FileName)').StartsWith('Aspire.Pomelo.EntityFrameworkCore.MySql.Tests'))" TimeoutMs="1200000" />
-
%(Identity)
- $(_EnvVarSetKeyword) "TEST_NAME=%(TestName)" $(_ShellCommandSeparator) $(_EnvVarSetKeyword) TEST_TIMEOUT=%(TimeoutMs) $(_ShellCommandSeparator) $(_EnvVarSetKeyword) "TEST_NAME_SUFFIX=%(TestNameSuffix)" $(_ShellCommandSeparator) $(_EnvVarSetKeyword) "CODE_COV_FILE_SUFFIX=%(TestNameSuffix)"
+ $(_EnvVarSetKeyword) "TEST_NAME=%(TestName)" $(_ShellCommandSeparator) $(_EnvVarSetKeyword) $(_ShellCommandSeparator) $(_EnvVarSetKeyword) "TEST_NAME_SUFFIX=%(TestNameSuffix)" $(_ShellCommandSeparator) $(_EnvVarSetKeyword) "CODE_COV_FILE_SUFFIX=%(TestNameSuffix)"
$(_TestRunCommand)
$(_workItemTimeout)
diff --git a/tests/helix/send-to-helix-buildonhelixtests.targets b/tests/helix/send-to-helix-buildonhelixtests.targets
index 096bf419beb..19e0c189d19 100644
--- a/tests/helix/send-to-helix-buildonhelixtests.targets
+++ b/tests/helix/send-to-helix-buildonhelixtests.targets
@@ -31,14 +31,14 @@
<_TestRunCommandArguments Remove="@(_TestRunCommandArguments)" />
<_TestBlameArguments Remove="@(_TestBlameArguments)" />
- <_TestBlameArguments Include="--blame-crash" />
- <_TestBlameArguments Include="--blame-crash-dump-type full" />
+ <_TestBlameArguments Include="--crashdump" />
+ <_TestBlameArguments Include="--crashdump-type Full" />
- <_TestRunCommandArguments Include="dotnet test -s .runsettings --results-directory $(_HelixLogsPath) -v:n" />
+ <_TestRunCommandArguments Include="dotnet test -- --results-directory $(_HelixLogsPath) --report-trx --report-trx-filename TestResults.trx" />
<_TestRunCommandArguments Include="@(_TestBlameArguments, ' ')" />
- <_TestRunCommandArguments Include="--filter "quarantined!=true"" />
+ <_TestRunCommandArguments Include="--filter-not-trait "quarantined=true"" />
diff --git a/tests/helix/send-to-helix-endtoendtests.targets b/tests/helix/send-to-helix-endtoendtests.targets
index a64f35da2a4..1e9b2d70f33 100644
--- a/tests/helix/send-to-helix-endtoendtests.targets
+++ b/tests/helix/send-to-helix-endtoendtests.targets
@@ -21,7 +21,7 @@
Text="Could not find EndToEnd tests at %24(_E2ETestsArchivePath)=$(_E2ETestsArchivePath)" />
- <_TestRunCommandArguments Include="--filter "(quarantined!=true)&(scenario=$(_TestScenarioEnvVar))"" />
+ <_TestRunCommandArguments Include="--filter-not-trait "quarantined=true" --filter-trait "scenario=$(_TestScenarioEnvVar)"" />
diff --git a/tests/helix/send-to-helix-inner.proj b/tests/helix/send-to-helix-inner.proj
index 61095f4a741..3ad04b6656e 100644
--- a/tests/helix/send-to-helix-inner.proj
+++ b/tests/helix/send-to-helix-inner.proj
@@ -58,13 +58,19 @@
- <_TestBlameArguments Include="--blame-hang" />
- <_TestBlameArguments Include="--blame-hang-dump-type full" />
- <_TestBlameArguments Include="--blame-hang-timeout 10m" />
- <_TestBlameArguments Include="--blame-crash" />
- <_TestBlameArguments Include="--blame-crash-dump-type full" />
-
- <_TestRunCommandArguments Include="$(_SetExecutableBitCommand)dotnet test -s .runsettings $(_TestNameEnvVar).dll --ResultsDirectory:$(_HelixLogsPath) -v:n" />
+ <_TestBlameArguments Include="--hangdump" />
+ <_TestBlameArguments Include="--hangdump-type Full" />
+ <_TestBlameArguments Include="--hangdump-timeout 10m" />
+ <_TestBlameArguments Include="--crashdump" />
+ <_TestBlameArguments Include="--crashdump-type Full" />
+
+
+ <_TestRunCommandArguments Include="$(_SetExecutableBitCommand)dotnet exec $(_TestNameEnvVar).dll --results-directory:$(_HelixLogsPath) --report-trx --report-trx-filename TestResults.trx --filter-not-trait "category=failing" --ignore-exit-code 8" />
<_TestRunCommandArguments Include="@(_TestBlameArguments, ' ')" />
diff --git a/tests/helix/send-to-helix-templatestests.targets b/tests/helix/send-to-helix-templatestests.targets
index cdd6cee0918..f731f3b41c4 100644
--- a/tests/helix/send-to-helix-templatestests.targets
+++ b/tests/helix/send-to-helix-templatestests.targets
@@ -59,8 +59,8 @@
To fix that, append '.' to the name so only the test class with exactly that name is run.
-->
- %(PreCommands) $(_ShellCommandSeparator) set "TEST_ARGS=--filter quarantined^^!=true^&category^^!=failing^&FullyQualifiedName~%(Identity)."
- %(PreCommands) $(_ShellCommandSeparator) export "TEST_ARGS=--filter quarantined!=true&category!=failing&FullyQualifiedName~%(Identity)."
+ %(PreCommands) $(_ShellCommandSeparator) set "TEST_ARGS=--filter-not-trait quarantined=true --filter-not-trait category=failing --filter-class %(Identity)"
+ %(PreCommands) $(_ShellCommandSeparator) export "TEST_ARGS=--filter-not-trait quarantined=true --filter-not-trait category=failing --filter-class %(Identity)"
$(_TestRunCommand)
$(_workItemTimeout)