Add smoke tests for Go and Rust clients - #196
Open
a-akimov wants to merge 2 commits into
Open
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
The changes are focused, consistent with existing client behavior, and the shell scripts pass syntax validation.
Pull request overview
Adds smoke-test coverage for Go and Rust MCP clients and aligns Rust’s empty API-key behavior with other clients.
Changes:
- Generalizes build helpers to accept binary names.
- Adds Go and Rust client smoke tests.
- Updates Rust API-key handling and test documentation.
File summaries
| File | Description |
|---|---|
tests/utils.sh |
Supports configurable Go and Rust binary names. |
tests/smoke-test.sh |
Adds Go and Rust client smoke tests. |
mcp-client-rust/src/main.rs |
Treats an empty API key as missing. |
tests/README.md |
Documents expanded client coverage. |
README.md |
States that all clients are smoke-tested. |
Review details
- Files reviewed: 5/5 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Motivation and Context
We were missing smoke tests for Go and Rust MCP clients, which we need to move with confidence. This PR aims to provide the base tests, similar to what we already have for Python, TypeScript and Ruby.
Assisted with Claude Code, reviewed by me.
What was changed:
tests/utils.sh: the build helper took no binary name and was hardwired to the server binaries, weather for Rust and server for Go. It now takes the binary name as a second argument, so the same helper builds clients.tests/smoke-test.sh: addedtest_mcp_client_goandtest_mcp_client_rust, wired into the run list. Each builds the client, then runs it against the mock MCP server with an empty API key. The Go binary is named mcp-client-go, which the root gitignore already covers. Server tests updated to pass their binary names. Stale note removed.mcp-client-rust/src/main.rs: the no-key check usedis_err(), so an empty key would have started the chat loop. It now treats empty as missing, matching the Python, TypeScript, Go, and Ruby clients. This is what lets the test force the no-key path without a developer's local.envinterfering.tests/README.mdand rootREADME.md: coverage description updated.How Has This Been Tested?
Locally.
Breaking Changes
No.
Types of changes
Checklist
Additional context
N/a