Repository navigation
fix(scripts): make --result_dir absolute in server-conformance.sh - #1409
Merged
guglielmo-san merged 2 commits intoOct 19, 2026
Conversation
A relative --result_dir — the form CONTRIBUTING.md documents — was passed to --output-dir from inside the same directory, so every result landed in <dir>/<dir>/. The run still exited 0, which is why it went unnoticed. client-conformance.sh already received this fix in modelcontextprotocol#1366; take the same two lines here.
guglielmo-san
approved these changes
Oct 19, 2026
guglielmo-san
pushed a commit
that referenced
this pull request
Oct 19, 2026
The result-directory fix in #1409 also changed `scripts/server-conformance.sh` from mode 100755 to 100644. The nightly workflow invokes this script directly, so it now exits with `Permission denied` before running conformance checks. Restore the executable bit. The script contents, including the result-directory fix, remain byte-for-byte identical. Validation: - Direct `./scripts/server-conformance.sh --help`: exit 126 before the change, exit 0 afterward. - `bash -n scripts/server-conformance.sh` and `git diff --check` pass. - Independent review confirmed this is a mode-only change and repeated the direct help invocation successfully. The full server conformance suite was not run for this permission-only change. The help path exits before setup or cleanup. AI assistance: Codex helped reproduce, implement, and verify this change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
scripts/server-conformance.shresolves--result_dironly once, so a relative path — exactly the formCONTRIBUTING.md:64documents — writes every result into a nested copy of itself.:63creates the directory,:64makes itWORKDIR, and then:95/:101run the tests from inside that directory while passing--output-dir "$RESULT_DIR"(:99/:105). A relative$RESULT_DIRtherefore resolves against itself:<dir>/<dir>/.Measured on Windows / Git Bash:
The run still reports success, which is why nobody noticed: the results are real, just one level down from where the documented command says they are.
The change
This is the block
scripts/client-conformance.sh:58-62already has — added there by #1366 (2026-10-14) and the server script was missed:Two lines in one file, taking the absolute path so the later
cd "$WORKDIR"cannot change what--output-dirrefers to. Cobbled from the client script verbatim, comment included, so the two stay recognisably the same fix.Scope
$(go env GOEXE)on the server binary at:70. I checked before ruling it out — unlike the client path, nothing spawns the server throughcmd.exe, and Git Bash executes the extensionless PE, so it is not a defect.commits?path=scripts/server-conformance.sh(3 commits, last 2026-07-14) and a search forresult_dir(only scripts: fix client-conformance.sh on Windows and with a relative --result_dir #1366 and scripts: add conformance test runner #694) found no open PR, no open issue and no merged fix for the server side. TheCONTRIBUTING.md:64line that documents the relative form is unchanged since it was written.