From 4d377b8ce0e87ceae3acd3a94475ff65e805e879 Mon Sep 17 00:00:00 2001 From: Mark Ridgwell Date: Thu, 20 Aug 2026 23:37:30 +0000 Subject: [PATCH 1/2] [Dependencies] Updating FunFair.Test (Test Infrastructure) to 6.4.0.2617 --- CHANGELOG.md | 2 +- .../BuildBot.CloudFormation.Tests.csproj | 2 +- src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj | 2 +- src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj | 2 +- src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj | 2 +- src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj | 2 +- .../BuildBot.ServiceModel.Tests.csproj | 2 +- src/BuildBot.Tests/BuildBot.Tests.csproj | 2 +- src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eadc0dc5..555c23ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,7 +60,6 @@ Please ADD ALL Changes to the UNRELEASED SECTION and not a specific release - Dependencies - Updated NSubstitute to 6.2.0 - SDK - Updated DotNet SDK to 10.0.400 - Dependencies - Updated Microsoft.Extensions to 10.0.11 -- Dependencies - Updated FunFair.Test to 6.3.8.2585 - Dependencies - Updated xunit.analyzers to 2.0.0 - Dependencies - Updated xunit.v3 to 4.0.0 - Dependencies - Updated Microsoft.NET.Test.Sdk to 18.9.0 @@ -72,6 +71,7 @@ Please ADD ALL Changes to the UNRELEASED SECTION and not a specific release - Dependencies - Updated Meziantou.Analyzer to 3.0.173 - Dependencies - Updated Credfeto.Docker.HealthCheck.Http.Client to 0.0.77.1109 - Dependencies - Updated FunFair.Test.Source.Generator to 6.4.0.2617 +- Dependencies - Updated FunFair.Test to 6.4.0.2617 ### Deprecated ### Removed ### Deployment Changes diff --git a/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj b/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj index eeb371e4..c1f20031 100644 --- a/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj +++ b/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj @@ -44,7 +44,7 @@ - + diff --git a/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj b/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj index 68e89e99..8a82db44 100644 --- a/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj +++ b/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj @@ -44,7 +44,7 @@ - + diff --git a/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj b/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj index d74cfc28..3b6452ed 100644 --- a/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj +++ b/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj @@ -44,7 +44,7 @@ - + diff --git a/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj b/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj index 0d373a29..c16ccca1 100644 --- a/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj +++ b/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj @@ -44,7 +44,7 @@ - + diff --git a/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj b/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj index 3f6ab6f2..e33184d3 100644 --- a/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj +++ b/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj @@ -44,7 +44,7 @@ - + diff --git a/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj b/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj index e6c1f744..a5ace389 100644 --- a/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj +++ b/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj @@ -44,7 +44,7 @@ - + diff --git a/src/BuildBot.Tests/BuildBot.Tests.csproj b/src/BuildBot.Tests/BuildBot.Tests.csproj index c8eb8d71..3f13f860 100644 --- a/src/BuildBot.Tests/BuildBot.Tests.csproj +++ b/src/BuildBot.Tests/BuildBot.Tests.csproj @@ -44,7 +44,7 @@ - + diff --git a/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj b/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj index 53fb7498..5c17af8d 100644 --- a/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj +++ b/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj @@ -44,7 +44,7 @@ - + From 00c232d2345e3e400e8ae38eae9883a715c153bc Mon Sep 17 00:00:00 2001 From: Mark Ridgwell <273118822+dnyw4l3n13@users.noreply.github.com> Date: Fri, 21 Aug 2026 03:47:27 +0000 Subject: [PATCH 2/2] Fix CS0433 ambiguous xunit type conflict from FunFair.Test.Common 6.4.0.2617 FunFair.Test.Common 6.4.0.2617 switched its own xunit v3 dependency from the non-AOT xunit.v3.assert/xunit.v3.extensibility.core packages to the AOT variants (xunit.v3.assert.aot/xunit.v3.extensibility.core.aot), while all test projects still directly referenced xunit.v3.mtp-v2, which pins the non-AOT packages exactly. Both flavours define identical types (FactAttribute, ITestOutputHelper, etc.) in different assemblies, causing CS0433 ambiguous reference errors across every test project. Swap xunit.v3.mtp-v2 for its AOT-compatible counterpart xunit.v3.aot.mtp-v2 in all 8 test projects, matching FunFair.Test.Common's new dependency. This unmasked 4 CA1822 findings (methods not accessing instance data) that were previously hidden because the CS0433 compile errors prevented the analyzers from completing; mark those test methods static, which xunit v3 supports natively. --- CHANGELOG.md | 1 + .../BuildBot.CloudFormation.Tests.csproj | 2 +- src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj | 2 +- src/BuildBot.Discord.Tests/Services/BotServiceTests.cs | 2 +- src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj | 2 +- src/BuildBot.GitHub.Tests/Helpers/MainBranchDetectorTests.cs | 4 ++-- .../Helpers/PackageUpdateDetectorTests.cs | 4 ++-- src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj | 2 +- src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj | 2 +- .../BuildBot.ServiceModel.Tests.csproj | 2 +- .../ComponentStatus/ServiceStatusTests.cs | 2 +- src/BuildBot.Tests/BuildBot.Tests.csproj | 2 +- .../BuildBot.Watchtower.Tests.csproj | 2 +- 13 files changed, 15 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 555c23ab..a9f413ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ Please ADD ALL Changes to the UNRELEASED SECTION and not a specific release - Pass ILogger to HealthCheckClient.ExecuteAsync to match new API in Credfeto.Docker.HealthCheck.Http.Client 0.0.72.928 - Made DiscordChannelAdapter testable by accepting ITextChannel instead of the sealed SocketTextChannel, and added unit tests - Guard against IndexOutOfRangeException when Branches list is empty in GithubStatusNotificationHandler +- Fixed CS0433 ambiguous xunit type conflict in test projects caused by FunFair.Test.Common now depending on the AOT-flavoured xunit v3 packages, by switching test projects to the matching xunit.v3.aot.mtp-v2 runner package ### Changed - Dependencies - Updated NSubstitute.Analyzers.CSharp to 1.0.17 - Switched to use minimal APIs diff --git a/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj b/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj index c1f20031..3e3cd7ff 100644 --- a/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj +++ b/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj @@ -46,7 +46,7 @@ - + diff --git a/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj b/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj index 8a82db44..c5789f46 100644 --- a/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj +++ b/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj @@ -47,7 +47,7 @@ - + diff --git a/src/BuildBot.Discord.Tests/Services/BotServiceTests.cs b/src/BuildBot.Discord.Tests/Services/BotServiceTests.cs index 3900ac5e..15e4291c 100644 --- a/src/BuildBot.Discord.Tests/Services/BotServiceTests.cs +++ b/src/BuildBot.Discord.Tests/Services/BotServiceTests.cs @@ -117,7 +117,7 @@ await bot.Received(1) [Theory] [MemberData(nameof(NullConstructorArguments))] - public void Constructor_ThrowsArgumentNullException_WhenParameterIsNull( + public static void Constructor_ThrowsArgumentNullException_WhenParameterIsNull( int nullParameterIndex, string expectedParamName ) diff --git a/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj b/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj index 3b6452ed..09a798cd 100644 --- a/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj +++ b/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj @@ -47,7 +47,7 @@ - + diff --git a/src/BuildBot.GitHub.Tests/Helpers/MainBranchDetectorTests.cs b/src/BuildBot.GitHub.Tests/Helpers/MainBranchDetectorTests.cs index 016daad2..01584ed7 100644 --- a/src/BuildBot.GitHub.Tests/Helpers/MainBranchDetectorTests.cs +++ b/src/BuildBot.GitHub.Tests/Helpers/MainBranchDetectorTests.cs @@ -9,7 +9,7 @@ public sealed class MainBranchDetectorTests : TestBase [Theory] [InlineData("main")] [InlineData("master")] - public void ShouldBeMainBranch(string branch) + public static void ShouldBeMainBranch(string branch) { Assert.True(MainBranchDetector.IsRepoMainBranch(branch), userMessage: "Should be main branch"); } @@ -19,7 +19,7 @@ public void ShouldBeMainBranch(string branch) [InlineData("feature/main")] [InlineData("fix/master")] [InlineData("mainly")] - public void ShouldNotMainBranch(string branch) + public static void ShouldNotMainBranch(string branch) { Assert.False(MainBranchDetector.IsRepoMainBranch(branch), userMessage: "Should not be main branch"); } diff --git a/src/BuildBot.GitHub.Tests/Helpers/PackageUpdateDetectorTests.cs b/src/BuildBot.GitHub.Tests/Helpers/PackageUpdateDetectorTests.cs index 8b9d30a0..cd64f8f4 100644 --- a/src/BuildBot.GitHub.Tests/Helpers/PackageUpdateDetectorTests.cs +++ b/src/BuildBot.GitHub.Tests/Helpers/PackageUpdateDetectorTests.cs @@ -11,7 +11,7 @@ public sealed class PackageUpdateDetectorTests : TestBase [InlineData("[FF-1429] - Updated something else")] [InlineData("Dependencies - Updated package")] [InlineData("[Dependencies] - Updated something else")] - public void ShouldBeConsideredAPackageUpdate(string commitMessage) + public static void ShouldBeConsideredAPackageUpdate(string commitMessage) { Assert.True(PackageUpdateDetector.IsPackageUpdate(commitMessage), userMessage: "Should be a package update"); } @@ -24,7 +24,7 @@ public void ShouldBeConsideredAPackageUpdate(string commitMessage) [InlineData("Validating Dependencies")] [InlineData("Validating Dependencies of packages")] [InlineData("Identifying [Dependencies] too")] - public void ShouldNotBeConsideredAPackageUpdate(string commitMessage) + public static void ShouldNotBeConsideredAPackageUpdate(string commitMessage) { Assert.False( PackageUpdateDetector.IsPackageUpdate(commitMessage), diff --git a/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj b/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj index c16ccca1..7b11468a 100644 --- a/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj +++ b/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj @@ -46,7 +46,7 @@ - + diff --git a/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj b/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj index e33184d3..5a9d99f0 100644 --- a/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj +++ b/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj @@ -46,7 +46,7 @@ - + diff --git a/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj b/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj index a5ace389..4f14bd03 100644 --- a/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj +++ b/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj @@ -46,7 +46,7 @@ - + diff --git a/src/BuildBot.ServiceModel.Tests/ComponentStatus/ServiceStatusTests.cs b/src/BuildBot.ServiceModel.Tests/ComponentStatus/ServiceStatusTests.cs index 6a6b9ab9..d620a564 100644 --- a/src/BuildBot.ServiceModel.Tests/ComponentStatus/ServiceStatusTests.cs +++ b/src/BuildBot.ServiceModel.Tests/ComponentStatus/ServiceStatusTests.cs @@ -17,7 +17,7 @@ public void NamePropertyMatchesConstructorArgument() [Theory] [InlineData(true)] [InlineData(false)] - public void OkPropertyMatchesConstructorArgument(bool ok) + public static void OkPropertyMatchesConstructorArgument(bool ok) { ServiceStatus status = new(Name: "database", Ok: ok); diff --git a/src/BuildBot.Tests/BuildBot.Tests.csproj b/src/BuildBot.Tests/BuildBot.Tests.csproj index 3f13f860..00c9ef2d 100644 --- a/src/BuildBot.Tests/BuildBot.Tests.csproj +++ b/src/BuildBot.Tests/BuildBot.Tests.csproj @@ -47,7 +47,7 @@ - + diff --git a/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj b/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj index 5c17af8d..0615b8ab 100644 --- a/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj +++ b/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj @@ -46,7 +46,7 @@ - +