python / python/cpython

test_embed may fail if PYTHONSTARTUP set

オープン
#157,006 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

@cmaloney がすでに取り組んでいます。

2026年9月5日 から。

tests type-bug
主要言語
Python
スター
77.2k
フォーク
35.9k
PR マージ指標
PR 指標を取得中

説明

Bug report

Bug description:

The Visual Studio Code Python Extension (https://marketplace.visualstudio.com/items?itemName=ms-python.python) added what it calls "Shell Integration" recently. That adds aPYTHONSTARTUP environment variable to the environment variables of terminals it starts pointing to a file pythonrc.py. That changes the prompt the REPL prints and adds various hooks.

Changing what is printed breaks test_embed (./python -m test test_embed) which has some direct assertions on what is printed:

0:00:00 load avg: 0.20 mem: 41.2 MiB [1/1] test_embed
test test_embed failed -- Traceback (most recent call last):
  File "/home/$USER/projects/python/cpython/Lib/test/test_embed.py", line 621, in test_init_run_main_interactive_exitcode
    self.check_program_exitcode("test_init_run_main_interactive_exitcode",
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                input=code,
                                ^^^^^^^^^^^
                                check_stderr=False)
                                ^^^^^^^^^^^^^^^^^^^
  File "/home/$USER/projects/python/cpython/Lib/test/test_embed.py", line 602, in check_program_exitcode
    self.assertEqual(out.rstrip(), 'ok! Py_RunMain() returned 123')
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 'Ctrl click to launch VS Code Native REPL\nok! Py_RunMain() returned 123' != 'ok! Py_RunMain() returned 123'
- Ctrl click to launch VS Code Native REPL
  ok! Py_RunMain() returned 123


0:00:06 load avg: 0.51 mem: 42.1 MiB [1/1/1] test_embed failed (1 failure)

test_embed should clear / ignore the environment in this test (as it does many others).

CPython versions tested on:

CPython main branch

Operating systems tested on:

Linux

Linked PRs
  • gh-157007
  • gh-157008
  • gh-157009
  • gh-157010

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。