Revert "Add new SOS test harness" - #6006
Merged
Merged
Conversation
This reverts commit bf833ee.
Contributor
There was a problem hiding this comment.
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.TestHarnesslibrary, engine host/capturer utilities, and its source generator. - Remove the
SOS.TestsxUnit test project and all of its test files. - Remove the
SosHarnessScenariosdebuggee 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.
noahfalk
approved these changes
Sep 3, 2026
tommcdon
approved these changes
Sep 3, 2026
Member
Author
|
/ba-g Known eventpipe issue |
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
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.
Reverts #5979