Skip to content

Debug net9 plugin fixture tests exceed extension type inspection limit #5121

Description

@Widthdom

Summary

The Debug/net9.0 CodeIndex.Tests.dll on current origin/main contains 4,097 loadable types, which exceeds ExtractorPluginRegistry.MaxExtensionAssemblyTypes (4,096). Tests that copy the executing test assembly as a plugin fixture are rejected before plugin discovery, causing the default net9.0 suite to fail in the plugin registry and workspace-plugin tests.

Reproduction

At origin/main commit 9e6d01dc3dfc6f56ab9da1211ca60dcc8dcee188:

dotnet build tests/CodeIndex.Tests/CodeIndex.Tests.csproj -f net9.0
dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -f net9.0 --no-build --filter FullyQualifiedName=CodeIndex.Tests.IndexCommandRunnerTests.Run_UpdateMode_PreservesUnchangedWorkspacePluginReferences_Issue4602

The focused test fails with Expected: 1 / Actual: 0. The full net9.0 suite reports plugin-fixture diagnostics such as:

plugin_type_limit_exceeded: Plugin assembly skipped: too many loadable types (4097; maximum 4096).

The same focused test passes for net8.0. A reflection count of the unmodified Debug/net9.0 test assembly confirms 4,097 types.

Expected

Plugin tests should use a dedicated bounded fixture assembly, or otherwise avoid coupling their validity to the continually growing type count of CodeIndex.Tests.dll, so the default Debug/net9.0 suite remains green without weakening the production plugin inspection limit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions