Skip to content

Fix parallel integration test server startup - #1982

Open
jeffhandley wants to merge 1 commit into
modelcontextprotocol:mainfrom
jeffhandley:fix/windows-integration-server-startup-rebased
Open

jeffhandley wants to merge 1 commit into
modelcontextprotocol:mainfrom
jeffhandley:fix/windows-integration-server-startup-rebased

Conversation

@jeffhandley

Copy link
Copy Markdown
Contributor

Summary

Launch the pinned Everything and Memory integration-test servers directly with node instead of invoking npx for each connection. This avoids npm installation and shared-cache access during parallel server startup, addressing the Windows startup race.

  • Resolve installed server entry points from this checkout's node_modules, with an actionable error when dependencies are missing.
  • Add concurrent startup coverage for both Everything and the .NET test server.
  • Preserve main's deterministic .NET test-server paths.
  • Document the npm ci prerequisite and how to link a built local Everything server without changing the test arguments.

The existing Build and Test workflow already sets up Node 22 and runs npm ci before testing; no CI workflow changes are required.

Validation

  • Built ModelContextProtocol.Tests with zero warnings and errors.
  • Ran all ClientIntegrationTests on .NET 10, .NET 9, .NET 8, and .NET Framework 4.7.2: 61 passed and 2 skipped per framework, with no failures.

Note

This pull request description was generated by GitHub Copilot.

Launch pinned npm test servers directly with node instead of npx to avoid shared-cache races. Add concurrent startup coverage and document installation prerequisites.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 31750ec3-6eef-4c89-bf64-2bd317a692d9

This branch has not been deployed

No deployments
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.

1 participant