Skip to content

test_pdb fails: Unexpected sys.path[0] behavior with PYTHONSAFEPATH set #123121

Closed as not planned

Description

@xncbf

Bug report

Bug description:

Issue:
The test_safe_path function in test_pdb.py is failing. When PYTHONSAFEPATH is set to '1', sys.path[0] still includes the current working directory, which is unexpected.

Steps to Reproduce:

  1. Run the Python test suite, specifically focusing on test_pdb.
  2. Observe that test_safe_path fails with the following error:
AssertionError: 'sys.path[0] is /Users/joon/projects/cpython/build/test_python_68610æ/tempcwd' unexpectedly found in '> /Users/joon/projects/cpython/build/test_python_68610æ/tempcwd/main.py(2)<module>()
-> import sys
(Pdb) sys.path[0] is /Users/joon/projects/cpython/build/test_python_68610æ/tempcwd/$PYTHONPATH
The program finished and will be restarted
> /Users/joon/projects/cpython/build/test_python_68610æ/tempcwd/main.py(2)<module>()
-> import sys
(Pdb) 
'

Expected Behavior:
When PYTHONSAFEPATH is set to '1', sys.path[0] should not include the current working directory.

Actual Behavior:
sys.path[0] includes the current working directory, and there's an unexpected $PYTHONPATH appended to the path.

Environment:

  • Python version: 3.14.0
  • OS: macos sonoma 14.1.1 (apple silicon)

#121724

CPython versions tested on:

CPython main branch

Operating systems tested on:

macOS

Activity

  1. added
    type-bugAn unexpected behavior, bug, or error
    on Aug 18, 2024
  2. Eclips4 commented on Aug 18, 2024

    @Eclips4
    Member
  3. changed the title [-][BUG] test_pdb fails: Unexpected sys.path[0] behavior with PYTHONSAFEPATH set[/-] [+] test_pdb fails: Unexpected sys.path[0] behavior with PYTHONSAFEPATH set[/+] on Aug 18, 2024
  4. changed the title [-] test_pdb fails: Unexpected sys.path[0] behavior with PYTHONSAFEPATH set[/-] [+]test_pdb fails: Unexpected sys.path[0] behavior with PYTHONSAFEPATH set[/+] on Aug 18, 2024
  5. gaogaotiantian commented on Aug 18, 2024

    @gaogaotiantian
    Member

    How did you run test_safe_path with PYTHONSAFEPATH = 1? It should be skipped (not that it's what I had in mind when I wrote the test).

        @unittest.skipIf(sys.flags.safe_path,
                         'PYTHONSAFEPATH changes default sys.path')
        def _run_pdb(self, pdb_args, commands,
                     expected_returncode=0,
                     extra_env=None):
  6. xncbf commented on Aug 19, 2024

    @xncbf
    SponsorContributorAuthor
    ./python.exe -m test test_pdb
    ./python.exe -m test test_pdb --forever
    

    The above command fails when executed after the build. No other preliminary work is needed.

  7. gaogaotiantian commented on Aug 19, 2024

    @gaogaotiantian
    Member

    Are you able to repro this with

    ./python.exe -m test test_pdb -m test_safe_path
    

    Can you copy/paste the full output? Is it because of mac that the test actually ran?

  8. added
    pendingThe issue will be closed if no feedback is provided
    on Oct 24, 2024
  9. removed
    pendingThe issue will be closed if no feedback is provided
    on Dec 2, 2024
  10. picnixz commented on Dec 2, 2024

    @picnixz
    Member

    Closing as cannot reproduce since the OP did not reply for a while.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    testsTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions