Skip to content

Preserve C# test taxonomy across multiline attributes - #5211

Merged
Widthdom merged 4 commits into
mainfrom
fix-issue5192
Aug 27, 2026
Merged

Preserve C# test taxonomy across multiline attributes#5211
Widthdom merged 4 commits into
mainfrom
fix-issue5192

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Replace the backward physical-line check with a bounded lexical attribute-block scanner integrated into the existing C# masking pass.
  • Preserve xUnit, MSTest, and NUnit test.method taxonomy across multiline attributes while rejecting comments/literals, ignored targets, generic attribute type arguments, collection expressions, fields, indexers, constructors, and member-boundary leaks.
  • Advance the C# extractor contract to 17 and add direct plus persisted CLI coverage, including regression coverage for Test method kind not distinguished from functions #1961.

Validation

  • dotnet build CodeIndex.sln --no-restore (0 warnings, 0 errors)
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj --filter "FullyQualifiedName~Issue5192|FullyQualifiedName~Extract_CSharp_ClassifiesTestMethodsFromAttributes" (3 passed per target framework)
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj --filter "FullyQualifiedName~SymbolExtractorTests.Extract_CSharp" (net8.0: 312 passed; net9.0: 307 passed, 5 skipped)
  • Full solution suite before the final bounded adversarial hardening (net8.0: 12,004 passed, 9 skipped; net9.0: 11,520 passed, 430 skipped)
  • dotnet format CodeIndex.sln --no-restore --verify-no-changes --severity warn
  • dotnet run --project tools/CodeIndex.Changelog -- check (11 fragments validated)
  • git diff --check
  • Two bounded codex review --base origin/main rounds completed; all five actionable P2 findings were fixed and their reproductions were added to the regression fixtures.
  • Post-commit repository index refresh and root/workspace readiness checks passed with no warnings or errors.

Documentation and changelog

  • Updated the English and Japanese sections of DEVELOPER_GUIDE.md and TESTING_GUIDE.md.
  • Added changelog.d/unreleased/5192.fixed.md.

Follow-up candidates

None.

Fixes #5192

@Widthdom
Widthdom merged commit 4a27fc6 into main Aug 27, 2026
11 checks passed
@Widthdom
Widthdom deleted the fix-issue5192 branch August 29, 2026 17:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Preserve test.method classification across multiline C# attribute blocks

1 participant