Skip to content

Use sys.executable in test_mcp.py instead of hardcoded "python"#18860

Merged
harupy merged 2 commits intomasterfrom
copilot/fix-use-sys-executable
Nov 17, 2025
Merged

Use sys.executable in test_mcp.py instead of hardcoded "python"#18860
harupy merged 2 commits intomasterfrom
copilot/fix-use-sys-executable

Conversation

Copy link
Contributor

Copilot AI commented Nov 17, 2025

Related Issues/PRs

#xxx

What changes are proposed in this pull request?

The test fixture in tests/mcp/test_mcp.py hardcodes command="python" when spawning the MCP server subprocess. This breaks when the test interpreter differs from what python resolves to (virtual environments, custom installations, CI).

Changes:

  • Import sys module
  • Use sys.executable instead of hardcoded "python" in the StdioTransport command

This aligns with the pattern already used in test_cli.py and throughout the test suite.

How is this PR tested?

  • Existing unit/integration tests
  • New unit/integration tests
  • Manual tests

All existing tests in tests/mcp/ pass with the change.

Does this PR require documentation update?

  • No. You can skip the rest of this section.
  • Yes. I've updated:
    • Examples
    • API references
    • Instructions

Release Notes

Is this a user-facing change?

  • No. You can skip the rest of this section.
  • Yes. Give a description of this change to be included in the release notes for MLflow users.

What component(s), interfaces, languages, and integrations does this PR affect?

Components

  • area/tracking: Tracking Service, tracking client APIs, autologging
  • area/models: MLmodel format, model serialization/deserialization, flavors
  • area/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registry
  • area/scoring: MLflow Model server, model deployment tools, Spark UDFs
  • area/evaluation: MLflow model evaluation features, evaluation metrics, and evaluation workflows
  • area/gateway: MLflow AI Gateway client APIs, server, and third-party integrations
  • area/prompts: MLflow prompt engineering features, prompt templates, and prompt management
  • area/tracing: MLflow Tracing features, tracing APIs, and LLM tracing functionality
  • area/projects: MLproject format, project running backends
  • area/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev server
  • area/build: Build and test infrastructure for MLflow
  • area/docs: MLflow documentation pages

How should the PR be classified in the release notes? Choose one:

  • rn/none - No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" section
  • rn/breaking-change - The PR will be mentioned in the "Breaking Changes" section
  • rn/feature - A new user-facing feature worth mentioning in the release notes
  • rn/bug-fix - A user-facing bug fix worth mentioning in the release notes
  • rn/documentation - A user-facing documentation change worth mentioning in the release notes

Should this PR be included in the next patch release?

  • Yes (this PR will be cherry-picked and included in the next patch release)
  • No (this PR will be included in the next minor release)
Original prompt

tests/mcp/test_mcp.py runs mcp server with "python" but sys.executable should be used instead to ensure the same python intepreter running the tests is used


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@harupy harupy marked this pull request as ready for review November 17, 2025 05:10
@github-actions
Copy link
Contributor

@Copilot Thank you for the contribution! Could you fix the following issue(s)?

⚠ Invalid PR template

This PR does not appear to have been filed using the MLflow PR template. Please copy the PR template from here and fill it out.

Co-authored-by: harupy <17039389+harupy@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix mcp server to use sys.executable for python interpreter Use sys.executable in test_mcp.py instead of hardcoded "python" Nov 17, 2025
Copilot AI requested a review from harupy November 17, 2025 05:19
@harupy harupy changed the title Use sys.executable in test_mcp.py instead of hardcoded "python" Use sys.executable in test_mcp.py instead of hardcoded "python" Nov 17, 2025
@github-actions github-actions bot added v3.6.1 area/build Build and test infrastructure for MLflow rn/none List under Small Changes in Changelogs. labels Nov 17, 2025
@harupy harupy removed the v3.6.1 label Nov 17, 2025
@harupy harupy enabled auto-merge November 17, 2025 05:34
@harupy harupy disabled auto-merge November 17, 2025 06:06
@harupy harupy merged commit 98b7dd6 into master Nov 17, 2025
63 of 70 checks passed
@harupy harupy deleted the copilot/fix-use-sys-executable branch November 17, 2025 06:06
mprahl pushed a commit to opendatahub-io/mlflow that referenced this pull request Nov 21, 2025
…mlflow#18860)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: harupy <17039389+harupy@users.noreply.github.com>
Tian-Sky-Lan pushed a commit to Tian-Sky-Lan/mlflow that referenced this pull request Nov 24, 2025
…mlflow#18860)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: Tian Lan <sky.blue266000@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/build Build and test infrastructure for MLflow rn/none List under Small Changes in Changelogs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants