python / python/cpython

test_embed may fail if PYTHONSTARTUP set

未關閉
#157,006 0 則留言 0 個 reaction 已指派 1 人 在 GitHub 檢視

@cmaloney 已經在處理了。

開始於 2026年9月5日。

tests type-bug
主要語言
Python
星號
77.2k
分支
36k
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. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。