Repository navigation
test(windows): guard clean MCP stdio startup - #2213
lorenzozanee wants to merge 1 commit into
Conversation
|
Thanks for opening this — it has been seen, and it is queued. This note is automated, but it is not a brush-off: it exists so you know where your PR stands instead of having to guess from silence. Current review status: working through a backlog. What that means for this PR, concretely:
Things that will genuinely speed it up whenever review does happen:
If this fixes a bug, a reproduction we can run is worth more than a description of the symptom. Thanks for contributing, and sorry in advance for the wait. |
|
Thank you for building a native Windows MCP stdio guard for #654 — that platform is where our hardest bugs hide and guards there are worth a lot. Before you spend any time on this one: I think it may be a double-submit, and I would rather ask than close it on you. This PR and #2217 are the same guard for the same issue, opened thirteen seconds apart. #2217 looks like the fuller version:
If that is right, #2217 is the one to keep and this can be closed — but it is your work and your call, so tell me which you want and I will do the rest. If they are actually different and I have misread, say so and I will review both. Whichever survives needs the same two things: The
#2241 and #2242 both merged today after review. Good work on those. |
|
Thanks again for the Windows guard. Following up on the duplicate-submission question: please confirm whether #2217 is the intended canonical version, or describe the distinction if both are needed. Neither PR is being closed in this sweep. |
|
Thanks again for the Windows startup guard. Could you confirm whether #2217 is the canonical submission, or explain the distinction if both are needed? That will let us continue with the right PR without duplicating your work. |
|
Thank you, @lorenzozanee, for this guard and the care that went into it. We held both versions open while we asked which one you wanted to keep. Since we have not heard back, we are closing this one as a duplicate of #2217, which carries the same Windows startup check for #654 in its newer form (it restores #2182, your second pass at #2097). That guard has now landed in #2952 (merge ff812bf), with you credited as co-author. For the record, #2217 was the right one to keep, for two reasons:
Both versions check the English and the Spanish message. Our first comparison said only #2217 did; that was our mistake, sorry for the confusion. Handling a localized machine at all is the kind of detail that usually gets found the hard way, so thank you for that. |
Adds a native Windows guard for DeusData#654: a successful MCP initialize + tools/list exchange, run against an isolated cache and runtime directory, must leave nothing on stderr but the server's own structured log lines. - tests/windows/test_mcp_stdio.py: the guard. The English and Spanish path-not-found messages reported in DeusData#654 are named cases; any other non-empty stderr line that is not a structured "level=<name> msg=<event>" record fails as well, so the same leak on a machine in another language is caught without listing its translation. The log format is pinned to text so an inherited CBM_LOG_FORMAT=json cannot change the verdict. Cache and runtime live under one temp root, so both are removed with it, also on failure, after the daemon is stopped. - tests/windows/mcp_stdio.py: close() joins the stderr reader, and the new stderr_complete() reports whether the reader reached EOF. The guard reads stderr only after it has; a reader still running after the server exited is a SETUP failure (exit 2), never a verdict on a partial capture. - scripts/test-windows.ps1: registers the guard in the green guard list and documents it in the header. DeusData#2213 was an earlier duplicate of the same check. Refs DeusData#654. Distilled from DeusData#2217. Co-authored-by: lorenzozanee <[email protected]> Co-authored-by: Shinken009 <[email protected]> Signed-off-by: Martin Vogel <[email protected]>
What does this PR do?
Adds a native Windows MCP stdio regression guard for #654. The guard isolates daemon runtime cleanup and rejects the reported path-not-found diagnostics after a successful initialize/tools/list exchange.
Checklist
git commit -s) — required, CI rejectsunsigned commits (DCO, see CONTRIBUTING.md)
make -f Makefile.cbm test)make -f Makefile.cbm lint-ci)Fixes #654
Supersedes #2097(原PR分支已删,按原提交重建)