From 1885fb18936b6cc8223fd6ff49cc63ad00670d94 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Sat, 7 Mar 2026 16:43:10 +0900
Subject: [PATCH 01/25] chore: update xunit related package version to v3 with
mtp v2
---
.../BenchmarkDotNet.Analyzers.Tests.csproj | 64 +++++++++----------
...markDotNet.Exporters.Plotting.Tests.csproj | 8 +--
....IntegrationTests.ConfigPerAssembly.csproj | 1 +
...DotNet.IntegrationTests.CustomPaths.csproj | 1 +
...egrationTests.DisabledOptimizations.csproj | 1 +
...tegrationTests.EnabledOptimizations.csproj | 1 +
...hmarkDotNet.IntegrationTests.FSharp.fsproj | 1 +
...tNet.IntegrationTests.ManualRunning.csproj | 10 +--
...hmarkDotNet.IntegrationTests.Static.csproj | 1 +
...DotNet.IntegrationTests.VisualBasic.vbproj | 1 +
.../BenchmarkDotNet.IntegrationTests.csproj | 10 +--
.../BenchmarkDotNet.Tests.csproj | 10 +--
12 files changed, 47 insertions(+), 62 deletions(-)
mode change 100755 => 100644 tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj
mode change 100755 => 100644 tests/BenchmarkDotNet.Tests/BenchmarkDotNet.Tests.csproj
diff --git a/tests/BenchmarkDotNet.Analyzers.Tests/BenchmarkDotNet.Analyzers.Tests.csproj b/tests/BenchmarkDotNet.Analyzers.Tests/BenchmarkDotNet.Analyzers.Tests.csproj
index 92a896bce1..75d50a3656 100644
--- a/tests/BenchmarkDotNet.Analyzers.Tests/BenchmarkDotNet.Analyzers.Tests.csproj
+++ b/tests/BenchmarkDotNet.Analyzers.Tests/BenchmarkDotNet.Analyzers.Tests.csproj
@@ -1,35 +1,31 @@
-
-
-
- BenchmarkDotNet.Analyzers.Tests
- net472;net8.0;net10.0
- true
- true
- true
- true
- $(NoWarn);CS1591
-
-
-
-
-
-
-
-
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
+
+
+
+ BenchmarkDotNet.Analyzers.Tests
+ net472;net8.0;net10.0
+ Exe
+ true
+ true
+ true
+ true
+ $(NoWarn);CS1591
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/BenchmarkDotNet.Exporters.Plotting.Tests/BenchmarkDotNet.Exporters.Plotting.Tests.csproj b/tests/BenchmarkDotNet.Exporters.Plotting.Tests/BenchmarkDotNet.Exporters.Plotting.Tests.csproj
index ccadec5e07..97deb247d4 100644
--- a/tests/BenchmarkDotNet.Exporters.Plotting.Tests/BenchmarkDotNet.Exporters.Plotting.Tests.csproj
+++ b/tests/BenchmarkDotNet.Exporters.Plotting.Tests/BenchmarkDotNet.Exporters.Plotting.Tests.csproj
@@ -2,6 +2,7 @@
net8.0;net472
+ Exe
true
false
@@ -14,12 +15,7 @@
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly.csproj b/tests/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly.csproj
index 5b849298b3..d6dbb81c96 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly.csproj
@@ -3,6 +3,7 @@
BenchmarkDotNet.IntegrationTests.ConfigPerAssembly
net472;net8.0
+ Exe
true
BenchmarkDotNet.IntegrationTests.ConfigPerAssembly
BenchmarkDotNet.IntegrationTests.ConfigPerAssembly
diff --git a/tests/BenchmarkDotNet.IntegrationTests.CustomPaths/BenchmarkDotNet.IntegrationTests.CustomPaths.csproj b/tests/BenchmarkDotNet.IntegrationTests.CustomPaths/BenchmarkDotNet.IntegrationTests.CustomPaths.csproj
index ffea2b8a5f..fac2fc3290 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.CustomPaths/BenchmarkDotNet.IntegrationTests.CustomPaths.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.CustomPaths/BenchmarkDotNet.IntegrationTests.CustomPaths.csproj
@@ -3,6 +3,7 @@
BenchmarkDotNet.IntegrationTests.CustomPaths
net472
+ Exe
true
BenchmarkDotNet.IntegrationTests.CustomPaths
BenchmarkDotNet.IntegrationTests.CustomPaths
diff --git a/tests/BenchmarkDotNet.IntegrationTests.DisabledOptimizations/BenchmarkDotNet.IntegrationTests.DisabledOptimizations.csproj b/tests/BenchmarkDotNet.IntegrationTests.DisabledOptimizations/BenchmarkDotNet.IntegrationTests.DisabledOptimizations.csproj
index fdb5400397..f97762480b 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.DisabledOptimizations/BenchmarkDotNet.IntegrationTests.DisabledOptimizations.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.DisabledOptimizations/BenchmarkDotNet.IntegrationTests.DisabledOptimizations.csproj
@@ -3,6 +3,7 @@
BenchmarkDotNet.IntegrationTests.DisabledOptimizations
net472;net8.0
+ Exe
true
BenchmarkDotNet.IntegrationTests.DisabledOptimizations
BenchmarkDotNet.IntegrationTests.DisabledOptimizations
diff --git a/tests/BenchmarkDotNet.IntegrationTests.EnabledOptimizations/BenchmarkDotNet.IntegrationTests.EnabledOptimizations.csproj b/tests/BenchmarkDotNet.IntegrationTests.EnabledOptimizations/BenchmarkDotNet.IntegrationTests.EnabledOptimizations.csproj
index 7bfa81d814..1506f87e05 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.EnabledOptimizations/BenchmarkDotNet.IntegrationTests.EnabledOptimizations.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.EnabledOptimizations/BenchmarkDotNet.IntegrationTests.EnabledOptimizations.csproj
@@ -3,6 +3,7 @@
BenchmarkDotNet.IntegrationTests.EnabledOptimizations
net472;net8.0
+ Exe
true
BenchmarkDotNet.IntegrationTests.EnabledOptimizations
BenchmarkDotNet.IntegrationTests.EnabledOptimizations
diff --git a/tests/BenchmarkDotNet.IntegrationTests.FSharp/BenchmarkDotNet.IntegrationTests.FSharp.fsproj b/tests/BenchmarkDotNet.IntegrationTests.FSharp/BenchmarkDotNet.IntegrationTests.FSharp.fsproj
index aa75712391..609b99f66f 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.FSharp/BenchmarkDotNet.IntegrationTests.FSharp.fsproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.FSharp/BenchmarkDotNet.IntegrationTests.FSharp.fsproj
@@ -2,6 +2,7 @@
net472;net8.0
+ Exe
false
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj
old mode 100755
new mode 100644
index 18fcf9b171..601ba7787c
--- a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj
@@ -3,6 +3,7 @@
BenchmarkDotNet.IntegrationTests.ManualRunning
net472;net8.0
+ Exe
true
BenchmarkDotNet.IntegrationTests.ManualRunning
BenchmarkDotNet.IntegrationTests.ManualRunning
@@ -19,7 +20,7 @@
$(DefineConstants);$(ExtraDefineConstants)
-
+
@@ -40,12 +41,7 @@
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/tests/BenchmarkDotNet.IntegrationTests.Static/BenchmarkDotNet.IntegrationTests.Static.csproj b/tests/BenchmarkDotNet.IntegrationTests.Static/BenchmarkDotNet.IntegrationTests.Static.csproj
index 268340278e..f43e1edfff 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.Static/BenchmarkDotNet.IntegrationTests.Static.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.Static/BenchmarkDotNet.IntegrationTests.Static.csproj
@@ -3,6 +3,7 @@
BenchmarkDotNet.IntegrationTests.Static
net472;net8.0
+ Exe
true
BenchmarkDotNet.IntegrationTests.Static
BenchmarkDotNet.IntegrationTests.Static
diff --git a/tests/BenchmarkDotNet.IntegrationTests.VisualBasic/BenchmarkDotNet.IntegrationTests.VisualBasic.vbproj b/tests/BenchmarkDotNet.IntegrationTests.VisualBasic/BenchmarkDotNet.IntegrationTests.VisualBasic.vbproj
index 65ac132061..10828402f0 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.VisualBasic/BenchmarkDotNet.IntegrationTests.VisualBasic.vbproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.VisualBasic/BenchmarkDotNet.IntegrationTests.VisualBasic.vbproj
@@ -2,6 +2,7 @@
net472;net8.0
+ Exe
diff --git a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
index b54a05009a..f35418113c 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
@@ -4,6 +4,7 @@
BenchmarkDotNet.IntegrationTests
net472;net8.0
net8.0
+ Exe
true
BenchmarkDotNet.IntegrationTests
BenchmarkDotNet.IntegrationTests
@@ -33,14 +34,7 @@
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/tests/BenchmarkDotNet.Tests/BenchmarkDotNet.Tests.csproj b/tests/BenchmarkDotNet.Tests/BenchmarkDotNet.Tests.csproj
old mode 100755
new mode 100644
index ab52a99e1f..79027728ba
--- a/tests/BenchmarkDotNet.Tests/BenchmarkDotNet.Tests.csproj
+++ b/tests/BenchmarkDotNet.Tests/BenchmarkDotNet.Tests.csproj
@@ -3,6 +3,7 @@
BenchmarkDotNet.Tests
net8.0;net10.0;net472
+ Exe
BenchmarkDotNet.Tests
BenchmarkDotNet.Tests
true
@@ -16,13 +17,8 @@
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
+
From d37651519cd95dcf11b6787faf8090462e8b60d6 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Sat, 7 Mar 2026 18:32:49 +0900
Subject: [PATCH 02/25] chore: add xunit.v3.mtp-v2 package directly for
auto-generated entrypoint
---
.../BenchmarkDotNet.IntegrationTests.ConfigPerAssembly.csproj | 3 +++
.../BenchmarkDotNet.IntegrationTests.CustomPaths.csproj | 3 +++
...nchmarkDotNet.IntegrationTests.DisabledOptimizations.csproj | 3 +++
...enchmarkDotNet.IntegrationTests.EnabledOptimizations.csproj | 3 +++
.../BenchmarkDotNet.IntegrationTests.FSharp.fsproj | 3 +++
.../BenchmarkDotNet.IntegrationTests.Static.csproj | 3 +++
.../BenchmarkDotNet.IntegrationTests.VisualBasic.vbproj | 3 +++
7 files changed, 21 insertions(+)
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly.csproj b/tests/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly.csproj
index d6dbb81c96..271267164d 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly/BenchmarkDotNet.IntegrationTests.ConfigPerAssembly.csproj
@@ -14,6 +14,9 @@
+
+
+
diff --git a/tests/BenchmarkDotNet.IntegrationTests.CustomPaths/BenchmarkDotNet.IntegrationTests.CustomPaths.csproj b/tests/BenchmarkDotNet.IntegrationTests.CustomPaths/BenchmarkDotNet.IntegrationTests.CustomPaths.csproj
index fac2fc3290..e29da5c4e6 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.CustomPaths/BenchmarkDotNet.IntegrationTests.CustomPaths.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.CustomPaths/BenchmarkDotNet.IntegrationTests.CustomPaths.csproj
@@ -14,6 +14,9 @@
+
+
+
diff --git a/tests/BenchmarkDotNet.IntegrationTests.DisabledOptimizations/BenchmarkDotNet.IntegrationTests.DisabledOptimizations.csproj b/tests/BenchmarkDotNet.IntegrationTests.DisabledOptimizations/BenchmarkDotNet.IntegrationTests.DisabledOptimizations.csproj
index f97762480b..9a6d74076b 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.DisabledOptimizations/BenchmarkDotNet.IntegrationTests.DisabledOptimizations.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.DisabledOptimizations/BenchmarkDotNet.IntegrationTests.DisabledOptimizations.csproj
@@ -16,6 +16,9 @@
+
+
+
diff --git a/tests/BenchmarkDotNet.IntegrationTests.EnabledOptimizations/BenchmarkDotNet.IntegrationTests.EnabledOptimizations.csproj b/tests/BenchmarkDotNet.IntegrationTests.EnabledOptimizations/BenchmarkDotNet.IntegrationTests.EnabledOptimizations.csproj
index 1506f87e05..e5ebdb29f0 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.EnabledOptimizations/BenchmarkDotNet.IntegrationTests.EnabledOptimizations.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.EnabledOptimizations/BenchmarkDotNet.IntegrationTests.EnabledOptimizations.csproj
@@ -16,6 +16,9 @@
+
+
+
diff --git a/tests/BenchmarkDotNet.IntegrationTests.FSharp/BenchmarkDotNet.IntegrationTests.FSharp.fsproj b/tests/BenchmarkDotNet.IntegrationTests.FSharp/BenchmarkDotNet.IntegrationTests.FSharp.fsproj
index 609b99f66f..635862316e 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.FSharp/BenchmarkDotNet.IntegrationTests.FSharp.fsproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.FSharp/BenchmarkDotNet.IntegrationTests.FSharp.fsproj
@@ -11,6 +11,9 @@
+
+
+
diff --git a/tests/BenchmarkDotNet.IntegrationTests.Static/BenchmarkDotNet.IntegrationTests.Static.csproj b/tests/BenchmarkDotNet.IntegrationTests.Static/BenchmarkDotNet.IntegrationTests.Static.csproj
index f43e1edfff..63fc36d874 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.Static/BenchmarkDotNet.IntegrationTests.Static.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.Static/BenchmarkDotNet.IntegrationTests.Static.csproj
@@ -14,6 +14,9 @@
+
+
+
diff --git a/tests/BenchmarkDotNet.IntegrationTests.VisualBasic/BenchmarkDotNet.IntegrationTests.VisualBasic.vbproj b/tests/BenchmarkDotNet.IntegrationTests.VisualBasic/BenchmarkDotNet.IntegrationTests.VisualBasic.vbproj
index 10828402f0..dccd63245b 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.VisualBasic/BenchmarkDotNet.IntegrationTests.VisualBasic.vbproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.VisualBasic/BenchmarkDotNet.IntegrationTests.VisualBasic.vbproj
@@ -7,5 +7,8 @@
+
+
+
\ No newline at end of file
From 52a671705224daee9f1c8f30c52c4d34eda611c2 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Sat, 7 Mar 2026 16:52:05 +0900
Subject: [PATCH 03/25] chore: remove using Xunit.Abstractions; and add using
Xunit
---
.../Fixtures/Serializable/ValueTupleDouble.cs | 4 +---
.../Fixtures/Serializable/ValueTupleTriple.cs | 4 +---
.../ScottPlotExporterTests.cs | 4 +++-
.../DotMemoryTests.cs | 1 -
.../DotTraceTests.cs | 1 -
.../MsBuildArgumentTests.cs | 1 -
.../AllSetupAndCleanupTest.cs | 1 -
tests/BenchmarkDotNet.IntegrationTests/AppConfigTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/ArgumentsTests.cs | 3 +--
.../AssemblyConfigTests.cs | 1 -
.../AsyncBenchmarksTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/AttributesTests.cs | 3 +--
.../BaselineRatioColumnTest.cs | 3 +--
.../BenchmarkDotNet.IntegrationTests.csproj | 3 +++
.../BenchmarkSwitcherTest.cs | 3 +--
.../BenchmarkTestExecutor.cs | 3 +--
.../BenchmarkDotNet.IntegrationTests/BuildTimeoutTests.cs | 3 +--
.../BenchmarkDotNet.IntegrationTests/CallerThreadTests.cs | 1 -
.../CancellationTokenTests.cs | 1 -
tests/BenchmarkDotNet.IntegrationTests/CodeGenTests.cs | 3 +--
.../ConflictingNamesTests.cs | 3 +--
.../BenchmarkDotNet.IntegrationTests/CopyToOutputTests.cs | 1 -
.../CustomBuildConfigurationTests.cs | 6 +-----
.../BenchmarkDotNet.IntegrationTests/CustomEngineTests.cs | 3 +--
.../CustomTaskAndAwaitableTests.cs | 3 +--
.../Diagnosers/MockInProcessDiagnoser.cs | 2 +-
.../Diagnosers/ProcessMetricsTests.cs | 2 +-
.../DisassemblyDiagnoserTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/DryRunTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/EngineTests.cs | 1 -
.../EnvironmentVariablesTests.cs | 1 -
.../EventProcessorTests.cs | 2 +-
.../ExceptionDiagnoserTests.cs | 2 +-
.../ExceptionHandlingTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/ExporterIOTests.cs | 3 +--
.../ExtraAttributesForEntryMethodTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/FSharpTests.cs | 1 -
.../FailingProcessSpawnTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/GcModeTests.cs | 4 ++--
.../GlobalSetupAttributeInvalidMethodTest.cs | 3 +--
.../InProcess.EmitTests/NaiveRunnableEmitDiff.cs | 2 +-
.../InProcessDiagnoserTests.cs | 1 -
.../BenchmarkDotNet.IntegrationTests/InProcessEmitTest.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/InProcessTest.cs | 2 --
.../JitOptimizationsTests.cs | 1 -
.../JitRuntimeValidationTest.cs | 3 +--
.../LanguageVersionTests.cs | 3 +--
.../LargeAddressAwareTest.cs | 3 +--
.../MemoryDiagnoserTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/MonoTests.cs | 3 +--
.../MultipleRuntimesTest.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/NativeAotTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/ParamSourceTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/ParamsTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/PathTooLongTests.cs | 3 +--
.../PowerManagementApplierTests.cs | 1 -
tests/BenchmarkDotNet.IntegrationTests/PriorityTests.cs | 3 +--
.../ProcessPropertiesTests.cs | 1 -
.../ProcessorArchitectureTest.cs | 3 +--
.../Properties/AssemblyInfo.cs | 2 +-
tests/BenchmarkDotNet.IntegrationTests/R2RTests.cs | 1 -
tests/BenchmarkDotNet.IntegrationTests/ReferencesTests.cs | 2 --
.../RoslynToolchainTest.cs | 1 -
tests/BenchmarkDotNet.IntegrationTests/RunAsyncTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/RunStrategyTests.cs | 3 +--
.../SetupAndCleanupTests.cs | 3 +--
.../BenchmarkDotNet.IntegrationTests/StandardErrorTests.cs | 1 -
.../StatResultExtenderTests.cs | 3 +--
.../TailCallDiagnoserTests.cs | 1 -
.../ThreadingDiagnoserTests.cs | 1 -
tests/BenchmarkDotNet.IntegrationTests/ToolchainTest.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/ValidatorsTest.cs | 3 +--
.../ValuesReturnedByBenchmarkTest.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/WakeLockTests.cs | 3 +--
tests/BenchmarkDotNet.IntegrationTests/WasmTests.cs | 5 ++---
.../Analysers/OutliersAnalyserTests.cs | 1 -
tests/BenchmarkDotNet.Tests/Columns/RatioColumnTest.cs | 1 -
tests/BenchmarkDotNet.Tests/ConfigParserTests.cs | 3 +--
tests/BenchmarkDotNet.Tests/Configs/CategoriesTests.cs | 1 -
.../Detectors/Cpu/LinuxCpuInfoParserTests.cs | 3 +--
.../Detectors/Cpu/PowershellWmiCpuInfoParserTests.cs | 7 +++----
.../Detectors/Cpu/SysctlCpuInfoParserTests.cs | 1 -
tests/BenchmarkDotNet.Tests/Detectors/Cpu/TestHelper.cs | 3 +--
.../Detectors/Cpu/WmicCpuInfoParserTests.cs | 1 -
.../BenchmarkDotNet.Tests/Engine/EngineActualStageTests.cs | 1 -
.../BenchmarkDotNet.Tests/Engine/EnginePilotStageTests.cs | 1 -
.../BenchmarkDotNet.Tests/Engine/EngineWarmupStageTests.cs | 1 -
tests/BenchmarkDotNet.Tests/Loggers/OutputLogger.cs | 4 ++--
tests/BenchmarkDotNet.Tests/Mathematics/StatisticsTests.cs | 1 -
tests/BenchmarkDotNet.Tests/Mocks/MockEngine.cs | 3 +--
tests/BenchmarkDotNet.Tests/Mocks/MockRunner.cs | 1 -
tests/BenchmarkDotNet.Tests/Perfonar/PerfonarTests.cs | 1 -
tests/BenchmarkDotNet.Tests/Reports/ColumnTests.cs | 1 -
.../Reports/DefaultColumnProvidersTests.cs | 1 -
.../Reports/DisplayPrecisionManagerTests.cs | 1 -
tests/BenchmarkDotNet.Tests/Reports/RatioPrecisionTests.cs | 3 +--
tests/BenchmarkDotNet.Tests/Reports/RatioStyleTests.cs | 1 -
tests/BenchmarkDotNet.Tests/Reports/SummaryTableTests.cs | 1 -
tests/BenchmarkDotNet.Tests/SourceCodeHelperTests.cs | 3 +--
tests/BenchmarkDotNet.Tests/TypeFilterTests.cs | 1 -
.../Validators/ParamsValidatorTests.cs | 2 +-
tests/BenchmarkDotNet.Tests/XUnit/InlineDataEnvSpecific.cs | 3 ++-
.../XUnit/InlineDataEnvSpecificDiscoverer.cs | 2 +-
103 files changed, 74 insertions(+), 165 deletions(-)
mode change 100755 => 100644 tests/BenchmarkDotNet.IntegrationTests/MemoryDiagnoserTests.cs
diff --git a/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleDouble.cs b/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleDouble.cs
index 9a2a69bab4..d05c316bdd 100644
--- a/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleDouble.cs
+++ b/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleDouble.cs
@@ -1,6 +1,4 @@
-using Xunit.Abstractions;
-
-namespace BenchmarkDotNet.Analyzers.Tests.Fixtures;
+namespace BenchmarkDotNet.Analyzers.Tests.Fixtures;
public class ValueTupleDouble : IXunitSerializable
{
diff --git a/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleTriple.cs b/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleTriple.cs
index 8fd256378b..a2ab074a59 100644
--- a/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleTriple.cs
+++ b/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleTriple.cs
@@ -1,6 +1,4 @@
-using Xunit.Abstractions;
-
-namespace BenchmarkDotNet.Analyzers.Tests.Fixtures;
+namespace BenchmarkDotNet.Analyzers.Tests.Fixtures;
public class ValueTupleTriple : IXunitSerializable
{
diff --git a/tests/BenchmarkDotNet.Exporters.Plotting.Tests/ScottPlotExporterTests.cs b/tests/BenchmarkDotNet.Exporters.Plotting.Tests/ScottPlotExporterTests.cs
index 546c615119..1d5118dc69 100644
--- a/tests/BenchmarkDotNet.Exporters.Plotting.Tests/ScottPlotExporterTests.cs
+++ b/tests/BenchmarkDotNet.Exporters.Plotting.Tests/ScottPlotExporterTests.cs
@@ -3,7 +3,9 @@
using BenchmarkDotNet.Loggers;
using BenchmarkDotNet.Tests.Mocks;
using System.Diagnostics.CodeAnalysis;
-using Xunit.Abstractions;
+using System.IO;
+using System.Linq;
+using Xunit;
namespace BenchmarkDotNet.Exporters.Plotting.Tests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/DotMemoryTests.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/DotMemoryTests.cs
index 4f577ffa0f..0020481687 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/DotMemoryTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/DotMemoryTests.cs
@@ -6,7 +6,6 @@
using BenchmarkDotNet.Portability;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using Xunit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests.ManualRunning
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/DotTraceTests.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/DotTraceTests.cs
index 52747e9030..4a240100c4 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/DotTraceTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/DotTraceTests.cs
@@ -6,7 +6,6 @@
using BenchmarkDotNet.Portability;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using Xunit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests.ManualRunning
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/MsBuildArgumentTests.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/MsBuildArgumentTests.cs
index e97e821e33..55f890dc12 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/MsBuildArgumentTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/MsBuildArgumentTests.cs
@@ -3,7 +3,6 @@
using BenchmarkDotNet.Environments;
using BenchmarkDotNet.Jobs;
using Xunit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests.ManualRunning
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/AllSetupAndCleanupTest.cs b/tests/BenchmarkDotNet.IntegrationTests/AllSetupAndCleanupTest.cs
index 68ab54b8e8..54934cd6a2 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/AllSetupAndCleanupTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/AllSetupAndCleanupTest.cs
@@ -3,7 +3,6 @@
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Reports;
using BenchmarkDotNet.Tests.XUnit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/AppConfigTests.cs b/tests/BenchmarkDotNet.IntegrationTests/AppConfigTests.cs
index 8a597e8a4d..0baf6bf239 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/AppConfigTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/AppConfigTests.cs
@@ -1,6 +1,5 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using System.Configuration;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ArgumentsTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ArgumentsTests.cs
index 938efe17f1..d012aed52b 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ArgumentsTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ArgumentsTests.cs
@@ -1,11 +1,10 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Extensions;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Toolchains;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using System.Numerics;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/AssemblyConfigTests.cs b/tests/BenchmarkDotNet.IntegrationTests/AssemblyConfigTests.cs
index 8c1dcaeda8..7d58986483 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/AssemblyConfigTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/AssemblyConfigTests.cs
@@ -1,5 +1,4 @@
using BenchmarkDotNet.IntegrationTests.ConfigPerAssembly;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/AsyncBenchmarksTests.cs b/tests/BenchmarkDotNet.IntegrationTests/AsyncBenchmarksTests.cs
index d9ffc9e556..6672aaa70e 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/AsyncBenchmarksTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/AsyncBenchmarksTests.cs
@@ -1,6 +1,5 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using System.Threading.Tasks.Sources;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/AttributesTests.cs b/tests/BenchmarkDotNet.IntegrationTests/AttributesTests.cs
index 10e6c78c9d..8130a7ce73 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/AttributesTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/AttributesTests.cs
@@ -1,5 +1,4 @@
-using BenchmarkDotNet.Attributes;
-using Xunit.Abstractions;
+using BenchmarkDotNet.Attributes;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/BaselineRatioColumnTest.cs b/tests/BenchmarkDotNet.IntegrationTests/BaselineRatioColumnTest.cs
index e70743f988..83b3c1e98f 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/BaselineRatioColumnTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/BaselineRatioColumnTest.cs
@@ -1,10 +1,9 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Exporters;
using BenchmarkDotNet.Loggers;
using BenchmarkDotNet.Reports;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
index f35418113c..8bce316bf5 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
@@ -15,6 +15,9 @@
$(NoWarn);CA2007;CA1825
true
+
+
+
Always
diff --git a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkSwitcherTest.cs b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkSwitcherTest.cs
index bb08c691d8..ab336fe92e 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkSwitcherTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkSwitcherTest.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Environments;
using BenchmarkDotNet.Exporters;
@@ -9,7 +9,6 @@
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Tests.Loggers;
using BenchmarkDotNet.Tests.XUnit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkTestExecutor.cs b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkTestExecutor.cs
index 4e17eb6982..795127c130 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkTestExecutor.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkTestExecutor.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Columns;
+using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.IntegrationTests.Xunit;
using BenchmarkDotNet.Jobs;
@@ -7,7 +7,6 @@
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Tests.Loggers;
using Xunit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/BuildTimeoutTests.cs b/tests/BenchmarkDotNet.IntegrationTests/BuildTimeoutTests.cs
index 70698e6e51..3af68062ee 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/BuildTimeoutTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/BuildTimeoutTests.cs
@@ -1,11 +1,10 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Detectors;
using BenchmarkDotNet.Environments;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Portability;
using BenchmarkDotNet.Toolchains.NativeAot;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/CallerThreadTests.cs b/tests/BenchmarkDotNet.IntegrationTests/CallerThreadTests.cs
index 869767c5ee..fe0b3940cd 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/CallerThreadTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/CallerThreadTests.cs
@@ -14,7 +14,6 @@
using BenchmarkDotNet.Toolchains.InProcess.NoEmit;
using BenchmarkDotNet.Toolchains.Results;
using BenchmarkDotNet.Validators;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/CancellationTokenTests.cs b/tests/BenchmarkDotNet.IntegrationTests/CancellationTokenTests.cs
index 4841703b84..1c108b8b58 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/CancellationTokenTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/CancellationTokenTests.cs
@@ -17,7 +17,6 @@
using BenchmarkDotNet.Toolchains.MonoAotLLVM;
using BenchmarkDotNet.Toolchains.MonoWasm;
using BenchmarkDotNet.Validators;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/CodeGenTests.cs b/tests/BenchmarkDotNet.IntegrationTests/CodeGenTests.cs
index 2068376512..ee41633b66 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/CodeGenTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/CodeGenTests.cs
@@ -1,11 +1,10 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Tests.XUnit;
using BenchmarkDotNet.Toolchains;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using System.Diagnostics;
using System.Reflection;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ConflictingNamesTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ConflictingNamesTests.cs
index 39436fb6d1..bb1b8eab7e 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ConflictingNamesTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ConflictingNamesTests.cs
@@ -1,5 +1,4 @@
-using BenchmarkDotNet.Attributes;
-using Xunit.Abstractions;
+using BenchmarkDotNet.Attributes;
namespace BenchmarkDotNet.IntegrationTests;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/CopyToOutputTests.cs b/tests/BenchmarkDotNet.IntegrationTests/CopyToOutputTests.cs
index 1d43b59550..3d88695806 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/CopyToOutputTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/CopyToOutputTests.cs
@@ -1,7 +1,6 @@
#if NETFRAMEWORK
using BenchmarkDotNet.IntegrationTests.CustomPaths;
using Xunit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/CustomBuildConfigurationTests.cs b/tests/BenchmarkDotNet.IntegrationTests/CustomBuildConfigurationTests.cs
index 8bbf004312..2e4e317692 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/CustomBuildConfigurationTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/CustomBuildConfigurationTests.cs
@@ -1,14 +1,10 @@
-using System.Reflection;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Extensions;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Portability;
using BenchmarkDotNet.Tests.XUnit;
-#if !DEBUG
-using Xunit;
-#endif
-using Xunit.Abstractions;
+using System.Reflection;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/CustomEngineTests.cs b/tests/BenchmarkDotNet.IntegrationTests/CustomEngineTests.cs
index 50cd89be98..c7bf0030fd 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/CustomEngineTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/CustomEngineTests.cs
@@ -1,9 +1,8 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Engines;
using BenchmarkDotNet.Jobs;
using Perfolizer.Mathematics.OutlierDetection;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/CustomTaskAndAwaitableTests.cs b/tests/BenchmarkDotNet.IntegrationTests/CustomTaskAndAwaitableTests.cs
index 6a35e18c6b..a26b57665d 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/CustomTaskAndAwaitableTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/CustomTaskAndAwaitableTests.cs
@@ -1,9 +1,8 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Toolchains;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using System.Runtime.CompilerServices;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/Diagnosers/MockInProcessDiagnoser.cs b/tests/BenchmarkDotNet.IntegrationTests/Diagnosers/MockInProcessDiagnoser.cs
index aa262dc62b..6466c6f49f 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/Diagnosers/MockInProcessDiagnoser.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/Diagnosers/MockInProcessDiagnoser.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Analysers;
+using BenchmarkDotNet.Analysers;
using BenchmarkDotNet.Diagnosers;
using BenchmarkDotNet.Engines;
using BenchmarkDotNet.Exporters;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/Diagnosers/ProcessMetricsTests.cs b/tests/BenchmarkDotNet.IntegrationTests/Diagnosers/ProcessMetricsTests.cs
index 829a48bced..8aa8b6e9ad 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/Diagnosers/ProcessMetricsTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/Diagnosers/ProcessMetricsTests.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK
+#if NETFRAMEWORK
using BenchmarkDotNet.Diagnosers;
using BenchmarkDotNet.Diagnostics.Windows.Tracing;
using BenchmarkDotNet.Engines;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/DisassemblyDiagnoserTests.cs b/tests/BenchmarkDotNet.IntegrationTests/DisassemblyDiagnoserTests.cs
index dcd3054e66..5e804a3cde 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/DisassemblyDiagnoserTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/DisassemblyDiagnoserTests.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Diagnosers;
@@ -14,7 +14,6 @@
using BenchmarkDotNet.Toolchains.CsProj;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using System.Runtime.CompilerServices;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/DryRunTests.cs b/tests/BenchmarkDotNet.IntegrationTests/DryRunTests.cs
index 895dc4266a..b2db86e730 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/DryRunTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/DryRunTests.cs
@@ -1,6 +1,5 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Engines;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/EngineTests.cs b/tests/BenchmarkDotNet.IntegrationTests/EngineTests.cs
index d04eaa6385..f37716cb04 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/EngineTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/EngineTests.cs
@@ -7,7 +7,6 @@
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using BenchmarkDotNet.Toolchains.InProcess.NoEmit;
using System.Diagnostics;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/EnvironmentVariablesTests.cs b/tests/BenchmarkDotNet.IntegrationTests/EnvironmentVariablesTests.cs
index d414a580b9..b63820cb74 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/EnvironmentVariablesTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/EnvironmentVariablesTests.cs
@@ -1,6 +1,5 @@
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Jobs;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/EventProcessorTests.cs b/tests/BenchmarkDotNet.IntegrationTests/EventProcessorTests.cs
index 08c570eee0..00364868fc 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/EventProcessorTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/EventProcessorTests.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Characteristics;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ExceptionDiagnoserTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ExceptionDiagnoserTests.cs
index 61850d54ed..766a049ce5 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ExceptionDiagnoserTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ExceptionDiagnoserTests.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Diagnosers;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ExceptionHandlingTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ExceptionHandlingTests.cs
index 4aa1215007..4c2ab6a442 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ExceptionHandlingTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ExceptionHandlingTests.cs
@@ -1,11 +1,10 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Diagnosers;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Loggers;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using JetBrains.Annotations;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ExporterIOTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ExporterIOTests.cs
index 2a758535e2..d70a3a2356 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ExporterIOTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ExporterIOTests.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Exporters;
using BenchmarkDotNet.Helpers;
@@ -7,7 +7,6 @@
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Tests.XUnit;
using System.Collections.Immutable;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ExtraAttributesForEntryMethodTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ExtraAttributesForEntryMethodTests.cs
index cdf6177346..4dc3be0b51 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ExtraAttributesForEntryMethodTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ExtraAttributesForEntryMethodTests.cs
@@ -1,6 +1,5 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Tests.XUnit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/FSharpTests.cs b/tests/BenchmarkDotNet.IntegrationTests/FSharpTests.cs
index 812ae3f73b..2499ca9e12 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/FSharpTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/FSharpTests.cs
@@ -1,4 +1,3 @@
-using Xunit.Abstractions;
using static FSharpBenchmarks;
namespace BenchmarkDotNet.IntegrationTests
diff --git a/tests/BenchmarkDotNet.IntegrationTests/FailingProcessSpawnTests.cs b/tests/BenchmarkDotNet.IntegrationTests/FailingProcessSpawnTests.cs
index 57fbbcca6b..dbd26546af 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/FailingProcessSpawnTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/FailingProcessSpawnTests.cs
@@ -1,8 +1,7 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Environments;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Portability;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/GcModeTests.cs b/tests/BenchmarkDotNet.IntegrationTests/GcModeTests.cs
index 97ff8e2968..ccd5f365fe 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/GcModeTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/GcModeTests.cs
@@ -1,8 +1,8 @@
-using System.Runtime;
-using Xunit.Abstractions;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Jobs;
+using System.Runtime;
+
#if NETFRAMEWORK
using BenchmarkDotNet.Environments;
#endif
diff --git a/tests/BenchmarkDotNet.IntegrationTests/GlobalSetupAttributeInvalidMethodTest.cs b/tests/BenchmarkDotNet.IntegrationTests/GlobalSetupAttributeInvalidMethodTest.cs
index 34616e715d..e0ebc4e38e 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/GlobalSetupAttributeInvalidMethodTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/GlobalSetupAttributeInvalidMethodTest.cs
@@ -1,5 +1,4 @@
-using BenchmarkDotNet.Attributes;
-using Xunit.Abstractions;
+using BenchmarkDotNet.Attributes;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/InProcess.EmitTests/NaiveRunnableEmitDiff.cs b/tests/BenchmarkDotNet.IntegrationTests/InProcess.EmitTests/NaiveRunnableEmitDiff.cs
index 4ac20d2c8d..df101375b9 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/InProcess.EmitTests/NaiveRunnableEmitDiff.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/InProcess.EmitTests/NaiveRunnableEmitDiff.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes.CompilerServices;
+using BenchmarkDotNet.Attributes.CompilerServices;
using BenchmarkDotNet.Loggers;
using Mono.Cecil;
using Mono.Cecil.Cil;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/InProcessDiagnoserTests.cs b/tests/BenchmarkDotNet.IntegrationTests/InProcessDiagnoserTests.cs
index 4b66eb6b12..41f407ebbc 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/InProcessDiagnoserTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/InProcessDiagnoserTests.cs
@@ -6,7 +6,6 @@
using BenchmarkDotNet.Tests.Loggers;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using BenchmarkDotNet.Toolchains.InProcess.NoEmit;
-using Xunit.Abstractions;
using RunMode = BenchmarkDotNet.Diagnosers.RunMode;
namespace BenchmarkDotNet.IntegrationTests;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/InProcessEmitTest.cs b/tests/BenchmarkDotNet.IntegrationTests/InProcessEmitTest.cs
index 8048687ad0..ea613ae0bb 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/InProcessEmitTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/InProcessEmitTest.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Engines;
@@ -12,7 +12,6 @@
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using BenchmarkDotNet.Toolchains.Roslyn;
using JetBrains.Annotations;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/InProcessTest.cs b/tests/BenchmarkDotNet.IntegrationTests/InProcessTest.cs
index 41e1605c6c..3b33f7745c 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/InProcessTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/InProcessTest.cs
@@ -16,8 +16,6 @@
using System.Linq.Expressions;
using System.Reflection;
using System.Runtime.CompilerServices;
-using Xunit.Abstractions;
-
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/JitOptimizationsTests.cs b/tests/BenchmarkDotNet.IntegrationTests/JitOptimizationsTests.cs
index 1b543918d5..735407181f 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/JitOptimizationsTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/JitOptimizationsTests.cs
@@ -1,6 +1,5 @@
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Validators;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/JitRuntimeValidationTest.cs b/tests/BenchmarkDotNet.IntegrationTests/JitRuntimeValidationTest.cs
index f0cef0001f..d893323a86 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/JitRuntimeValidationTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/JitRuntimeValidationTest.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Environments;
@@ -6,7 +6,6 @@
using BenchmarkDotNet.Portability;
using BenchmarkDotNet.Tests.Loggers;
using BenchmarkDotNet.Tests.XUnit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/LanguageVersionTests.cs b/tests/BenchmarkDotNet.IntegrationTests/LanguageVersionTests.cs
index 59b43ffe12..81c836969c 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/LanguageVersionTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/LanguageVersionTests.cs
@@ -1,5 +1,4 @@
-using BenchmarkDotNet.Attributes;
-using Xunit.Abstractions;
+using BenchmarkDotNet.Attributes;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/LargeAddressAwareTest.cs b/tests/BenchmarkDotNet.IntegrationTests/LargeAddressAwareTest.cs
index 5afb8d316d..a67018d097 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/LargeAddressAwareTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/LargeAddressAwareTest.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Environments;
@@ -7,7 +7,6 @@
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Tests.Loggers;
using BenchmarkDotNet.Tests.XUnit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/MemoryDiagnoserTests.cs b/tests/BenchmarkDotNet.IntegrationTests/MemoryDiagnoserTests.cs
old mode 100755
new mode 100644
index 732f1066bf..706f4d276f
--- a/tests/BenchmarkDotNet.IntegrationTests/MemoryDiagnoserTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/MemoryDiagnoserTests.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Detectors;
@@ -21,7 +21,6 @@
using BenchmarkDotNet.Toolchains.NativeAot;
using System.Reflection;
using System.Runtime.CompilerServices;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/MonoTests.cs b/tests/BenchmarkDotNet.IntegrationTests/MonoTests.cs
index 4970bed93e..9fd45f8d3c 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/MonoTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/MonoTests.cs
@@ -1,11 +1,10 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Environments;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Portability;
using BenchmarkDotNet.Tests.Loggers;
using BenchmarkDotNet.Tests.XUnit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/MultipleRuntimesTest.cs b/tests/BenchmarkDotNet.IntegrationTests/MultipleRuntimesTest.cs
index 0fc6c25c17..a6a6a002dc 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/MultipleRuntimesTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/MultipleRuntimesTest.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Environments;
@@ -9,7 +9,6 @@
using BenchmarkDotNet.Tests.Loggers;
using BenchmarkDotNet.Tests.XUnit;
using BenchmarkDotNet.Toolchains;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/NativeAotTests.cs b/tests/BenchmarkDotNet.IntegrationTests/NativeAotTests.cs
index 6c10af2044..98c5c4820e 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/NativeAotTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/NativeAotTests.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Detectors;
using BenchmarkDotNet.Environments;
@@ -8,7 +8,6 @@
using BenchmarkDotNet.Portability;
using BenchmarkDotNet.Tests.XUnit;
using BenchmarkDotNet.Toolchains.NativeAot;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ParamSourceTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ParamSourceTests.cs
index 459920ff43..02cd25d208 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ParamSourceTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ParamSourceTests.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Code;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Jobs;
@@ -6,7 +6,6 @@
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Toolchains;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ParamsTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ParamsTests.cs
index 99b8964ff4..5db376879d 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ParamsTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ParamsTests.cs
@@ -1,5 +1,4 @@
-using BenchmarkDotNet.Attributes;
-using Xunit.Abstractions;
+using BenchmarkDotNet.Attributes;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/PathTooLongTests.cs b/tests/BenchmarkDotNet.IntegrationTests/PathTooLongTests.cs
index 96969b56d1..bea5d32031 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/PathTooLongTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/PathTooLongTests.cs
@@ -1,6 +1,5 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Tests.XUnit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/PowerManagementApplierTests.cs b/tests/BenchmarkDotNet.IntegrationTests/PowerManagementApplierTests.cs
index 666f0b1309..aca93e1977 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/PowerManagementApplierTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/PowerManagementApplierTests.cs
@@ -4,7 +4,6 @@
using BenchmarkDotNet.Tests.Loggers;
using BenchmarkDotNet.Tests.XUnit;
using System.Globalization;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/PriorityTests.cs b/tests/BenchmarkDotNet.IntegrationTests/PriorityTests.cs
index 8ce7444615..093d39db6f 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/PriorityTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/PriorityTests.cs
@@ -1,5 +1,4 @@
-using BenchmarkDotNet.Attributes;
-using Xunit.Abstractions;
+using BenchmarkDotNet.Attributes;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ProcessPropertiesTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ProcessPropertiesTests.cs
index e2a3bd7437..5726236171 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ProcessPropertiesTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ProcessPropertiesTests.cs
@@ -5,7 +5,6 @@
using BenchmarkDotNet.Tests.Loggers;
using BenchmarkDotNet.Tests.XUnit;
using System.Diagnostics;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ProcessorArchitectureTest.cs b/tests/BenchmarkDotNet.IntegrationTests/ProcessorArchitectureTest.cs
index a460b2b249..8a5a07a801 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ProcessorArchitectureTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ProcessorArchitectureTest.cs
@@ -1,10 +1,9 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Environments;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Portability;
using BenchmarkDotNet.Tests.Loggers;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/Properties/AssemblyInfo.cs b/tests/BenchmarkDotNet.IntegrationTests/Properties/AssemblyInfo.cs
index d781c3ff05..b1e42e7c4c 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/Properties/AssemblyInfo.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
-using System.Runtime.InteropServices;
+using System.Runtime.InteropServices;
[assembly: Guid("74362bb1-9f64-4be5-b079-b4ac19dae5db")]
diff --git a/tests/BenchmarkDotNet.IntegrationTests/R2RTests.cs b/tests/BenchmarkDotNet.IntegrationTests/R2RTests.cs
index bda49acdd5..1bac90e0e1 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/R2RTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/R2RTests.cs
@@ -6,7 +6,6 @@
using BenchmarkDotNet.Tests.XUnit;
using BenchmarkDotNet.Toolchains.DotNetCli;
using BenchmarkDotNet.Toolchains.R2R;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ReferencesTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ReferencesTests.cs
index 491ceea4f6..3adec4f6cb 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ReferencesTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ReferencesTests.cs
@@ -1,5 +1,3 @@
-using Xunit.Abstractions;
-
namespace BenchmarkDotNet.IntegrationTests
{
public class ReferencesTests : BenchmarkTestExecutor
diff --git a/tests/BenchmarkDotNet.IntegrationTests/RoslynToolchainTest.cs b/tests/BenchmarkDotNet.IntegrationTests/RoslynToolchainTest.cs
index 0ce8a89033..9b8683ac25 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/RoslynToolchainTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/RoslynToolchainTest.cs
@@ -3,7 +3,6 @@
using BenchmarkDotNet.Tests.XUnit;
using BenchmarkDotNet.Toolchains.Roslyn;
using System.Globalization;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/RunAsyncTests.cs b/tests/BenchmarkDotNet.IntegrationTests/RunAsyncTests.cs
index 54a260491e..d2684a3352 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/RunAsyncTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/RunAsyncTests.cs
@@ -1,10 +1,9 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Engines;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Toolchains;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using BenchmarkDotNet.Toolchains.InProcess.NoEmit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/RunStrategyTests.cs b/tests/BenchmarkDotNet.IntegrationTests/RunStrategyTests.cs
index 1ee8323c64..7dda79deac 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/RunStrategyTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/RunStrategyTests.cs
@@ -1,10 +1,9 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Engines;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Tests.Loggers;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/SetupAndCleanupTests.cs b/tests/BenchmarkDotNet.IntegrationTests/SetupAndCleanupTests.cs
index f202c080aa..1c64b63ffd 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/SetupAndCleanupTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/SetupAndCleanupTests.cs
@@ -1,7 +1,6 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Engines;
using BenchmarkDotNet.Jobs;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/StandardErrorTests.cs b/tests/BenchmarkDotNet.IntegrationTests/StandardErrorTests.cs
index 91ce6dabe6..fbd8b2dca9 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/StandardErrorTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/StandardErrorTests.cs
@@ -1,6 +1,5 @@
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Tests.Loggers;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/StatResultExtenderTests.cs b/tests/BenchmarkDotNet.IntegrationTests/StatResultExtenderTests.cs
index 7517201fe5..5ceb3e30cb 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/StatResultExtenderTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/StatResultExtenderTests.cs
@@ -1,10 +1,9 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Tests.Loggers;
using Perfolizer.Horology;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/TailCallDiagnoserTests.cs b/tests/BenchmarkDotNet.IntegrationTests/TailCallDiagnoserTests.cs
index 7bcf755ecd..0bd846416a 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/TailCallDiagnoserTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/TailCallDiagnoserTests.cs
@@ -12,7 +12,6 @@
using System.Collections.Generic;
using System.Linq;
using Xunit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ThreadingDiagnoserTests.cs b/tests/BenchmarkDotNet.IntegrationTests/ThreadingDiagnoserTests.cs
index 920d089b94..066ec3399f 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ThreadingDiagnoserTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ThreadingDiagnoserTests.cs
@@ -18,7 +18,6 @@
using BenchmarkDotNet.IntegrationTests.Xunit;
using BenchmarkDotNet.Portability;
using Xunit;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ToolchainTest.cs b/tests/BenchmarkDotNet.IntegrationTests/ToolchainTest.cs
index 67788c378f..ec10b6ba8b 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ToolchainTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ToolchainTest.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Loggers;
@@ -7,7 +7,6 @@
using BenchmarkDotNet.Toolchains;
using BenchmarkDotNet.Toolchains.Parameters;
using BenchmarkDotNet.Toolchains.Results;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ValidatorsTest.cs b/tests/BenchmarkDotNet.IntegrationTests/ValidatorsTest.cs
index d591bdbed8..3aa3083d55 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ValidatorsTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ValidatorsTest.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Exporters;
using BenchmarkDotNet.Exporters.Csv;
@@ -7,7 +7,6 @@
using BenchmarkDotNet.Exporters.Xml;
using BenchmarkDotNet.Loggers;
using BenchmarkDotNet.Validators;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/ValuesReturnedByBenchmarkTest.cs b/tests/BenchmarkDotNet.IntegrationTests/ValuesReturnedByBenchmarkTest.cs
index 2659d92b44..6c35a91748 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/ValuesReturnedByBenchmarkTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/ValuesReturnedByBenchmarkTest.cs
@@ -1,11 +1,10 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Environments;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Toolchains;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
using System.Collections.Immutable;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
diff --git a/tests/BenchmarkDotNet.IntegrationTests/WakeLockTests.cs b/tests/BenchmarkDotNet.IntegrationTests/WakeLockTests.cs
index d2d5ce6cf6..f9cc6fef84 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/WakeLockTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/WakeLockTests.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Helpers;
using BenchmarkDotNet.Running;
@@ -6,7 +6,6 @@
using BenchmarkDotNet.Tests.XUnit;
using System.Diagnostics;
using System.Runtime.Versioning;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests;
diff --git a/tests/BenchmarkDotNet.IntegrationTests/WasmTests.cs b/tests/BenchmarkDotNet.IntegrationTests/WasmTests.cs
index a5d1798bfb..3cce2158d2 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/WasmTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/WasmTests.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Environments;
using BenchmarkDotNet.IntegrationTests.Diagnosers;
@@ -9,7 +9,6 @@
using BenchmarkDotNet.Toolchains.DotNetCli;
using BenchmarkDotNet.Toolchains.MonoAotLLVM;
using BenchmarkDotNet.Toolchains.MonoWasm;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.IntegrationTests
{
@@ -99,4 +98,4 @@ public void Check()
}
}
}
-}
+}
\ No newline at end of file
diff --git a/tests/BenchmarkDotNet.Tests/Analysers/OutliersAnalyserTests.cs b/tests/BenchmarkDotNet.Tests/Analysers/OutliersAnalyserTests.cs
index 7d76b49dc4..511297f45e 100644
--- a/tests/BenchmarkDotNet.Tests/Analysers/OutliersAnalyserTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Analysers/OutliersAnalyserTests.cs
@@ -2,7 +2,6 @@
using BenchmarkDotNet.Helpers;
using BenchmarkDotNet.Mathematics;
using Perfolizer.Horology;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Analysers
{
diff --git a/tests/BenchmarkDotNet.Tests/Columns/RatioColumnTest.cs b/tests/BenchmarkDotNet.Tests/Columns/RatioColumnTest.cs
index c9aaac1c52..a02960ff73 100644
--- a/tests/BenchmarkDotNet.Tests/Columns/RatioColumnTest.cs
+++ b/tests/BenchmarkDotNet.Tests/Columns/RatioColumnTest.cs
@@ -1,7 +1,6 @@
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Reports;
using BenchmarkDotNet.Tests.Mocks;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Columns
{
diff --git a/tests/BenchmarkDotNet.Tests/ConfigParserTests.cs b/tests/BenchmarkDotNet.Tests/ConfigParserTests.cs
index a6998db18b..6460648c2d 100644
--- a/tests/BenchmarkDotNet.Tests/ConfigParserTests.cs
+++ b/tests/BenchmarkDotNet.Tests/ConfigParserTests.cs
@@ -1,4 +1,4 @@
-using AwesomeAssertions;
+using AwesomeAssertions;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.ConsoleArguments;
@@ -21,7 +21,6 @@
using BenchmarkDotNet.Toolchains.NativeAot;
using Perfolizer.Horology;
using System.Reflection;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests
{
diff --git a/tests/BenchmarkDotNet.Tests/Configs/CategoriesTests.cs b/tests/BenchmarkDotNet.Tests/Configs/CategoriesTests.cs
index 0f06425276..485b0e6942 100644
--- a/tests/BenchmarkDotNet.Tests/Configs/CategoriesTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Configs/CategoriesTests.cs
@@ -2,7 +2,6 @@
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Running;
using System.Reflection;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Configs
{
diff --git a/tests/BenchmarkDotNet.Tests/Detectors/Cpu/LinuxCpuInfoParserTests.cs b/tests/BenchmarkDotNet.Tests/Detectors/Cpu/LinuxCpuInfoParserTests.cs
index eacb726fd6..0d919f3841 100644
--- a/tests/BenchmarkDotNet.Tests/Detectors/Cpu/LinuxCpuInfoParserTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Detectors/Cpu/LinuxCpuInfoParserTests.cs
@@ -1,6 +1,5 @@
using BenchmarkDotNet.Detectors.Cpu.Linux;
using Perfolizer.Models;
-using Xunit.Abstractions;
using static Perfolizer.Horology.Frequency;
namespace BenchmarkDotNet.Tests.Detectors.Cpu;
@@ -139,7 +138,7 @@ public void AmdRyzen9_7950X()
CPU max MHz: 5881.0000
CPU min MHz: 400.0000
BogoMIPS: 8983.23
- Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good amd_lbr_v2 nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl
+ Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good amd_lbr_v2 nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl
pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb
bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba perfmon_v2 ibrs ibpb stibp ibrs_enhanced vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512
cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local user_shstk avx512_bf16 clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean
diff --git a/tests/BenchmarkDotNet.Tests/Detectors/Cpu/PowershellWmiCpuInfoParserTests.cs b/tests/BenchmarkDotNet.Tests/Detectors/Cpu/PowershellWmiCpuInfoParserTests.cs
index fd9d1cc5cf..cb7313ffc9 100644
--- a/tests/BenchmarkDotNet.Tests/Detectors/Cpu/PowershellWmiCpuInfoParserTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Detectors/Cpu/PowershellWmiCpuInfoParserTests.cs
@@ -1,6 +1,5 @@
using BenchmarkDotNet.Detectors.Cpu.Windows;
using Perfolizer.Models;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Detectors.Cpu;
@@ -36,13 +35,13 @@ public void RealTwoProcessorEightCoresTest()
Name:Intel(R) Xeon(R) CPU E5-2630 v3
NumberOfCores:8
NumberOfLogicalProcessors:16
-
-
+
+
MaxClockSpeed:2400
Name:Intel(R) Xeon(R) CPU E5-2630 v3
NumberOfCores:8
NumberOfLogicalProcessors:16
-
+
""";
CpuInfo? actual = PowershellWmiCpuInfoParser.Parse(cpuInfo);
diff --git a/tests/BenchmarkDotNet.Tests/Detectors/Cpu/SysctlCpuInfoParserTests.cs b/tests/BenchmarkDotNet.Tests/Detectors/Cpu/SysctlCpuInfoParserTests.cs
index 2b2a4b32af..5d3795bbfd 100644
--- a/tests/BenchmarkDotNet.Tests/Detectors/Cpu/SysctlCpuInfoParserTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Detectors/Cpu/SysctlCpuInfoParserTests.cs
@@ -1,6 +1,5 @@
using BenchmarkDotNet.Detectors.Cpu.macOS;
using Perfolizer.Models;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Detectors.Cpu;
diff --git a/tests/BenchmarkDotNet.Tests/Detectors/Cpu/TestHelper.cs b/tests/BenchmarkDotNet.Tests/Detectors/Cpu/TestHelper.cs
index 229a996641..7d56657417 100644
--- a/tests/BenchmarkDotNet.Tests/Detectors/Cpu/TestHelper.cs
+++ b/tests/BenchmarkDotNet.Tests/Detectors/Cpu/TestHelper.cs
@@ -1,8 +1,7 @@
-using JetBrains.Annotations;
+using JetBrains.Annotations;
using Perfolizer.Helpers;
using Perfolizer.Models;
using System.Reflection;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Detectors.Cpu;
diff --git a/tests/BenchmarkDotNet.Tests/Detectors/Cpu/WmicCpuInfoParserTests.cs b/tests/BenchmarkDotNet.Tests/Detectors/Cpu/WmicCpuInfoParserTests.cs
index 5a053da2cd..49f6832e8c 100644
--- a/tests/BenchmarkDotNet.Tests/Detectors/Cpu/WmicCpuInfoParserTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Detectors/Cpu/WmicCpuInfoParserTests.cs
@@ -1,6 +1,5 @@
using BenchmarkDotNet.Detectors.Cpu.Windows;
using Perfolizer.Models;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Detectors.Cpu;
diff --git a/tests/BenchmarkDotNet.Tests/Engine/EngineActualStageTests.cs b/tests/BenchmarkDotNet.Tests/Engine/EngineActualStageTests.cs
index bba6098896..f6289bdabe 100644
--- a/tests/BenchmarkDotNet.Tests/Engine/EngineActualStageTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Engine/EngineActualStageTests.cs
@@ -2,7 +2,6 @@
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Tests.Mocks;
using Perfolizer.Horology;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Engine
{
diff --git a/tests/BenchmarkDotNet.Tests/Engine/EnginePilotStageTests.cs b/tests/BenchmarkDotNet.Tests/Engine/EnginePilotStageTests.cs
index f5a200a5b5..09bbc4578a 100644
--- a/tests/BenchmarkDotNet.Tests/Engine/EnginePilotStageTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Engine/EnginePilotStageTests.cs
@@ -2,7 +2,6 @@
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Tests.Mocks;
using Perfolizer.Horology;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Engine
{
diff --git a/tests/BenchmarkDotNet.Tests/Engine/EngineWarmupStageTests.cs b/tests/BenchmarkDotNet.Tests/Engine/EngineWarmupStageTests.cs
index 4e07cebe4c..445811e5bf 100644
--- a/tests/BenchmarkDotNet.Tests/Engine/EngineWarmupStageTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Engine/EngineWarmupStageTests.cs
@@ -5,7 +5,6 @@
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Tests.Mocks;
using Perfolizer.Horology;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Engine
{
diff --git a/tests/BenchmarkDotNet.Tests/Loggers/OutputLogger.cs b/tests/BenchmarkDotNet.Tests/Loggers/OutputLogger.cs
index dd1fb48a08..e9020d6e24 100644
--- a/tests/BenchmarkDotNet.Tests/Loggers/OutputLogger.cs
+++ b/tests/BenchmarkDotNet.Tests/Loggers/OutputLogger.cs
@@ -1,6 +1,6 @@
-using BenchmarkDotNet.Loggers;
+using BenchmarkDotNet.Loggers;
using System.Runtime.CompilerServices;
-using Xunit.Abstractions;
+using Xunit;
namespace BenchmarkDotNet.Tests.Loggers
{
diff --git a/tests/BenchmarkDotNet.Tests/Mathematics/StatisticsTests.cs b/tests/BenchmarkDotNet.Tests/Mathematics/StatisticsTests.cs
index 65b971d3ab..5824f75b7c 100644
--- a/tests/BenchmarkDotNet.Tests/Mathematics/StatisticsTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Mathematics/StatisticsTests.cs
@@ -2,7 +2,6 @@
using BenchmarkDotNet.Tests.Common;
using JetBrains.Annotations;
using Pragmastat.Exceptions;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Mathematics;
diff --git a/tests/BenchmarkDotNet.Tests/Mocks/MockEngine.cs b/tests/BenchmarkDotNet.Tests/Mocks/MockEngine.cs
index 4098ccd79f..59dcb72633 100644
--- a/tests/BenchmarkDotNet.Tests/Mocks/MockEngine.cs
+++ b/tests/BenchmarkDotNet.Tests/Mocks/MockEngine.cs
@@ -1,10 +1,9 @@
-using BenchmarkDotNet.Characteristics;
+using BenchmarkDotNet.Characteristics;
using BenchmarkDotNet.Engines;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Reports;
using BenchmarkDotNet.Running;
using Perfolizer.Horology;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Mocks
{
diff --git a/tests/BenchmarkDotNet.Tests/Mocks/MockRunner.cs b/tests/BenchmarkDotNet.Tests/Mocks/MockRunner.cs
index 9353bfe005..b5d9788ef2 100644
--- a/tests/BenchmarkDotNet.Tests/Mocks/MockRunner.cs
+++ b/tests/BenchmarkDotNet.Tests/Mocks/MockRunner.cs
@@ -7,7 +7,6 @@
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Tests.Helpers;
using BenchmarkDotNet.Tests.Mocks.Toolchain;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Mocks
{
diff --git a/tests/BenchmarkDotNet.Tests/Perfonar/PerfonarTests.cs b/tests/BenchmarkDotNet.Tests/Perfonar/PerfonarTests.cs
index b78d29fd8c..81d35e488d 100644
--- a/tests/BenchmarkDotNet.Tests/Perfonar/PerfonarTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Perfonar/PerfonarTests.cs
@@ -9,7 +9,6 @@
using Perfolizer.Models;
using Perfolizer.Perfonar.Base;
using Perfolizer.Perfonar.Tables;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Perfonar;
diff --git a/tests/BenchmarkDotNet.Tests/Reports/ColumnTests.cs b/tests/BenchmarkDotNet.Tests/Reports/ColumnTests.cs
index b95df5322d..29c80c4669 100644
--- a/tests/BenchmarkDotNet.Tests/Reports/ColumnTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Reports/ColumnTests.cs
@@ -5,7 +5,6 @@
using BenchmarkDotNet.Reports;
using BenchmarkDotNet.Tests.Helpers;
using BenchmarkDotNet.Tests.Mocks;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Reports
{
diff --git a/tests/BenchmarkDotNet.Tests/Reports/DefaultColumnProvidersTests.cs b/tests/BenchmarkDotNet.Tests/Reports/DefaultColumnProvidersTests.cs
index 454dc99960..3b516fe4f6 100644
--- a/tests/BenchmarkDotNet.Tests/Reports/DefaultColumnProvidersTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Reports/DefaultColumnProvidersTests.cs
@@ -6,7 +6,6 @@
using BenchmarkDotNet.Reports;
using BenchmarkDotNet.Tests.Helpers;
using BenchmarkDotNet.Tests.Mocks;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Reports
{
diff --git a/tests/BenchmarkDotNet.Tests/Reports/DisplayPrecisionManagerTests.cs b/tests/BenchmarkDotNet.Tests/Reports/DisplayPrecisionManagerTests.cs
index f70f8c075d..20bb87fa88 100644
--- a/tests/BenchmarkDotNet.Tests/Reports/DisplayPrecisionManagerTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Reports/DisplayPrecisionManagerTests.cs
@@ -1,6 +1,5 @@
using BenchmarkDotNet.Reports;
using JetBrains.Annotations;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Reports
{
diff --git a/tests/BenchmarkDotNet.Tests/Reports/RatioPrecisionTests.cs b/tests/BenchmarkDotNet.Tests/Reports/RatioPrecisionTests.cs
index 4beeedf5cc..01a346aeb4 100644
--- a/tests/BenchmarkDotNet.Tests/Reports/RatioPrecisionTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Reports/RatioPrecisionTests.cs
@@ -1,4 +1,4 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Engines;
@@ -11,7 +11,6 @@
using BenchmarkDotNet.Toolchains;
using BenchmarkDotNet.Toolchains.Results;
using System.Collections.Immutable;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Reports
{
diff --git a/tests/BenchmarkDotNet.Tests/Reports/RatioStyleTests.cs b/tests/BenchmarkDotNet.Tests/Reports/RatioStyleTests.cs
index f47df0244d..2ae4cd9c52 100644
--- a/tests/BenchmarkDotNet.Tests/Reports/RatioStyleTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Reports/RatioStyleTests.cs
@@ -12,7 +12,6 @@
using BenchmarkDotNet.Toolchains.Results;
using JetBrains.Annotations;
using System.Collections.Immutable;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Reports
{
diff --git a/tests/BenchmarkDotNet.Tests/Reports/SummaryTableTests.cs b/tests/BenchmarkDotNet.Tests/Reports/SummaryTableTests.cs
index fb96014ea6..a8d98cf547 100644
--- a/tests/BenchmarkDotNet.Tests/Reports/SummaryTableTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Reports/SummaryTableTests.cs
@@ -8,7 +8,6 @@
using BenchmarkDotNet.Reports;
using BenchmarkDotNet.Tests.Helpers;
using BenchmarkDotNet.Tests.Mocks;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests.Reports
{
diff --git a/tests/BenchmarkDotNet.Tests/SourceCodeHelperTests.cs b/tests/BenchmarkDotNet.Tests/SourceCodeHelperTests.cs
index a4509dc722..0770a34f93 100644
--- a/tests/BenchmarkDotNet.Tests/SourceCodeHelperTests.cs
+++ b/tests/BenchmarkDotNet.Tests/SourceCodeHelperTests.cs
@@ -1,6 +1,5 @@
-using BenchmarkDotNet.Helpers;
+using BenchmarkDotNet.Helpers;
using System.Reflection;
-using Xunit.Abstractions;
namespace BenchmarkDotNet.Tests
{
diff --git a/tests/BenchmarkDotNet.Tests/TypeFilterTests.cs b/tests/BenchmarkDotNet.Tests/TypeFilterTests.cs
index 4407c21f17..04bb6c4778 100644
--- a/tests/BenchmarkDotNet.Tests/TypeFilterTests.cs
+++ b/tests/BenchmarkDotNet.Tests/TypeFilterTests.cs
@@ -5,7 +5,6 @@
using BenchmarkDotNet.Tests;
using BenchmarkDotNet.Tests.Loggers;
using JetBrains.Annotations;
-using Xunit.Abstractions;
using TypeFilter = BenchmarkDotNet.Running.TypeFilter;
namespace BenchmarkDotNet.Tests
diff --git a/tests/BenchmarkDotNet.Tests/Validators/ParamsValidatorTests.cs b/tests/BenchmarkDotNet.Tests/Validators/ParamsValidatorTests.cs
index 6b3bbac76d..f61d881f9a 100644
--- a/tests/BenchmarkDotNet.Tests/Validators/ParamsValidatorTests.cs
+++ b/tests/BenchmarkDotNet.Tests/Validators/ParamsValidatorTests.cs
@@ -2,7 +2,7 @@
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Validators;
using System.Diagnostics.CodeAnalysis;
-using Xunit.Abstractions;
+
#pragma warning disable CS0414
namespace BenchmarkDotNet.Tests.Validators
diff --git a/tests/BenchmarkDotNet.Tests/XUnit/InlineDataEnvSpecific.cs b/tests/BenchmarkDotNet.Tests/XUnit/InlineDataEnvSpecific.cs
index 9c9bbf70e1..293cd2ecb5 100644
--- a/tests/BenchmarkDotNet.Tests/XUnit/InlineDataEnvSpecific.cs
+++ b/tests/BenchmarkDotNet.Tests/XUnit/InlineDataEnvSpecific.cs
@@ -1,5 +1,6 @@
-using System.Reflection;
+using System.Reflection;
using Xunit.Sdk;
+using Xunit.v3;
namespace BenchmarkDotNet.Tests.XUnit;
diff --git a/tests/BenchmarkDotNet.Tests/XUnit/InlineDataEnvSpecificDiscoverer.cs b/tests/BenchmarkDotNet.Tests/XUnit/InlineDataEnvSpecificDiscoverer.cs
index c65c2d2a68..a9a73f20a3 100644
--- a/tests/BenchmarkDotNet.Tests/XUnit/InlineDataEnvSpecificDiscoverer.cs
+++ b/tests/BenchmarkDotNet.Tests/XUnit/InlineDataEnvSpecificDiscoverer.cs
@@ -1,4 +1,4 @@
-using Xunit.Abstractions;
+using Xunit;
using Xunit.Sdk;
namespace BenchmarkDotNet.Tests.XUnit;
From 0b8bfc9c4610bebd3313ed27a69e60db259b98e8 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Sat, 7 Mar 2026 16:58:34 +0900
Subject: [PATCH 04/25] chore: add using Xunit.Sdk statement for
XunitSerializable
---
.../Fixtures/Serializable/ValueTupleDouble.cs | 4 +++-
.../Fixtures/Serializable/ValueTupleTriple.cs | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleDouble.cs b/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleDouble.cs
index d05c316bdd..1685665486 100644
--- a/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleDouble.cs
+++ b/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleDouble.cs
@@ -1,4 +1,6 @@
-namespace BenchmarkDotNet.Analyzers.Tests.Fixtures;
+using Xunit.Sdk;
+
+namespace BenchmarkDotNet.Analyzers.Tests.Fixtures;
public class ValueTupleDouble : IXunitSerializable
{
diff --git a/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleTriple.cs b/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleTriple.cs
index a2ab074a59..66c6596386 100644
--- a/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleTriple.cs
+++ b/tests/BenchmarkDotNet.Analyzers.Tests/Fixtures/Serializable/ValueTupleTriple.cs
@@ -1,4 +1,6 @@
-namespace BenchmarkDotNet.Analyzers.Tests.Fixtures;
+using Xunit.Sdk;
+
+namespace BenchmarkDotNet.Analyzers.Tests.Fixtures;
public class ValueTupleTriple : IXunitSerializable
{
From 67c5a105e8b15a2b47508e128612065cce9ed8bf Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Sat, 7 Mar 2026 16:59:12 +0900
Subject: [PATCH 05/25] chore: fix xUnit3003 analyzer errors
---
tests/BenchmarkDotNet.Tests/XUnit/FactEnvSpecific.cs | 6 ++++++
tests/BenchmarkDotNet.Tests/XUnit/TheoryEnvSpecific.cs | 6 ++++++
2 files changed, 12 insertions(+)
diff --git a/tests/BenchmarkDotNet.Tests/XUnit/FactEnvSpecific.cs b/tests/BenchmarkDotNet.Tests/XUnit/FactEnvSpecific.cs
index 5fa7ffab52..a0e02d4c07 100644
--- a/tests/BenchmarkDotNet.Tests/XUnit/FactEnvSpecific.cs
+++ b/tests/BenchmarkDotNet.Tests/XUnit/FactEnvSpecific.cs
@@ -1,3 +1,4 @@
+using System.Runtime.CompilerServices;
using Xunit;
namespace BenchmarkDotNet.Tests.XUnit;
@@ -15,4 +16,9 @@ public FactEnvSpecificAttribute(string reason, params EnvRequirement[] requireme
if (skip != null)
Skip = $"{skip} ({reason})";
}
+
+ public FactEnvSpecificAttribute([CallerFilePath] string? sourceFilePath = null, [CallerLineNumber] int sourceLineNumber = -1)
+ : base(sourceFilePath, sourceLineNumber)
+ {
+ }
}
\ No newline at end of file
diff --git a/tests/BenchmarkDotNet.Tests/XUnit/TheoryEnvSpecific.cs b/tests/BenchmarkDotNet.Tests/XUnit/TheoryEnvSpecific.cs
index 1d0681036f..92f039f030 100644
--- a/tests/BenchmarkDotNet.Tests/XUnit/TheoryEnvSpecific.cs
+++ b/tests/BenchmarkDotNet.Tests/XUnit/TheoryEnvSpecific.cs
@@ -1,3 +1,4 @@
+using System.Runtime.CompilerServices;
using Xunit;
namespace BenchmarkDotNet.Tests.XUnit;
@@ -15,4 +16,9 @@ public TheoryEnvSpecificAttribute(string reason, params EnvRequirement[] require
if (skip != null)
Skip = $"{skip} ({reason})";
}
+
+ public TheoryEnvSpecificAttribute([CallerFilePath] string? sourceFilePath = null, [CallerLineNumber] int sourceLineNumber = -1)
+ : base(sourceFilePath, sourceLineNumber)
+ {
+ }
}
\ No newline at end of file
From 1b008ac55577c12f2bbcc346530a3838cf86a937 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Sat, 7 Mar 2026 17:45:03 +0900
Subject: [PATCH 06/25] chore: remove unittests project dependency from
integration tests project
---
.../BenchmarkDotNet.IntegrationTests.csproj | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
index 8bce316bf5..0e83c1f2a0 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
@@ -33,9 +33,21 @@
-
+
+
+
+
+
+
+
+
+
+
+
From daee8f181ceda5d7fae565244058c290ce40a493 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Sat, 7 Mar 2026 17:50:12 +0900
Subject: [PATCH 07/25] chore: modify theorydata related incompatible codes
---
.../ArgumentsAttributeAnalyzerTests.cs | 2 +-
...GeneralParameterAttributesAnalyzerTests.cs | 45 +++++++++----------
.../ParamsAllValuesAttributeAnalyzerTests.cs | 12 ++---
.../ParamsAttributeAnalyzerTests.cs | 28 +++++-------
.../BenchmarkRunner/RunAnalyzerTests.cs | 2 +-
.../Extensions/TheoryDataExtensions.cs | 2 +-
.../CallerThreadTests.cs | 4 +-
.../EngineTests.cs | 4 +-
.../RunAsyncTests.cs | 4 +-
9 files changed, 43 insertions(+), 60 deletions(-)
diff --git a/tests/BenchmarkDotNet.Analyzers.Tests/AnalyzerTests/Attributes/ArgumentsAttributeAnalyzerTests.cs b/tests/BenchmarkDotNet.Analyzers.Tests/AnalyzerTests/Attributes/ArgumentsAttributeAnalyzerTests.cs
index d753f56331..cb81e1b05c 100644
--- a/tests/BenchmarkDotNet.Analyzers.Tests/AnalyzerTests/Attributes/ArgumentsAttributeAnalyzerTests.cs
+++ b/tests/BenchmarkDotNet.Analyzers.Tests/AnalyzerTests/Attributes/ArgumentsAttributeAnalyzerTests.cs
@@ -1110,7 +1110,7 @@ public void BenchmarkMethod({{integerValueAndType.Value2}} a)
}
public static IEnumerable DummyAttributeUsage
- => DummyAttributeUsageTheoryData;
+ => DummyAttributeUsageTheoryData.Select(x => x.Data);
public static TheoryData EmptyArgumentsAttributeUsagesWithMismatchingValueCount()
{
diff --git a/tests/BenchmarkDotNet.Analyzers.Tests/AnalyzerTests/Attributes/GeneralParameterAttributesAnalyzerTests.cs b/tests/BenchmarkDotNet.Analyzers.Tests/AnalyzerTests/Attributes/GeneralParameterAttributesAnalyzerTests.cs
index 148a134815..40653056cb 100644
--- a/tests/BenchmarkDotNet.Analyzers.Tests/AnalyzerTests/Attributes/GeneralParameterAttributesAnalyzerTests.cs
+++ b/tests/BenchmarkDotNet.Analyzers.Tests/AnalyzerTests/Attributes/GeneralParameterAttributesAnalyzerTests.cs
@@ -5,6 +5,7 @@
using Xunit;
namespace BenchmarkDotNet.Analyzers.Tests.AnalyzerTests.Attributes;
+
public class GeneralParameterAttributesAnalyzerTests
{
public class MutuallyExclusiveOnField : AnalyzerTestFixture
@@ -158,7 +159,7 @@ public class BenchmarkClass
}
public static TheoryData UniqueParameterAttributeUsages
- => [.. UniqueParameterAttributesTheoryData.Select(tdr => (tdr[1] as string)!)];
+ => [.. UniqueParameterAttributesTheoryData.Select(tdr => tdr.Data.Item2)];
public static TheoryData DuplicateSameParameterAttributeUsages
=> DuplicateSameAttributeUsagesTheoryData;
@@ -320,7 +321,7 @@ public class BenchmarkClass
await RunAsync();
}
- public static TheoryData UniqueParameterAttributeUsages => [.. UniqueParameterAttributesTheoryData.Select(tdr => (tdr[1] as string)!)];
+ public static TheoryData UniqueParameterAttributeUsages => [.. UniqueParameterAttributesTheoryData.Select(tdr => tdr.Data.Item2)];
public static TheoryData DuplicateSameParameterAttributeUsages => DuplicateSameAttributeUsagesTheoryData;
@@ -479,21 +480,19 @@ public static IEnumerable
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
+
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/MultipleFrameworksTest.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/MultipleFrameworksTest.cs
index 72e16f13af..d94a580e6c 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/MultipleFrameworksTest.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/MultipleFrameworksTest.cs
@@ -1,9 +1,8 @@
-using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Extensions;
using BenchmarkDotNet.Jobs;
-using Xunit;
-using Xunit.Abstractions;
+using BenchmarkDotNet.Tests;
namespace BenchmarkDotNet.IntegrationTests.ManualRunning
{
@@ -11,15 +10,11 @@ public class MultipleFrameworksTest : BenchmarkTestExecutor
{
private const string TfmEnvVarName = "TfmEnvVarName";
- public MultipleFrameworksTest(ITestOutputHelper output) : base(output)
- {
- }
-
- [Theory]
- [InlineData(RuntimeMoniker.Net461)]
- [InlineData(RuntimeMoniker.Net48)]
- [InlineData(RuntimeMoniker.NetCoreApp20)]
- [InlineData(RuntimeMoniker.Net80)]
+ [Test]
+ [TUnit.Core.Arguments(RuntimeMoniker.Net462)]
+ [TUnit.Core.Arguments(RuntimeMoniker.Net48)]
+ [TUnit.Core.Arguments(RuntimeMoniker.Net80)]
+ [TUnit.Core.Arguments(RuntimeMoniker.Net10_0)]
public void EachFrameworkIsRebuilt(RuntimeMoniker runtime)
{
var config = ManualConfig.CreateEmpty().AddJob(Job.Dry.WithRuntime(runtime.GetRuntime()).WithEnvironmentVariable(TfmEnvVarName, runtime.ToString()));
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Properties/AssemblyInfo.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..84dd4b071d
--- /dev/null
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Properties/AssemblyInfo.cs
@@ -0,0 +1,5 @@
+using System.Runtime.InteropServices;
+
+[assembly: Guid("f8203913-4b95-4fd9-b640-08d58dd563e2")]
+
+[assembly: NotInParallel]
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/BenchmarkTestExecutor.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/BenchmarkTestExecutor.cs
new file mode 100644
index 0000000000..e53d80565c
--- /dev/null
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/BenchmarkTestExecutor.cs
@@ -0,0 +1,92 @@
+using AwesomeAssertions;
+using BenchmarkDotNet.Columns;
+using BenchmarkDotNet.Configs;
+using BenchmarkDotNet.Jobs;
+using BenchmarkDotNet.Loggers;
+using BenchmarkDotNet.Reports;
+using BenchmarkDotNet.Running;
+using TUnit.Core.Interfaces;
+
+namespace BenchmarkDotNet.Tests;
+
+public class BenchmarkTestExecutor
+{
+ protected ITestOutput Output => TestContext.Current!.Output!;
+
+ ///
+ /// Runs Benchmarks with the most simple config (SingleRunFastConfig)
+ /// combined with any benchmark config applied to TBenchmark (via an attribute)
+ /// By default will verify if every benchmark was successfully executed
+ ///
+ /// type that defines Benchmarks
+ /// Optional custom config to be used instead of the default
+ /// Optional: disable validation (default = true/enabled)
+ /// The summary from the benchmark run
+ public Reports.Summary CanExecute(IConfig? config = null, bool fullValidation = true)
+ {
+ return CanExecute(typeof(TBenchmark), config, fullValidation);
+ }
+
+ ///
+ /// Runs Benchmarks with the most simple config (SingleRunFastConfig)
+ /// combined with any benchmark config applied to Type (via an attribute)
+ /// By default will verify if every benchmark was successfully executed
+ ///
+ /// type that defines Benchmarks
+ /// Optional custom config to be used instead of the default
+ /// Optional: disable validation (default = true/enabled)
+ /// The summary from the benchmark run
+ public Reports.Summary CanExecute(Type type, IConfig? config = null, bool fullValidation = true)
+ {
+ // Add logging, so the Benchmark execution is in the TestRunner output (makes Debugging easier)
+ if (config == null)
+ config = CreateSimpleConfig();
+
+ if (!config.GetLoggers().OfType().Any())
+ config = config.AddLogger(Output != null ? new OutputLogger(Output) : ConsoleLogger.Default);
+ if (!config.GetLoggers().OfType().Any())
+ config = config.AddLogger(ConsoleLogger.Default);
+
+ if (!config.GetColumnProviders().Any())
+ config = config.AddColumnProvider(DefaultColumnProviders.Instance);
+
+ // Make sure we ALWAYS combine the Config (default or passed in) with any Config applied to the Type/Class
+ var summary = BenchmarkRunner.Run(type, config);
+
+ if (fullValidation)
+ {
+ summary.HasCriticalValidationErrors.Should().BeFalse("The \"Summary\" should have NOT \"HasCriticalValidationErrors\"");
+ summary.Reports.Any().Should().BeTrue("The \"Summary\" should contain at least one \"BenchmarkReport\" in the \"Reports\" collection");
+
+ summary.CheckPlatformLinkerIssues();
+
+ summary.Reports.Should().OnlyContain(r => r.BuildResult.IsBuildSuccess,
+ "The following benchmarks have failed to build: " +
+ string.Join(", ", summary.Reports.Where(r => !r.BuildResult.IsBuildSuccess).Select(r => r.BenchmarkCase.DisplayInfo)));
+
+ summary.Reports.Should().OnlyContain(r => r.ExecuteResults != null,
+ "The following benchmarks have failed to execute: " +
+ string.Join(", ", summary.Reports.Where(r => r.ExecuteResults == null || r.ExecuteResults.Any(er => !er.IsSuccess)).Select(r => r.BenchmarkCase.DisplayInfo))); ;
+
+ summary.Reports.SelectMany(x => x.ExecuteResults).Should().OnlyContain(r => r.IsSuccess,
+ "All reports should have succeeded to execute");
+ }
+
+ return summary;
+ }
+
+ protected IConfig CreateSimpleConfig(OutputLogger? logger = null, Job? job = null)
+ {
+ var baseConfig = job == null ? (IConfig)new SingleRunFastConfig() : new SingleJobConfig(job);
+ return baseConfig
+ .AddLogger(logger ?? (Output != null ? new OutputLogger(Output) : ConsoleLogger.Default))
+ .AddColumnProvider(DefaultColumnProviders.Instance)
+ .AddAnalyser(DefaultConfig.Instance.GetAnalysers().ToArray());
+ }
+
+ protected static IReadOnlyList GetSingleStandardOutput(Summary summary)
+ => summary.Reports.Single().ExecuteResults.Single().StandardOutput;
+
+ protected static IReadOnlyList GetCombinedStandardOutput(Summary summary)
+ => summary.Reports.SelectMany(r => r.ExecuteResults).SelectMany(e => e.StandardOutput).ToArray();
+}
\ No newline at end of file
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/Logger/OutputLogger.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/Logger/OutputLogger.cs
new file mode 100644
index 0000000000..5350d2d9f9
--- /dev/null
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/Logger/OutputLogger.cs
@@ -0,0 +1,39 @@
+using BenchmarkDotNet.Loggers;
+using System.Runtime.CompilerServices;
+using TUnit.Core.Interfaces;
+
+namespace BenchmarkDotNet.Tests;
+
+public class OutputLogger : AccumulationLogger
+{
+ private readonly ITestOutput Output;
+ private string currentLine = "";
+
+ public OutputLogger(ITestOutput output)
+ {
+ Output = output ?? throw new ArgumentNullException(nameof(Output));
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public override void Write(LogKind logKind, string text)
+ {
+ currentLine += text;
+ base.Write(logKind, text);
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public override void WriteLine()
+ {
+ Output.WriteLine(currentLine);
+ currentLine = "";
+ base.WriteLine();
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public override void WriteLine(LogKind logKind, string text)
+ {
+ Output.WriteLine(currentLine + text);
+ currentLine = "";
+ base.WriteLine(logKind, text);
+ }
+}
\ No newline at end of file
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/System.Runtime.CompilerServices/ModuleInitializerAttribute.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/System.Runtime.CompilerServices/ModuleInitializerAttribute.cs
new file mode 100644
index 0000000000..28a87b37b9
--- /dev/null
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/System.Runtime.CompilerServices/ModuleInitializerAttribute.cs
@@ -0,0 +1,11 @@
+#if NETFRAMEWORK
+namespace System.Runtime.CompilerServices;
+
+[AttributeUsage(AttributeTargets.Method, Inherited = false)]
+public sealed class ModuleInitializerAttribute : Attribute
+{
+ public ModuleInitializerAttribute()
+ {
+ }
+}
+#endif
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/TUnit/Extensions.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/TUnit/Extensions.cs
new file mode 100644
index 0000000000..b75c41ad77
--- /dev/null
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/TUnit/Extensions.cs
@@ -0,0 +1,14 @@
+using BenchmarkDotNet.Reports;
+
+namespace BenchmarkDotNet.Tests;
+
+public static class Extensions
+{
+ public static void CheckPlatformLinkerIssues(this Summary summary)
+ {
+ if (summary.Reports.Any(r =>
+ !r.BuildResult.IsBuildSuccess &&
+ r.BuildResult.ErrorMessage.Contains("Platform linker not found")))
+ throw new MisconfiguredEnvironmentException("Failed to build benchmarks because the platform linker not found");
+ }
+}
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/TUnit/MisconfiguredEnvironmentException.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/TUnit/MisconfiguredEnvironmentException.cs
new file mode 100644
index 0000000000..0547277b8a
--- /dev/null
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/TUnit/MisconfiguredEnvironmentException.cs
@@ -0,0 +1,8 @@
+namespace BenchmarkDotNet.Tests;
+
+public class MisconfiguredEnvironmentException : Exception
+{
+ public MisconfiguredEnvironmentException(string message) : base(message) { }
+
+ public string SkipMessage => $"Skip this test because the environment is misconfigured ({Message})";
+}
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/TestConfigs.cs b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/TestConfigs.cs
new file mode 100644
index 0000000000..919bb50477
--- /dev/null
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning.MultipleFrameworks/Shared/TestConfigs.cs
@@ -0,0 +1,20 @@
+using BenchmarkDotNet.Configs;
+using BenchmarkDotNet.Jobs;
+
+namespace BenchmarkDotNet.Tests;
+
+public class SingleJobConfig : ManualConfig
+{
+ public SingleJobConfig(Job job)
+ {
+ AddJob(job);
+ }
+}
+
+public class SingleRunFastConfig : ManualConfig
+{
+ public SingleRunFastConfig()
+ {
+ AddJob(Job.Dry);
+ }
+}
\ No newline at end of file
From 4faeac81fc908eb7f852e8b51d714a831e7c0b03 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Mon, 30 Mar 2026 14:27:35 +0900
Subject: [PATCH 14/25] chore: update build project to support mtp
---
.../BenchmarkDotNet.Build.csproj | 2 +-
build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs | 11 +++++++++--
tests/Directory.Build.props | 4 ++++
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/build/BenchmarkDotNet.Build/BenchmarkDotNet.Build.csproj b/build/BenchmarkDotNet.Build/BenchmarkDotNet.Build.csproj
index 1992bbf28e..44c9df5cfc 100644
--- a/build/BenchmarkDotNet.Build/BenchmarkDotNet.Build.csproj
+++ b/build/BenchmarkDotNet.Build/BenchmarkDotNet.Build.csproj
@@ -7,7 +7,7 @@
$(NoWarn);CA2007
-
+
diff --git a/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs b/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs
index e6d5637040..be0ea76a6b 100644
--- a/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs
+++ b/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs
@@ -3,7 +3,9 @@
using Cake.Common.Diagnostics;
using Cake.Common.Tools.DotNet;
using Cake.Common.Tools.DotNet.Test;
+using Cake.Core;
using Cake.Core.IO;
+using System.Linq;
using System.Runtime.InteropServices;
namespace BenchmarkDotNet.Build.Runners;
@@ -41,11 +43,16 @@ private DotNetTestSettings GetTestSettingsParameters(FilePath logFile, string tf
Framework = tfm,
NoBuild = true,
NoRestore = true,
- Loggers = new[] { "trx", $"trx;LogFileName={logFile.FullPath}", "console;verbosity=detailed" },
EnvironmentVariables =
{
["Platform"] = "" // force the tool to not look for the .dll in platform-specific directory
- }
+ },
+ PathType = DotNetTestPathType.Auto,
+ ArgumentCustomization = args
+ => args.Append("--report-trx")
+ .AppendSwitchQuoted("--report-trx-filename", System.IO.Path.GetFileName(logFile.FullPath))
+ .AppendSwitch("--output", "Detailed")
+ .Append("--no-progress"),
};
return settings;
}
diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props
index 95b878006d..7192d1f6ff 100644
--- a/tests/Directory.Build.props
+++ b/tests/Directory.Build.props
@@ -10,6 +10,10 @@
$([System.IO.Path]::GetDirectoryName($(MSBuildThisFileDirectory)))
+
+
+
+
From 1d92105906cc82c5584351dc1a208cc02ff84fbb Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Mon, 30 Mar 2026 18:50:57 +0900
Subject: [PATCH 15/25] chore: revert console log level to normal
---
build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs | 1 -
1 file changed, 1 deletion(-)
diff --git a/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs b/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs
index be0ea76a6b..db7f5bc676 100644
--- a/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs
+++ b/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs
@@ -51,7 +51,6 @@ private DotNetTestSettings GetTestSettingsParameters(FilePath logFile, string tf
ArgumentCustomization = args
=> args.Append("--report-trx")
.AppendSwitchQuoted("--report-trx-filename", System.IO.Path.GetFileName(logFile.FullPath))
- .AppendSwitch("--output", "Detailed")
.Append("--no-progress"),
};
return settings;
From 5893a918509c9672c112db925cc575dd7ded9c1e Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Mon, 30 Mar 2026 19:47:14 +0900
Subject: [PATCH 16/25] chore: modify reference files link paths
---
...hmarkDotNet.IntegrationTests.ManualRunning.csproj | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj
index f3bb4ba7f4..fcd24ec069 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj
@@ -24,12 +24,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
From d7d1689fdb59dc02629c981e370fa963286343ca Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Mon, 30 Mar 2026 19:54:40 +0900
Subject: [PATCH 17/25] chore: suppress auto-entrypoint generation of benchmark
project templates
---
src/BenchmarkDotNet/Templates/CsProj.txt | 1 +
src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt | 3 ++-
src/BenchmarkDotNet/Templates/R2RCsProj.txt | 1 +
src/BenchmarkDotNet/Templates/WasmCsProj.txt | 3 ++-
src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs | 1 +
5 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/BenchmarkDotNet/Templates/CsProj.txt b/src/BenchmarkDotNet/Templates/CsProj.txt
index d7ae3cae05..f247140b21 100644
--- a/src/BenchmarkDotNet/Templates/CsProj.txt
+++ b/src/BenchmarkDotNet/Templates/CsProj.txt
@@ -27,6 +27,7 @@
true
BenchmarkDotNet.Autogenerated.UniqueProgramName
+ false
diff --git a/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt b/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt
index e87eee2527..418b2c537b 100644
--- a/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt
+++ b/src/BenchmarkDotNet/Templates/MonoAOTLLVMCsProj.txt
@@ -1,4 +1,4 @@
-
+
$CSPROJPATH$
$([System.IO.Path]::ChangeExtension('$(OriginalCSProjPath)', '.Mono.props'))
@@ -21,6 +21,7 @@
true
true
+ false
diff --git a/src/BenchmarkDotNet/Templates/R2RCsProj.txt b/src/BenchmarkDotNet/Templates/R2RCsProj.txt
index 0a9702ac1c..54f2c2aaa9 100644
--- a/src/BenchmarkDotNet/Templates/R2RCsProj.txt
+++ b/src/BenchmarkDotNet/Templates/R2RCsProj.txt
@@ -30,6 +30,7 @@
BenchmarkDotNet.Autogenerated.UniqueProgramName
false
+ false
diff --git a/src/BenchmarkDotNet/Templates/WasmCsProj.txt b/src/BenchmarkDotNet/Templates/WasmCsProj.txt
index 5ab10b2a57..38068cef34 100644
--- a/src/BenchmarkDotNet/Templates/WasmCsProj.txt
+++ b/src/BenchmarkDotNet/Templates/WasmCsProj.txt
@@ -1,4 +1,4 @@
-
+
$CSPROJPATH$
$([System.IO.Path]::ChangeExtension('$(OriginalCSProjPath)', '.Wasm.props'))
@@ -26,6 +26,7 @@ $CORECLR_OVERRIDES$
true
BenchmarkDotNet.Autogenerated.UniqueProgramName
+ false
diff --git a/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs b/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs
index 055daa5b0a..4d04847506 100644
--- a/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs
+++ b/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs
@@ -146,6 +146,7 @@ private string GenerateProjectForNuGetBuild(string projectFilePath, BuildPartiti
false
true
false
+ false
true
{ilcOptimizationPreference}
{ilcOptimizationPreference}
From 9af18314ec91fe4f7446a135c6e03967c2e7ca11 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Wed, 1 Apr 2026 22:32:56 +0900
Subject: [PATCH 18/25] chore: add setting to suppress entrypoint generation
for NativeAot
---
src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs b/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs
index 4d04847506..23da1963a0 100644
--- a/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs
+++ b/src/BenchmarkDotNet/Toolchains/NativeAot/Generator.cs
@@ -146,7 +146,6 @@ private string GenerateProjectForNuGetBuild(string projectFilePath, BuildPartiti
false
true
false
- false
true
{ilcOptimizationPreference}
{ilcOptimizationPreference}
@@ -159,6 +158,10 @@ private string GenerateProjectForNuGetBuild(string projectFilePath, BuildPartiti
true
{GetInstructionSetSettings(buildPartition)}
+
+ false
+ false
+
{GetRuntimeSettings(buildPartition.RepresentativeBenchmarkCase.Job.Environment.Gc, buildPartition.Resolver)}
From 1133204ef51589ee1b48ae5e9b9ffe7768267052 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Thu, 2 Apr 2026 13:03:05 +0900
Subject: [PATCH 19/25] chore: fix run-tests-selected workflow
---
.github/workflows/run-tests-selected.yaml | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/run-tests-selected.yaml b/.github/workflows/run-tests-selected.yaml
index f13bb1d32e..ff6f0aa06d 100644
--- a/.github/workflows/run-tests-selected.yaml
+++ b/.github/workflows/run-tests-selected.yaml
@@ -34,7 +34,7 @@ on:
- net472
filter:
type: string
- description: Test filter text (It's used for `dotnet test --filter`) Use default value when running all tests
+ description: Test filter text (It's used for `dotnet test --filter-method`) Use default value when running all tests
required: true
default: "BenchmarkDotNet"
iteration_count:
@@ -91,12 +91,13 @@ jobs:
run: |
$PSNativeCommandUseErrorActionPreference = $true
$iterationCount = ${{ inputs.iteration_count }}
+
+ Write-Host ("OSArchitecture" + [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)
foreach($i in 1..$iterationCount) {
Write-Output ('##[group]Executing Iteration: {0}/${{ inputs.iteration_count }}' -f $i)
- dotnet test -c Release --framework ${{ inputs.framework }} --filter ${{ inputs.filter }} -tl:off --no-build --logger "console;verbosity=normal"
-
+ dotnet test -c Release --framework ${{ inputs.framework }} --no-build --filter-method "${{ inputs.filter }}" --no-ansi
Write-Output '##[endgroup]'
}
From a9fe929fa69c73504d9c385bb4aaeecdfe008b70 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Fri, 3 Apr 2026 15:02:10 +0900
Subject: [PATCH 20/25] chore: add setting for ci on windows-11-arm
---
tests/Directory.Build.props | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props
index 7192d1f6ff..e2bd2c4101 100644
--- a/tests/Directory.Build.props
+++ b/tests/Directory.Build.props
@@ -10,6 +10,11 @@
$([System.IO.Path]::GetDirectoryName($(MSBuildThisFileDirectory)))
+
+
+ true
+
+
From b4cb59a43db6a93e64fdfb1d2bc92f6f24d4b4ba Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Sat, 4 Apr 2026 05:15:34 +0900
Subject: [PATCH 21/25] chore: move PreferNativeArm64 setting to
Directory.Build.targets
---
tests/Directory.Build.props | 5 -----
tests/Directory.Build.targets | 5 +++++
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props
index e2bd2c4101..7192d1f6ff 100644
--- a/tests/Directory.Build.props
+++ b/tests/Directory.Build.props
@@ -10,11 +10,6 @@
$([System.IO.Path]::GetDirectoryName($(MSBuildThisFileDirectory)))
-
-
- true
-
-
diff --git a/tests/Directory.Build.targets b/tests/Directory.Build.targets
index 90b61d0ba4..be5cd7eabe 100644
--- a/tests/Directory.Build.targets
+++ b/tests/Directory.Build.targets
@@ -1,4 +1,9 @@
+
+
+ true
+
+
Date: Mon, 6 Apr 2026 09:58:19 +0900
Subject: [PATCH 22/25] chore: cleanup compile item references and file name
---
...BenchmarkDotNet.IntegrationTests.ManualRunning.csproj | 4 +++-
.../BenchmarkDotNet.IntegrationTests.csproj | 9 +++++----
...gTestscs.cs => TargetFrameworkVersionParsingTests.cs} | 0
3 files changed, 8 insertions(+), 5 deletions(-)
rename tests/BenchmarkDotNet.Tests/{TargetFrameworkVersionParsingTestscs.cs => TargetFrameworkVersionParsingTests.cs} (100%)
diff --git a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj
index fcd24ec069..86c6697b86 100644
--- a/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests.ManualRunning/BenchmarkDotNet.IntegrationTests.ManualRunning.csproj
@@ -29,7 +29,9 @@
-
+
diff --git a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
index 0e83c1f2a0..f0106a2251 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
+++ b/tests/BenchmarkDotNet.IntegrationTests/BenchmarkDotNet.IntegrationTests.csproj
@@ -38,14 +38,15 @@
-
+
-
+
+
diff --git a/tests/BenchmarkDotNet.Tests/TargetFrameworkVersionParsingTestscs.cs b/tests/BenchmarkDotNet.Tests/TargetFrameworkVersionParsingTests.cs
similarity index 100%
rename from tests/BenchmarkDotNet.Tests/TargetFrameworkVersionParsingTestscs.cs
rename to tests/BenchmarkDotNet.Tests/TargetFrameworkVersionParsingTests.cs
From 1ff9d11c68b08025ee3add50b9202c413fb82a37 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Mon, 6 Apr 2026 10:37:56 +0900
Subject: [PATCH 23/25] chore: temporary skip disassemble tests for macos
---
.../DisassemblyDiagnoserTests.cs | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/tests/BenchmarkDotNet.IntegrationTests/DisassemblyDiagnoserTests.cs b/tests/BenchmarkDotNet.IntegrationTests/DisassemblyDiagnoserTests.cs
index 5e804a3cde..b4b740edc5 100644
--- a/tests/BenchmarkDotNet.IntegrationTests/DisassemblyDiagnoserTests.cs
+++ b/tests/BenchmarkDotNet.IntegrationTests/DisassemblyDiagnoserTests.cs
@@ -1,6 +1,7 @@
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
+using BenchmarkDotNet.Detectors;
using BenchmarkDotNet.Diagnosers;
using BenchmarkDotNet.Disassemblers;
using BenchmarkDotNet.Engines;
@@ -85,6 +86,9 @@ public void Recursive()
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void CanDisassembleAllMethodCalls(Jit jit, Platform platform, IToolchain toolchain)
{
+ if (OsDetector.IsMacOS())
+ Assert.Skip("https://github.com/dotnet/BenchmarkDotNet/issues/3076");
+
var disassemblyDiagnoser = new DisassemblyDiagnoser(
new DisassemblyDiagnoserConfig(printSource: true, maxDepth: 3));
@@ -105,6 +109,9 @@ public void CanDisassembleAllMethodCalls(Jit jit, Platform platform, IToolchain
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void CanDisassembleAllMethodCallsUsingFilters(Jit jit, Platform platform, IToolchain toolchain)
{
+ if (OsDetector.IsMacOS())
+ Assert.Skip("https://github.com/dotnet/BenchmarkDotNet/issues/3076");
+
var disassemblyDiagnoser = new DisassemblyDiagnoser(
new DisassemblyDiagnoserConfig(printSource: true, maxDepth: 1, filters: ["*WithCalls*"]));
@@ -131,6 +138,9 @@ public void CanDisassembleAllMethodCallsUsingFilters(Jit jit, Platform platform,
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void CanDisassembleGenericTypes(Jit jit, Platform platform, IToolchain toolchain)
{
+ if (OsDetector.IsMacOS())
+ Assert.Skip("https://github.com/dotnet/BenchmarkDotNet/issues/3076");
+
var disassemblyDiagnoser = new DisassemblyDiagnoser(
new DisassemblyDiagnoserConfig(printSource: true, maxDepth: 3));
@@ -152,6 +162,9 @@ [Benchmark] public void JustReturn() { }
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void CanDisassembleInlinableBenchmarks(Jit jit, Platform platform, IToolchain toolchain)
{
+ if (OsDetector.IsMacOS())
+ Assert.Skip("https://github.com/dotnet/BenchmarkDotNet/issues/3076");
+
var disassemblyDiagnoser = new DisassemblyDiagnoser(
new DisassemblyDiagnoserConfig(printSource: true, maxDepth: 3));
From e645386d362a8187629d1d97df6695e55e89b6e8 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Mon, 6 Apr 2026 15:14:17 +0900
Subject: [PATCH 24/25] chore: add diagnostic logs and collect as artifacts
---
.github/workflows/run-tests.yaml | 16 ++++++++++++----
.../Runners/UnitTestRunner.cs | 5 ++++-
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/run-tests.yaml b/.github/workflows/run-tests.yaml
index 679e4754dd..22b74949c7 100644
--- a/.github/workflows/run-tests.yaml
+++ b/.github/workflows/run-tests.yaml
@@ -63,7 +63,9 @@ jobs:
if: always()
with:
name: test-windows-core-trx-${{ github.run_id }}-${{ matrix.os }}
- path: "**/*.trx"
+ path: |
+ **/*.trx
+ **/log_*.diag
test-windows-full:
strategy:
@@ -116,7 +118,9 @@ jobs:
if: always()
with:
name: test-windows-full-trx-${{ github.run_id }}-${{ matrix.os }}
- path: "**/*.trx"
+ path: |
+ **/*.trx
+ **/log_*.diag
test-linux:
strategy:
@@ -164,7 +168,9 @@ jobs:
if: always()
with:
name: test-linux-trx-${{ github.run_id }}-${{ matrix.os }}
- path: "**/*.trx"
+ path: |
+ **/*.trx
+ **/log_*.diag
test-macos:
name: test-macos (${{ matrix.os.arch }})
@@ -211,7 +217,9 @@ jobs:
if: always()
with:
name: test-macos(${{ matrix.os.arch }})-trx-${{ github.run_id }}
- path: "**/*.trx"
+ path: |
+ **/*.trx
+ **/log_*.diag
test-pack:
runs-on: ubuntu-latest
diff --git a/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs b/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs
index db7f5bc676..836f4b12a5 100644
--- a/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs
+++ b/build/BenchmarkDotNet.Build/Runners/UnitTestRunner.cs
@@ -51,7 +51,10 @@ private DotNetTestSettings GetTestSettingsParameters(FilePath logFile, string tf
ArgumentCustomization = args
=> args.Append("--report-trx")
.AppendSwitchQuoted("--report-trx-filename", System.IO.Path.GetFileName(logFile.FullPath))
- .Append("--no-progress"),
+ .Append("--no-ansi")
+ .AppendSwitch("--output", "Detailed")
+ .Append("--diagnostic")
+ .AppendSwitch("--diagnostic-verbosity", "Trace")
};
return settings;
}
From 10881525b99600d42168178b340586ac623306c6 Mon Sep 17 00:00:00 2001
From: filzrev <103790468+filzrev@users.noreply.github.com>
Date: Mon, 6 Apr 2026 15:41:00 +0900
Subject: [PATCH 25/25] chore: update generate-coverage-report.yaml
---
.github/workflows/generate-coverage-report.yaml | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/generate-coverage-report.yaml b/.github/workflows/generate-coverage-report.yaml
index 48b54796c4..28d396cb1d 100644
--- a/.github/workflows/generate-coverage-report.yaml
+++ b/.github/workflows/generate-coverage-report.yaml
@@ -44,13 +44,13 @@ jobs:
- name: Collect Code Coverage
run: |
- dotnet coverage connect bdn_coverage "dotnet test tests/BenchmarkDotNet.Tests -c Release --no-build --framework net8.0"
- dotnet coverage connect bdn_coverage "dotnet test tests/BenchmarkDotNet.Analyzers.Tests -c Release --no-build --framework net8.0"
+ dotnet coverage connect bdn_coverage "dotnet test --project tests/BenchmarkDotNet.Tests -c Release --no-build --framework net8.0"
+ dotnet coverage connect bdn_coverage "dotnet test --project tests/BenchmarkDotNet.Analyzers.Tests -c Release --no-build --framework net8.0"
- name: Collect Code Coverage for BenchmarkDotNet.IntegrationTests
if: ${{ github.event.inputs.skip_integration_tests == 'false'}}
run: |
- dotnet coverage connect bdn_coverage 'dotnet test tests/BenchmarkDotNet.IntegrationTests -c Release --no-build --framework net8.0 --filter "(FullyQualifiedName!~DotMemoryTests) & (FullyQualifiedName!~DotTraceTests) & (FullyQualifiedName!~WasmIsSupported) & (FullyQualifiedName!~WasmSupportsInProcessDiagnosers)"'
+ dotnet coverage connect bdn_coverage 'dotnet test --project tests/BenchmarkDotNet.IntegrationTests -c Release --no-build --framework net8.0 --filter-query "/*/*/(!*DotMemoryTests)&(!*DotTraceTests)/(!*WasmIsSupported)&(!*WasmSupportsInProcessDiagnosers)"'
- name: Shutdown dotnet-coverage server.
run: dotnet coverage shutdown bdn_coverage --timeout 60000
@@ -80,13 +80,13 @@ jobs:
- name: Collect Code Coverage
run: |
- dotnet coverage connect bdn_coverage "dotnet test tests/BenchmarkDotNet.Tests -c Release --no-build --framework net472"
- dotnet coverage connect bdn_coverage "dotnet test tests/BenchmarkDotNet.Analyzers.Tests -c Release --no-build --framework net472"
+ dotnet coverage connect bdn_coverage "dotnet test --project tests/BenchmarkDotNet.Tests -c Release --no-build --framework net472"
+ dotnet coverage connect bdn_coverage "dotnet test --project tests/BenchmarkDotNet.Analyzers.Tests -c Release --no-build --framework net472"
- name: Collect Code Coverage for BenchmarkDotNet.IntegrationTests
if: ${{ github.event.inputs.skip_integration_tests == 'false'}}
run: |
- dotnet coverage connect bdn_coverage 'dotnet test tests/BenchmarkDotNet.IntegrationTests -c Release --no-build --framework net472 --filter "(FullyQualifiedName!~DotMemoryTests) & (FullyQualifiedName!~DotTraceTests) & (FullyQualifiedName!~WasmIsSupported) & (FullyQualifiedName!~WasmSupportsInProcessDiagnosers)"'
+ dotnet coverage connect bdn_coverage 'dotnet test --project tests/BenchmarkDotNet.IntegrationTests -c Release --no-build --framework net472 --filter-query "/*/*/(!*DotMemoryTests)&(!*DotTraceTests)/(!*WasmIsSupported)&(!*WasmSupportsInProcessDiagnosers)"'
- name: Shutdown dotnet-coverage server.
run: dotnet coverage shutdown bdn_coverage --timeout 60000