Skip to content

[Dependencies] Updating FunFair.Test (Test Infrastructure) to 6.4.0.2617 - #401

Merged
dnyw4l3n13 merged 2 commits into
mainfrom
depends/update-funfair.test/6.4.0.2617
Aug 21, 2026
Merged

[Dependencies] Updating FunFair.Test (Test Infrastructure) to 6.4.0.2617#401
dnyw4l3n13 merged 2 commits into
mainfrom
depends/update-funfair.test/6.4.0.2617

Conversation

@dnyw4l3n13

Copy link
Copy Markdown
Collaborator

Description

How Has This Been Tested

  • All unit tests pass.
  • All integration tests pass.
  • Manual Testing:

Types of changes

  • Docs change
  • Refactoring
  • Dependency upgrade
  • Additional Unit Tests\Integration Tests
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing
    functionality to change)
  • Removed no-longer used code

Deployment Configuration Changes

  • Requires deployment configuration changes as specified below and in CHANGELOG.md

Checklist

  • I have added tests to cover my changes.
  • Unreleased section of CHANGELOG.md has been updated with details of this PR.
  • No user-controlled or step-output value is string-interpolated directly into a run:/script: body (workflow or composite action); pass it via step-level env: and reference $VAR (bash) or process.env.VAR (github-script) instead.

@dnyw4l3n13 dnyw4l3n13 added the auto-pr Pull request created automatically label Aug 20, 2026
@credfeto

credfeto commented Aug 20, 2026

Copy link
Copy Markdown
Member

Roslyn analyzer findings

Source Rule Level File Line Suppressed Message
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.CloudFormation.cs 26 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPost(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet CA2000 error src/BuildBot/Helpers/ServerStartup.cs 127 yes Call System.IDisposable.Dispose on object created by 'CreateLogger()' before all references to it are out of scope
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.Test.cs 22 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapGet(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.Watchtower.cs 19 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPost(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.GitHub.cs 19 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPost(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.GitHub.cs 29 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPost(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet IL2026 error src/BuildBot/Helpers/Endpoints.GitHub.cs 39 yes Using member 'Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPost(IEndpointRouteBuilder, String, Delegate)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. This API may perform reflection on the supplied delegate and its parameters. These types may be trimmed if not directly referenced.
DotNet IL2026 error src/BuildBot/obj/Release/net10.0/Microsoft.AspNetCore.Http.RequestDelegateGenerator/Microsoft.AspNetCore.Http.RequestDelegateGenerator.RequestDelegateGenerator/GeneratedRouteBuilderExtensions.g.cs 1014 yes Using member 'Microsoft.AspNetCore.Http.HttpResponseJsonExtensions.WriteAsJsonAsync(HttpResponse, TValue, JsonSerializerOptions, CancellationToken)' which has 'RequiresUnreferencedCodeAttribute' can break functionality when trimming application code. JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.

@dnyw4l3n13
dnyw4l3n13 force-pushed the depends/update-funfair.test/6.4.0.2617 branch from 4ea6dd1 to 4d377b8 Compare August 21, 2026 03:14
….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.
@dnyw4l3n13

Copy link
Copy Markdown
Collaborator Author

Fixed in 00c232d - the FunFair.Test.Common 6.4.0.2617 bump caused a build-pre-release compile failure: FunFair.Test.Common now depends on the AOT-flavoured xunit v3 packages (xunit.v3.assert.aot/xunit.v3.extensibility.core.aot) while all 8 test projects directly referenced the non-AOT xunit.v3.mtp-v2 runner, which pins the non-AOT packages exactly - both define identical types (e.g. FactAttribute, ITestOutputHelper) in different assemblies, causing CS0433 ambiguous-reference errors everywhere. Swapped xunit.v3.mtp-v2 for its AOT-compatible counterpart xunit.v3.aot.mtp-v2 in all 8 test projects to match. This unmasked 4 pre-existing CA1822 findings (test methods not using instance data) that were previously hidden by the compile errors; marked those methods static, which xunit v3 supports natively. Verified: full solution builds clean (0 warnings/errors) and all 242 tests pass. Board moved to Development.

@dnyw4l3n13

Copy link
Copy Markdown
Collaborator Author

Simplify clean - advancing to code review

@dnyw4l3n13

Copy link
Copy Markdown
Collaborator Author

Code review clean - advancing to security review

@dnyw4l3n13

Copy link
Copy Markdown
Collaborator Author

Security review clean, advancing to coverage check

@dnyw4l3n13

Copy link
Copy Markdown
Collaborator Author

Blocked at the AI Coverage phase: dotnet build/dotnet test are being denied outright by this session's execution environment, so no coverage measurement can be produced.

This branch touched 4 test .cs files (the CS0433 fix marked some test methods static), so it is not a non-code-only branch and the coverage extraction is required, not skippable.

What I tried (all denied with an identical "Permission to use Bash has been denied ... running in don't ask mode" response, not a fixable PreToolUse hook denial):

  • The full per-project coverage loop (dotnet test ... --coverage ...) across all 8 unit test projects, backgrounded as required.
  • A single project's dotnet test ... --coverage ... in isolation, backgrounded.
  • A plain dotnet build on one test project, backgrounded, both with and without sandbox disabled.

dotnet --version succeeds; dotnet build/dotnet test do not, even though Bash(dotnet build *) and Bash(dotnet test *) are both present in this container's own ~/.claude/settings.json allowlist. This looks like a restriction imposed above that file (this session's own execution permissions), not something I can fix by changing the command.

Note: origin/main has no COVERAGE.md yet, so per the coverage-ratchet bootstrap rule the gate itself is already considered passed for this branch - the only thing missing is the ability to actually measure and commit the baseline numbers.

Needs a human to either:

  1. Grant this session's container permission to run dotnet build/dotnet test, so the AI Coverage phase can measure and commit COVERAGE.md, or
  2. Run the coverage extraction manually (see coverage-ratchet.instructions.md) and commit the resulting COVERAGE.md to this branch, after which the phase can advance normally.

@dnyw4l3n13 dnyw4l3n13 added the Blocked Blocked by a dependency or external factor label Aug 21, 2026
@credfeto credfeto removed the Blocked Blocked by a dependency or external factor label Aug 21, 2026
@dnyw4l3n13

Copy link
Copy Markdown
Collaborator Author

Coverage ratchet: origin/main has no COVERAGE.md yet, so per the bootstrap rule this is not a regression - the gate is treated as passed. Confirmed independently in this session that dotnet build/dotnet test are still denied outright in this container's execution environment (same denial the prior session hit, on both build and test, with backgrounding as required), so no honest measurement can be produced and COVERAGE.md was intentionally not written - fabricating percentages would poison the baseline for every future branch. Advancing to Human Review; a human (or a session with working dotnet permissions) still needs to bootstrap COVERAGE.md on some future branch.

@dnyw4l3n13
dnyw4l3n13 marked this pull request as ready for review August 21, 2026 17:41
@dnyw4l3n13
dnyw4l3n13 requested a review from a team as a code owner August 21, 2026 17:41
@dnyw4l3n13
dnyw4l3n13 enabled auto-merge August 21, 2026 17:41
@dnyw4l3n13

Copy link
Copy Markdown
Collaborator Author

PR marked ready for review and auto-merge (merge commit) enabled. All prior AI phases passed (build fix, simplify, code review, security review, coverage bootstrap-passed). Awaiting human review/approval to merge.

@credfeto

Copy link
Copy Markdown
Member

Super-linter summary

Language Validation result

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

@dnyw4l3n13
dnyw4l3n13 merged commit b2508f2 into main Aug 21, 2026
38 checks passed
@dnyw4l3n13
dnyw4l3n13 deleted the depends/update-funfair.test/6.4.0.2617 branch August 21, 2026 18:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-pr Pull request created automatically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants