Skip to content

Migrate Python smoke check to public API runner#119

Merged
t-kalinowski merged 2 commits into
mainfrom
external-runner-python-smoke
Jun 18, 2026
Merged

Migrate Python smoke check to public API runner#119
t-kalinowski merged 2 commits into
mainfrom
external-runner-python-smoke

Conversation

@t-kalinowski

Copy link
Copy Markdown
Member

Summary

Migrate the basic Python console smoke scenario from the Rust integration suite into the external public API runner.

This continues the public API runner migration by checking Python through the same real-binary MCP stdio path already used for R cases.

User-facing changes

  • No runtime behavior changes.
  • The public API suite now exercises Python repl behavior through --interpreter python.

Internal changes

  • Added a python-console-basic runner case with files-mode Python server arguments.
  • Added polling for slow first Python startup before asserting the console result.
  • Removed the duplicate Rust python_smoke integration test.
  • Updated the active public runner plan decision log.

Finding:
[P2] Assert actual Python REPL output — /Users/tomasz/.codex/worktrees/5aad/mcp-repl/tests/run_integration_tests.py:637-638: The migrated Python smoke case can report success on Python startup failures because it only searches for the digit 2 in the returned text. When Python cannot start, such as when PATH lacks the selected python3 or MCP_REPL_PYTHON_EXECUTABLE points to a missing file, the tool returns startup failure text containing os error 2 with isError: false. This lets python-console-basic pass even though 1+1 never ran, so the new public API coverage can mask Python startup failures; assert the expected REPL output shape instead.

Response:
Added a regression test covering startup failure text with os error 2 and changed python-console-basic to assert the exact normalized MCP tool result for 1+1 output.
@t-kalinowski t-kalinowski marked this pull request as ready for review June 18, 2026 19:42
@t-kalinowski t-kalinowski merged commit 29649dd into main Jun 18, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant