diff --git a/TestFx.slnx b/TestFx.slnx index a761d01781..71fa9bca7a 100644 --- a/TestFx.slnx +++ b/TestFx.slnx @@ -55,7 +55,7 @@ - + diff --git a/src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/PACKAGE.md b/src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/PACKAGE.md deleted file mode 100644 index 2b609543b0..0000000000 --- a/src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/PACKAGE.md +++ /dev/null @@ -1,31 +0,0 @@ -# Microsoft.Testing.Platform.DotnetTestProtocol - -This package shares — **as compiled source** — the `dotnet test` named-pipe **wire contract** used between a -[Microsoft.Testing.Platform](https://www.nuget.org/packages/Microsoft.Testing.Platform) test host and the -`dotnet test` command line. - -It exists so the protocol's serializer/field ids and handshake/session/state constants have a **single source of -truth** across the [microsoft/testfx](https://github.com/microsoft/testfx) and -[dotnet/sdk](https://github.com/dotnet/sdk) repositories, instead of being hand-copied (where any drift is a silent -wire-protocol break). - -> This package is an implementation detail of `dotnet test` integration. It is **not** intended for direct -> end-user consumption. - -## What's inside - -The package ships two zero-dependency source files as `contentFiles` (compiled into the consuming assembly): - -- `ObjectFieldIds.cs` — serializer ids and per-message field ids. -- `Constants.cs` — handshake property names, execution modes, session-event types, test states and the protocol - version. - -Because they are delivered as `contentFiles/cs/any` with `BuildAction=Compile`, the consumer compiles them into its -**own** assembly, so the `internal` types are visible without any `InternalsVisibleTo` plumbing. - -## Scope - -Only the wire **contract** (ids + constants) is shared here. The message **models** and **serializers** are not -included yet because they still depend on `TestMetadataProperty` -(`Microsoft.Testing.Platform.Extensions.Messages`) and use a different class shape than the SDK's copy; sharing them -requires decoupling/unifying first. diff --git a/src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/Microsoft.Testing.Platform.DotnetTestProtocol.csproj b/src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/Microsoft.Testing.Platform.Internal.DotnetTest.csproj similarity index 61% rename from src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/Microsoft.Testing.Platform.DotnetTestProtocol.csproj rename to src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/Microsoft.Testing.Platform.Internal.DotnetTest.csproj index 977aac4bef..7029e32f37 100644 --- a/src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/Microsoft.Testing.Platform.DotnetTestProtocol.csproj +++ b/src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/Microsoft.Testing.Platform.Internal.DotnetTest.csproj @@ -11,14 +11,19 @@ netstandard2.0 true false @@ -42,7 +47,7 @@ +This is an INTERNAL, source-only package: it shares - as compiled source - the pieces of the 'dotnet test' <-> Microsoft.Testing.Platform integration that must stay a single source of truth across the microsoft/testfx and dotnet/sdk repositories (today: the named-pipe wire contract; designed to also host the terminal reporter). It is an implementation detail of 'dotnet test' integration and is NOT intended for direct end-user consumption.]]> diff --git a/src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/PACKAGE.md b/src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/PACKAGE.md new file mode 100644 index 0000000000..78e8636516 --- /dev/null +++ b/src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/PACKAGE.md @@ -0,0 +1,33 @@ +# Microsoft.Testing.Platform.Internal.DotnetTest + +This is an **internal, source-only** package. It shares — **as compiled source** — the pieces of the `dotnet test` +↔ [Microsoft.Testing.Platform](https://www.nuget.org/packages/Microsoft.Testing.Platform) integration that must +stay a **single source of truth** across the [microsoft/testfx](https://github.com/microsoft/testfx) and +[dotnet/sdk](https://github.com/dotnet/sdk) repositories, instead of being hand-copied (where any drift is a silent +break). + +> ⚠️ This package is an **implementation detail** of `dotnet test` integration — that is what the `Internal` in the +> name signals. It is `IsShipping=false` (not published to nuget.org) and is **not** intended for direct end-user +> consumption. (A *public* MTP client/orchestration library was proposed in +> [#5667](https://github.com/microsoft/testfx/issues/5667); that is a separate effort, closed pending a real use +> case.) + +## What's inside + +The package ships shared source files as `contentFiles/cs/any` with `BuildAction=Compile`, so the consumer compiles +them into its **own** assembly and the `internal` types are visible without any `InternalsVisibleTo` plumbing. + +Today it ships the `dotnet test` named-pipe **wire contract**: + +- `ObjectFieldIds.cs` — serializer ids and per-message field ids. +- `Constants.cs` — handshake property names, execution modes, session-event types, test states and the protocol + version. + +It is designed to grow to host the other source shared with `dotnet test` (e.g. the terminal reporter). + +## Scope + +Only the wire **contract** (ids + constants) is shared today. The message **models** and **serializers** are not +included yet because they still depend on `TestMetadataProperty` +(`Microsoft.Testing.Platform.Extensions.Messages`) and use a different class shape than the SDK's copy; sharing them +requires decoupling/unifying first.