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
派生
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. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。