Skip to content

Revert "Add new SOS test harness" - #6006

Merged
steveisok merged 1 commit into
mainfrom
revert-5979-max-charlamb/sos-testing
Sep 4, 2026
Merged

Revert "Add new SOS test harness"#6006
steveisok merged 1 commit into
mainfrom
revert-5979-max-charlamb/sos-testing

Conversation

@steveisok

Copy link
Copy Markdown
Member

Reverts #5979

Copilot AI lite review requested due to automatic review settings September 3, 2026 18:30
@steveisok
steveisok requested a review from a team as a code owner September 3, 2026 18:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The revert cleanly removes the harness/projects and I found no remaining references in src/tests that would break compilation due to the deletions.

Review tier: Lite
Findings: None

What changed in this PR

This PR reverts #5979 by removing the recently introduced SOS test harness and the associated SOS test suite/debuggee infrastructure from src/tests, returning the repo to the pre-harness state.

Changes:

  • Remove the SOS.TestHarness library, engine host/capturer utilities, and its source generator.
  • Remove the SOS.Tests xUnit test project and all of its test files.
  • Remove the SosHarnessScenarios debuggee project and related single-file debuggee publishing hooks.
File Description
src/​tests/​SOS.UnitTests/​Debuggees/​SosHarnessScenarios/​TestHarness.cs Removed (revert): scenario debuggee shared marker/snapshot helper.
src/​tests/​SOS.UnitTests/​Debuggees/​SosHarnessScenarios/​SosHarnessScenarios.csproj Removed (revert): scenarios debuggee project used by the new harness.
src/​tests/​SOS.UnitTests/​Debuggees/​Directory.Build.props Removed (revert): post-publish runtime.version write target.
src/​tests/​SOS.Tests/​WindowsTheoryAttribute.cs Removed (revert): Windows-only theory attribute/discoverer.
src/​tests/​SOS.Tests/​TestObjectHelpers.cs Removed (revert): helper extensions for object lookup assertions.
src/​tests/​SOS.Tests/​TestMatrices.cs Removed (revert): matrix builders/filters for SOS command coverage.
src/​tests/​SOS.Tests/​StackInspectionTests.cs Removed (revert): stack inspection test suite.
src/​tests/​SOS.Tests/​SpecializedInspectionTests.cs Removed (revert): specialized command tests (timerinfo/threadpool/etc.).
src/​tests/​SOS.Tests/​SosTheoryAttribute.cs Removed (revert): cross-platform theory attribute.
src/​tests/​SOS.Tests/​SOS.Tests.csproj Removed (revert): SOS.Tests test project definition.
src/​tests/​SOS.Tests/​RuntimeInfoTests.cs Removed (revert): runtime/module/process listing command tests.
src/​tests/​SOS.Tests/​PrintExceptionTests.cs Removed (revert): printexception command tests.
src/​tests/​SOS.Tests/​ObjectGcHelperTests.cs Removed (revert): per-object GC helper command tests.
src/​tests/​SOS.Tests/​ObjectFieldsTests.cs Removed (revert): dumpobj/dumpvc field-level inspection tests.
src/​tests/​SOS.Tests/​NativeAddressSpaceTests.cs Removed (revert): native address range scan tests.
src/​tests/​SOS.Tests/​ModuleResolveTests.cs Removed (revert): name2ee/token2ee resolver tests.
src/​tests/​SOS.Tests/​MiscCommandTests.cs Removed (revert): misc command smoke tests (dbgout/sosflush/enummem).
src/​tests/​SOS.Tests/​MemoryAndDecodeTests.cs Removed (revert): raw memory dump + state decode command tests.
src/​tests/​SOS.Tests/​LiveBpmdTests.cs Removed (revert): live bpmd breakpoint tests.
src/​tests/​SOS.Tests/​HeapAnalysisTests.cs Removed (revert): whole-heap analysis command tests.
src/​tests/​SOS.Tests/​GcWhereTests.cs Removed (revert): gcwhere tests.
src/​tests/​SOS.Tests/​GcInspectionTests.cs Removed (revert): GC inspection command tests (gcroot/objsize/etc.).
src/​tests/​SOS.Tests/​EeHeapTests.cs Removed (revert): eeheap -gc parsing/structure tests.
src/​tests/​SOS.Tests/​DumpSigTests.cs Removed (revert): dumpsig/dumpsigelem tests.
src/​tests/​SOS.Tests/​DumpModuleTests.cs Removed (revert): dumpmodule tests.
src/​tests/​SOS.Tests/​DumpIlTests.cs Removed (revert): dumpil tests.
src/​tests/​SOS.Tests/​DumpHeapThinLockTests.cs Removed (revert): dumpheap -thinlock tests.
src/​tests/​SOS.Tests/​DumpHeapStringsTests.cs Removed (revert): dumpheap -strings tests.
src/​tests/​SOS.Tests/​DumpHeapObjectsTests.cs Removed (revert): dumpheap object/statistics/filter tests.
src/​tests/​SOS.Tests/​DumpHeapLiveDeadTests.cs Removed (revert): dumpheap -live/-dead tests.
src/​tests/​SOS.Tests/​DumpHeapGenerationsTests.cs Removed (revert): dumpheap generation/segment/heap filtering tests.
src/​tests/​SOS.Tests/​DumpDomainTests.cs Removed (revert): dumpdomain/dumpassembly tests.
src/​tests/​SOS.Tests/​DumpDelegateTests.cs Removed (revert): dumpdelegate tests.
src/​tests/​SOS.Tests/​DumpArrayTests.cs Removed (revert): dumparray tests.
src/​tests/​SOS.Tests/​DiagnosticCommandTests.cs Removed (revert): diagnostic/status command tests (sosstatus/logging/etc.).
src/​tests/​SOS.Tests/​CollectionQueueTests.cs Removed (revert): concurrent collection/threadpool queue command tests.
src/​tests/​SOS.Tests/​CodeInfoTests.cs Removed (revert): ehinfo/gcinfo tests.
src/​tests/​SOS.Tests/​ClrUTests.cs Removed (revert): !clru/!u tests (cdb-only).
src/​tests/​SOS.Tests/​ClrThreadsTests.cs Removed (revert): clrthreads command tests.
src/​tests/​SOS.Tests/​ClrThreadsParsing.cs Removed (revert): clrthreads table parsing helper.
src/​tests/​SOS.Tests/​ClrStackLinesTests.cs Removed (revert): clrstack source line tests.
src/​tests/​SOS.Tests/​ClrStackICorDebugTests.cs Removed (revert): experimental clrstack -i tests.
src/​tests/​SOS.Tests/​ClrStackFullTests.cs Removed (revert): clrstack -f tests.
src/​tests/​SOS.Tests/​ClrStackFrameCountTests.cs Removed (revert): clrstack -c tests.
src/​tests/​SOS.Tests/​ClrStackArgsLocalsTests.cs Removed (revert): clrstack -p/-l/-a args/locals tests.
src/​tests/​SOS.Tests/​ClrStackAllThreadsTests.cs Removed (revert): clrstack -all tests.
src/​tests/​SOS.TestHarness/​Targets.cs Removed (revert): harness target acquisition/memoization entry point.
src/​tests/​SOS.TestHarness/​Target.cs Removed (revert): target abstraction for dump/live execution.
src/​tests/​SOS.TestHarness/​SosToken.cs Removed (revert): SOS tokenization/typed parsing helpers.
src/​tests/​SOS.TestHarness/​SosTable.cs Removed (revert): parsed SOS table abstraction.
src/​tests/​SOS.TestHarness/​SosRow.cs Removed (revert): parsed SOS row abstraction.
src/​tests/​SOS.TestHarness/​SosField.cs Removed (revert): parsed SOS “Key: Value” field abstraction.
src/​tests/​SOS.TestHarness/​SosDataRowExtensions.cs Removed (revert): assertion helpers for structured sub-records.
src/​tests/​SOS.TestHarness/​SosDataRow.cs Removed (revert): structured sub-record representation.
src/​tests/​SOS.TestHarness/​SosDataExtractor.cs Removed (revert): table internal-data extractor delegate.
src/​tests/​SOS.TestHarness/​SosConvert.cs Removed (revert): shared conversion helpers.
src/​tests/​SOS.TestHarness/​SosColumn.cs Removed (revert): column spec/alignment helpers.
src/​tests/​SOS.TestHarness/​SosCell.cs Removed (revert): table cell abstraction and conversions.
src/​tests/​SOS.TestHarness/​SosAssertException.cs Removed (revert): rich assertion exception type.
src/​tests/​SOS.TestHarness/​SOS.TestHarness.csproj Removed (revert): harness library project file.
src/​tests/​SOS.TestHarness/​ReplayContext.cs Removed (revert): per-test replay/diagnostics capture.
src/​tests/​SOS.TestHarness/​lldbhelper.py Removed (revert): LLDB command framing helper.
src/​tests/​SOS.TestHarness/​LldbCliHost.cs Removed (revert): LLDB dump host implementation.
src/​tests/​SOS.TestHarness/​LiveTarget.cs Removed (revert): live target implementation + concurrency gating.
src/​tests/​SOS.TestHarness/​Liveness.cs Removed (revert): liveness axis enum.
src/​tests/​SOS.TestHarness/​ILiveDebuggerHost.cs Removed (revert): live host interface.
src/​tests/​SOS.TestHarness/​IDiagnosticHost.cs Removed (revert): optional diagnostics capture interface.
src/​tests/​SOS.TestHarness/​IDebuggerHost.cs Removed (revert): debugger host interface.
src/​tests/​SOS.TestHarness/​HostSlot.cs Removed (revert): pooled host slot/serialization logic.
src/​tests/​SOS.TestHarness/​Hosts.cs Removed (revert): host axis enum.
src/​tests/​SOS.TestHarness/​HostFactory.cs Removed (revert): host construction utilities.
src/​tests/​SOS.TestHarness/​HarnessSkip.cs Removed (revert): dynamic skip exception.
src/​tests/​SOS.TestHarness/​HarnessCancellation.cs Removed (revert): test cancellation bridge.
src/​tests/​SOS.TestHarness/​GcType.cs Removed (revert): GC-type axis enum.
src/​tests/​SOS.TestHarness/​Flavor.cs Removed (revert): flavor axis enum.
src/​tests/​SOS.TestHarness/​EngineProtocol.cs Removed (revert): EngineHost line protocol markers.
src/​tests/​SOS.TestHarness/​DumpSession.cs Removed (revert): dump session wrapper (host + dump).
src/​tests/​SOS.TestHarness/​DumpKind.cs Removed (revert): dump-kind axis enum.
src/​tests/​SOS.TestHarness/​DumpGenerationRequirements.cs Removed (revert): Windows dump prereq gating logic.
src/​tests/​SOS.TestHarness/​DeadTarget.cs Removed (revert): dump-backed cursor target.
src/​tests/​SOS.TestHarness/​DbgEngDumpHost.cs Removed (revert): dbgeng dump host wrapper.
src/​tests/​SOS.TestHarness/​DbgEngCapturer.cs Removed (revert): dbgeng-based dump capture helper.
src/​tests/​SOS.TestHarness/​DacPolicy.cs Removed (revert): DAC selection/clamp policy.
src/​tests/​SOS.TestHarness/​Dac.cs Removed (revert): DAC axis enum.
src/​tests/​SOS.TestHarness/​CoreVersion.cs Removed (revert): core-version axis enum.
src/​tests/​SOS.TestHarness/​CaptureCli.cs Removed (revert): capturer CLI entry point.
src/​tests/​SOS.TestHarness.SourceGen/​SOS.TestHarness.SourceGen.csproj Removed (revert): mirror source generator project file.
src/​tests/​SOS.TestHarness.SourceGen/​MirrorGenerator.cs Removed (revert): generator that mirrored debuggee constants into tests.
src/​tests/​SOS.TestHarness.EngineHost/​SOS.TestHarness.EngineHost.csproj Removed (revert): dbgeng EngineHost helper project file.
src/​tests/​SOS.TestHarness.EngineHost/​Program.cs Removed (revert): EngineHost REPL program.
src/​tests/​SOS.TestHarness.Capturer/​SOS.TestHarness.Capturer.csproj Removed (revert): capturer helper project file.
src/​tests/​SOS.TestHarness.Capturer/​Program.cs Removed (revert): capturer program entry point.
src/​tests/​Debuggees.proj Removed (revert): SOS single-file debuggee publish target and item list.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@steveisok

Copy link
Copy Markdown
Member Author

/ba-g Known eventpipe issue

@steveisok
steveisok merged commit 1b5667c into main Sep 4, 2026
24 of 27 checks passed
steveisok added a commit that referenced this pull request Sep 4, 2026
## Summary

- Restores the complete reviewed SOS test harness from
[#5979](#5979) after its exact
revert in [#6006](#6006).
- Re-establishes this change as the new bottom layer beneath
[#5999](#5999),
[#6000](#6000),
[#6001](#6001), and
[#6002](#6002).
- Temporarily excludes only `SOS.Tests` from local CI via `SkipTests`
when `ContinuousIntegrationBuild` is true. Normal local builds and
discovery remain enabled until the upper Helix layer moves execution out
of local CI.

## Reconstruction proof

- The baseline restoration commit
`2c7616acc2be6b20cf377574fa52e40196f16ca7` has tree
`5d2ab7a6990a8cdc2ff8a3d2ec7a29e373b99d54`, exactly matching the
pre-revert commit `ec5af2a1a56c4d9348e7e92438bb2faf8684f15f`.
- The only subsequent delta is five added lines in
`src/tests/SOS.Tests/SOS.Tests.csproj` for the temporary CI-only skip.

## Validation

- `./dotnet.sh build src/tests/SOS.Tests/SOS.Tests.csproj --no-restore
--verbosity minimal` — succeeds with 0 warnings and 0 errors.
- Focused Microsoft.Testing.Platform discovery for
`SOS.Tests.PrintExceptionTests.PrintException_Data` with
DotnetDump/Core/net10 constraints — 2 expected rows discovered without
`ContinuousIntegrationBuild`.
- MSBuild property evaluation: default `SkipTests` is empty;
`-p:ContinuousIntegrationBuild=true` evaluates `SkipTests=true`.

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c34cd9f4-d3b5-4b46-b7fc-e34b34bc88c3
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.

4 participants