test_embed may fail if PYTHONSTARTUP set
@cmaloney is already working on this.
Since Sep 5, 2026.
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 36k
- PR merge metrics
- PR metrics pending
Description
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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.