Skip to content

Isolate unreadable marker fixtures from cross-target full test runs #5019

Description

@Widthdom

Problem

Running the default multi-target test command can execute the net8.0 and net9.0 suites concurrently. During that run, LocalJsonlJsonWriterOptionsTests.RelaxedEncoderAndHelperStayLimitedToLocalJsonlSinks recursively enumerates a target output tree while another test owns an unreadable mcp_index_unreadable_marker_*/secret fixture there. The source enumeration then fails with UnauthorizedAccessException / IOException: Operation not permitted.

Reproduction

dotnet test --no-restore --nologo

Observed path shape:

tests/CodeIndex.Tests/bin/Debug/net8.0/mcp_index_unreadable_marker_*/secret

Expected

The default multi-target test run should be isolated across target frameworks. Source-policy enumeration should either exclude transient test fixture directories or safely handle intentionally unreadable fixtures without hiding genuine source-tree access failures.

Context

Observed during the Codex adversarial review for #4909. The #4909-related tests themselves were not involved in this failure.

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