Add new SOS test harness - #5979
Draft
max-charlamb wants to merge 9 commits into
Draft
Conversation
Add a marker-driven scenario process that exposes managed stacks, heap shapes, exceptions, delegates, synchronization state, and crash points for SOS command validation across runtime versions and deployment modes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2bba76c7-c3b4-4774-84d5-6d21347e8ef8
Add reusable target acquisition, dump capture, debugger-host abstractions, matrix configuration, SOS output parsing, replay diagnostics, and source generation for marker constants used by command tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2bba76c7-c3b4-4774-84d5-6d21347e8ef8
Run dbgeng command execution and dump capture in helper processes so debugger failures remain isolated from the xUnit test host and architecture-specific binaries are resolved correctly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2bba76c7-c3b4-4774-84d5-6d21347e8ef8
Add xUnit v3 command coverage for stacks, threads, heaps, objects, modules, runtime state, and diagnostic commands across supported hosts, deployment flavors, dump kinds, GC modes, runtimes, and DAC implementations. Include failure replay output and a local execution runbook. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2bba76c7-c3b4-4774-84d5-6d21347e8ef8
Include the harness library, source generator, debugger helper hosts, and SOS.Tests project in build.sln for IDE discovery and repository builds. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2bba76c7-c3b4-4774-84d5-6d21347e8ef8
Disable W^X for live debuggees so bpmd can patch JIT code without triggering access violations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2d5c60f7-9c89-42e6-b9fc-04ef78c8f8d8
Pipeline artifact transfer drops executable bits. Restore them before running the MTP test apphost or launching debuggee apphosts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2d5c60f7-9c89-42e6-b9fc-04ef78c8f8d8
max-charlamb
force-pushed
the
max-charlamb/sos-testing
branch
from
August 25, 2026 20:59
9041f9b to
620c347
Compare
Use Arcade's TestToRun command path directly because UseAppHost metadata is not populated for the MTP executable. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2d5c60f7-9c89-42e6-b9fc-04ef78c8f8d8
Publish version-matched single-file debuggees during the build and make the test harness consume the transferred immutable outputs instead of invoking dotnet publish during tests. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 886d87aa-631a-49cd-a973-aacd17a1df81
This was referenced Aug 26, 2026
Open
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
bpmdcan patch JIT code safelyThis branch is based on Lee Culver's
leculver/sos-testingwork and is opened as a draft to inspect and review the complete diff.Validation
dotnet build src\tests\SOS.Tests\SOS.Tests.csproj --no-restore --configuration DebugSOS.Tests.exe --filter-method SOS.Tests.GcWhereTests.GcWhere_Moves --parallel none: 24 passedFollow-up