Skip to content

Stabilize plugin MCP tools test#19191

Merged
etraut-openai merged 2 commits intomainfrom
etraut/fix-plugin-mcp-ci-flake
Apr 23, 2026
Merged

Stabilize plugin MCP tools test#19191
etraut-openai merged 2 commits intomainfrom
etraut/fix-plugin-mcp-ci-flake

Conversation

@etraut-openai
Copy link
Copy Markdown
Collaborator

@etraut-openai etraut-openai commented Apr 23, 2026

Summary

The plugin MCP tool-listing test could hide MCP startup failures by polling ListMcpTools until its own 30s deadline. If the plugin MCP server startup had already failed or timed out, the session-owned MCP manager would keep returning an empty tool list, so CI only reported discovered tools: [] instead of the startup state that mattered.

This makes the test synchronize on McpStartupComplete for the sample plugin MCP server before asserting listed tools, and gives the Bazel-launched test server a larger startup window.

Notes

Confidence is about 80%. The source path strongly supports the RCA: a failed MCP startup is represented as an empty tool list through ListMcpTools, so the old polling contract could not distinguish "not ready yet" from "startup already failed." I could not retrieve the CI execution-log artifact to confirm the exact hidden startup error, but the observed Ubuntu Bazel failure matches this path: repeated ListMcpTools responses with no tools until the test-local timeout fired.

I think this is the right solution because it keeps plugin behavior unchanged and fixes only the test contract. Future startup failures should now report the McpStartupComplete failure/cancellation instead of timing out on an empty tool snapshot.

This test was introduced in #12864.

@etraut-openai etraut-openai requested a review from a team as a code owner April 23, 2026 19:34
@etraut-openai etraut-openai merged commit a50cb20 into main Apr 23, 2026
25 checks passed
@etraut-openai etraut-openai deleted the etraut/fix-plugin-mcp-ci-flake branch April 23, 2026 21:08
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants