From 848fd47ac63dcd9d4d1b155aca93bdd381fa8c16 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Wed, 19 Nov 2025 17:54:13 +0100 Subject: [PATCH 1/6] Revert "Revert "Update to MTP (#958)" (#989)" This reverts commit bf0a65b3e3e6e555cfb8e67bf7841d923256f93a. --- .github/dependabot.yml | 1 + Directory.Build.props | 5 ++-- Directory.Packages.props | 14 ++++----- Makefile | 19 +++++------- global.json | 3 ++ ...delContextProtocol.AspNetCore.Tests.csproj | 29 ++++--------------- .../ModelContextProtocol.Tests.csproj | 28 ++++-------------- 7 files changed, 32 insertions(+), 67 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7ffd6a269..57236c8cf 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -17,6 +17,7 @@ updates: patterns: - "xunit.*" - "Microsoft.NET.Test.Sdk" + - "Microsoft.Testing.*" - "coverlet.*" - "GitHubActionsTestLogger" - "Moq" diff --git a/Directory.Build.props b/Directory.Build.props index bd2aed325..1fad98569 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -29,8 +29,9 @@ - trx%3bLogFileName=$(MSBuildProjectName).$(TargetFramework).$(OS).trx - $(ArtifactsTestResultsDir) + true + <_MTPResultsDirectory>$(ArtifactsTestResultsDir) + $(TestingPlatformCommandLineArguments) --results-directory $(_MTPResultsDirectory) --report-trx --report-trx-filename $(MSBuildProjectName).$(TargetFramework).$(OS).trx diff --git a/Directory.Packages.props b/Directory.Packages.props index 062422e4a..f21988562 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -4,6 +4,7 @@ 8.0.22 9.0.11 10.0.0 + 2.0.2 @@ -52,11 +53,10 @@ - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - + + + + @@ -64,7 +64,6 @@ - @@ -79,8 +78,7 @@ - - + diff --git a/Makefile b/Makefile index f300ca158..8fd72b1e1 100644 --- a/Makefile +++ b/Makefile @@ -18,18 +18,15 @@ build: restore test: build dotnet test \ --no-build \ + --no-progress \ --configuration $(CONFIGURATION) \ - --filter '(Execution!=Manual)' \ - --blame \ - --blame-crash \ - --blame-hang-timeout 7m \ - --diag "$(ARTIFACT_PATH)/diag.txt" \ - --logger "trx" \ - --logger "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true" \ - --collect "XPlat Code Coverage" \ - --results-directory $(ARTIFACT_PATH)/testresults \ - -- \ - RunConfiguration.CollectSourceInformation=true + --filter-not-trait 'Execution=Manual' \ + --crashdump \ + --hangdump \ + --hangdump-timeout 7m \ + --coverage \ + --coverage-output-format cobertura \ + -p:_MTPResultsDirectory=$(ARTIFACT_PATH)/testresults \ pack: restore dotnet pack --no-restore --configuration $(CONFIGURATION) diff --git a/global.json b/global.json index fcb4599c2..4ed7c32bc 100644 --- a/global.json +++ b/global.json @@ -2,5 +2,8 @@ "sdk": { "version": "10.0.100", "rollForward": "minor" + }, + "test": { + "runner": "Microsoft.Testing.Platform" } } diff --git a/tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj b/tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj index 5d21d0a0a..19f4e4149 100644 --- a/tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj +++ b/tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj @@ -4,8 +4,7 @@ net10.0;net9.0;net8.0 enable enable - false - true + Exe ModelContextProtocol.AspNetCore.Tests @@ -14,41 +13,25 @@ false - - - true - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - + + + + - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - + diff --git a/tests/ModelContextProtocol.Tests/ModelContextProtocol.Tests.csproj b/tests/ModelContextProtocol.Tests/ModelContextProtocol.Tests.csproj index 425944624..6bdca3438 100644 --- a/tests/ModelContextProtocol.Tests/ModelContextProtocol.Tests.csproj +++ b/tests/ModelContextProtocol.Tests/ModelContextProtocol.Tests.csproj @@ -6,8 +6,6 @@ enable enable - false - true ModelContextProtocol.Tests $(NoWarn);NU1903;NU1902 @@ -18,13 +16,6 @@ false - - - true - - @@ -35,29 +26,20 @@ - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - + + + + - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - + From abf4f63678d22efa9371550bb74274bc4ebecab5 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Wed, 19 Nov 2025 17:59:13 +0100 Subject: [PATCH 2/6] Only read configuration when it's stable in targets --- Directory.Build.props | 8 -------- Directory.Build.targets | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 Directory.Build.targets diff --git a/Directory.Build.props b/Directory.Build.props index 1fad98569..e46d4ce64 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -15,23 +15,15 @@ $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts')) $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj')) $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin')) - $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'TestResults', '$(Configuration)')) - $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'packages', '$(Configuration)')) $(MSBuildProjectName) $([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(OutDirName)\')) - $(BaseIntermediateOutputPath)$(Configuration)\ $([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\')) - $(BaseOutputPath)$(Configuration)\ - - $(ArtifactsPackagesDir) true - <_MTPResultsDirectory>$(ArtifactsTestResultsDir) - $(TestingPlatformCommandLineArguments) --results-directory $(_MTPResultsDirectory) --report-trx --report-trx-filename $(MSBuildProjectName).$(TargetFramework).$(OS).trx diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 000000000..65f44d101 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,16 @@ + + + + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'TestResults', '$(Configuration)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'packages', '$(Configuration)')) + + $(BaseIntermediateOutputPath)$(Configuration)\ + $(BaseOutputPath)$(Configuration)\ + + $(ArtifactsPackagesDir) + + <_MTPResultsDirectory>$(ArtifactsTestResultsDir) + $(TestingPlatformCommandLineArguments) --results-directory $(_MTPResultsDirectory) --report-trx --report-trx-filename $(MSBuildProjectName).$(TargetFramework).$(OS).trx + + + From 1076d97f8a4df27df168e02b670294fea82ddb9b Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Wed, 19 Nov 2025 18:01:22 +0100 Subject: [PATCH 3/6] Revert "Only read configuration when it's stable in targets" This reverts commit abf4f63678d22efa9371550bb74274bc4ebecab5. --- Directory.Build.props | 8 ++++++++ Directory.Build.targets | 16 ---------------- 2 files changed, 8 insertions(+), 16 deletions(-) delete mode 100644 Directory.Build.targets diff --git a/Directory.Build.props b/Directory.Build.props index e46d4ce64..1fad98569 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -15,15 +15,23 @@ $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts')) $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj')) $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'TestResults', '$(Configuration)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'packages', '$(Configuration)')) $(MSBuildProjectName) $([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(OutDirName)\')) + $(BaseIntermediateOutputPath)$(Configuration)\ $([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\')) + $(BaseOutputPath)$(Configuration)\ + + $(ArtifactsPackagesDir) true + <_MTPResultsDirectory>$(ArtifactsTestResultsDir) + $(TestingPlatformCommandLineArguments) --results-directory $(_MTPResultsDirectory) --report-trx --report-trx-filename $(MSBuildProjectName).$(TargetFramework).$(OS).trx diff --git a/Directory.Build.targets b/Directory.Build.targets deleted file mode 100644 index 65f44d101..000000000 --- a/Directory.Build.targets +++ /dev/null @@ -1,16 +0,0 @@ - - - - $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'TestResults', '$(Configuration)')) - $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'packages', '$(Configuration)')) - - $(BaseIntermediateOutputPath)$(Configuration)\ - $(BaseOutputPath)$(Configuration)\ - - $(ArtifactsPackagesDir) - - <_MTPResultsDirectory>$(ArtifactsTestResultsDir) - $(TestingPlatformCommandLineArguments) --results-directory $(_MTPResultsDirectory) --report-trx --report-trx-filename $(MSBuildProjectName).$(TargetFramework).$(OS).trx - - - From f1bd66811c0461b1144c9a305db1a75798630466 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Wed, 19 Nov 2025 18:03:51 +0100 Subject: [PATCH 4/6] Workaround --- Directory.Build.props | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Directory.Build.props b/Directory.Build.props index 1fad98569..df8d974b8 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -11,6 +11,10 @@ + + + Debug + $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)')) $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts')) $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj')) From ec4eb6d1330f996659d920b7c902c8afae44a498 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Fri, 21 Nov 2025 09:09:08 +0100 Subject: [PATCH 5/6] Fix newly added test project --- ...odelContextProtocol.Analyzers.Tests.csproj | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/tests/ModelContextProtocol.Analyzers.Tests/ModelContextProtocol.Analyzers.Tests.csproj b/tests/ModelContextProtocol.Analyzers.Tests/ModelContextProtocol.Analyzers.Tests.csproj index 430db1b02..7c92975cc 100644 --- a/tests/ModelContextProtocol.Analyzers.Tests/ModelContextProtocol.Analyzers.Tests.csproj +++ b/tests/ModelContextProtocol.Analyzers.Tests/ModelContextProtocol.Analyzers.Tests.csproj @@ -7,25 +7,16 @@ - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - + From 0622ca9b60ad140251f238738514ba016e20c4d2 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Fri, 21 Nov 2025 11:20:00 +0100 Subject: [PATCH 6/6] Add missing OutputType --- .../ModelContextProtocol.Analyzers.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ModelContextProtocol.Analyzers.Tests/ModelContextProtocol.Analyzers.Tests.csproj b/tests/ModelContextProtocol.Analyzers.Tests/ModelContextProtocol.Analyzers.Tests.csproj index 7c92975cc..4b7486a44 100644 --- a/tests/ModelContextProtocol.Analyzers.Tests/ModelContextProtocol.Analyzers.Tests.csproj +++ b/tests/ModelContextProtocol.Analyzers.Tests/ModelContextProtocol.Analyzers.Tests.csproj @@ -3,7 +3,7 @@ net9.0 enable - true + Exe