mcpdo: run the daemon test suites on Windows by porting the harness to named pipes
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 53/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- github-actions, node.js, typescript
调研方向
Start with clients/mcpdo/src/daemon/paths.ts, clients/mcpdo/__tests__/helpers/platform.ts, and the daemon test suites gated by unixDaemonOnly; trace how they construct endpoints and wait during teardown. Run the tests on the Windows CI job and identify cases that depend on POSIX behavior. Done means the daemon suites run on Windows, only explicitly justified POSIX cases remain skipped, and the Windows coverage carve-out is removed from clients/mcpdo/vitest.config.ts.
由索引模型根据 Issue 内容生成。
描述
Problem
mcpdo's Windows daemon path has never been run by a test. Production code already uses a named pipe on win32 (getDaemonSocketPath in clients/mcpdo/src/daemon/paths.ts returns \\.\pipe\mcp-conn-<hash>, and clients/mcpdo/src/daemon/client.ts handles the pipe path when locating the token file). But the daemon test harness was written for a Unix domain socket:
- suites bind or poll
<dir>/mcpdod.sockdirectly. Windows refuses that withEACCES, and the tests then time out waiting on the daemon. - teardown waits for the socket file to vanish. A pipe never appears there, so a live daemon keeps the temp dir open and
rmSyncfails withEBUSY. - some assertions assume POSIX premises (
0700directories, thesun_pathlimit).
#2748 (PR #2906) therefore skips 127 mcpdo tests on win32 (unixDaemonOnly in clients/mcpdo/__tests__/helpers/platform.ts). It also turns off mcpdo's per-file 90% coverage threshold on Windows only (clients/mcpdo/vitest.config.ts), because the daemon modules fall below it there. The new windows CI job is green, but it doesn't show that the daemon works on Windows.
Expected
- The daemon test helpers derive the endpoint from
getDaemonSocketPathinstead of a hard-coded.sockfile, and tear down a named-pipe daemon cleanly on Windows. - The suites gated by
unixDaemonOnlyrun on thewindowsCI job. Only cases that assert genuinely POSIX-only behaviour stay skipped, each with its reason at the site. - mcpdo's per-file 90% threshold is enforced on Windows again, and the win32 carve-out in
clients/mcpdo/vitest.config.tsis removed.
Verification has to come from the windows CI job; maintainers develop on macOS.
- 主要语言
- TypeScript
- 星标
- 11.2k
- 派生
- 1.6k
- 平均合并
- 3 小时 36 分钟
- 30 天内合并 PR
- 154
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
modelcontextprotocol/inspector 的其他 Issue
-
Document load testing and Active Sessions on modelcontextprotocol.io可能已有人在做 @cliffhall 于 2 天前认领。 未关闭documentation v2 waiting-on-docs
modelcontextprotocol/inspector#2869 · 2 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
CLI: OAuth denials and other non-usage failures exit 1 with code "error", the same as a usage error未关闭bug v2
难度 3/5 1-2 天 新手友好度 68/100
modelcontextprotocol/inspector#2842 · 2 条评论 ·
维护者通常 1 天内回复
-
blocked chore v2
难度 4/5 3-5 天 新手友好度 48/100
modelcontextprotocol/inspector#2548 · 1 条评论 ·
维护者通常 1 天内回复
-
blocked chore v2
难度 4/5 3-5 天 新手友好度 52/100
modelcontextprotocol/inspector#2547 · 1 条评论 ·
维护者通常 1 天内回复
-
Create the GitHub App for board writes and security-alert reads, and store its credentials as org secrets可能已有人在做 @cliffhall 于 18 天前认领。 未关闭chore v2
难度 4/5 3-5 天 新手友好度 35/100
modelcontextprotocol/inspector#2544 · 1 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
查看 modelcontextprotocol/inspector 的全部 Issue
相似的 Issue
-
bug needs-triage potential-regression
难度 2/5 1-3 小时 新手友好度 78/100
aws/aws-sdk-js-v3#8408 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
colinhacks/zod#6743 ·
维护者通常 1 天内回复
-
[BUG] Packing list: the weight field drops digits on a slow connection and saves the wrong weight未关闭
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 79/100
openai/openai-node#3124 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 73/100
anthropics/anthropic-sdk-typescript#1296 ·
维护者通常 8 天内回复