Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Debug Test" ignores breakpoints, seems to ignore "debug-test" profile in launch.json #459

Open
rolfvandam opened this issue Sep 18, 2024 · 0 comments
Assignees
Labels
triage-needed Needs assignment to the proper sub-team

Comments

@rolfvandam
Copy link

Whenever I run "Debug Test" (from either the testing pane or by right clicking on the margin left of the code and selecting it) it runs the test just fine but it ignores breakpoints.

I've configured the following section in launch.json for "Debug Test":

        {
          "name": "Python: Debug Tests",
          "type": "debugpy",
          "request": "launch",
          "console": "integratedTerminal",
          "justMyCode": false,  // Set to false to step into external libraries if necessary
          "purpose": ["debug-test"],  // Enables this configuration for "Debug Test"
          "program": "${workspaceFolder}/backend/tests",
          "args": ["-m", "pytest", "--capture=no"]  // Run pytest with optional args (disable output capturing)
        }

I have the following settings.json:

{
    "python.testing.pytestArgs": [
        "backend/tests"
    ],
    "python.testing.unittestEnabled": false,
    "python.testing.pytestEnabled": true,
    
}

This is the output when I run "Debug Test":

/usr/bin/env /home/rolf/.virtualenvs/marquee/bin/python /home/rolf/.vscode-server/extensions/ms-python.debugpy-2024.10.0-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher 35459 -- /home/rolf/.vscode-server/extensions/ms-python.python-2024.14.1-linux-x64/python_files/vscode_pytest/run_pytest_script.py --rootdir=/home/rolf/marquee --capture=no 
rolf@ubundev:~/marquee$  /usr/bin/env /home/rolf/.virtualenvs/marquee/bin/python /home/rolf/.vscode-server/extensions/ms-python.debugpy-2024.10.0-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher 35459 -- /home/rolf/.vscode-server/extensions/ms-python.python-2024.14.1-linux-x64/python_files/vscode_pytest/run_pytest_script.py --rootdir=/home/rolf/marquee --capture=no 
Received JSON data in run script
Running pytest with args: ['-p', 'vscode_pytest', '--rootdir=/home/rolf/marquee', '--capture=no', '/home/rolf/marquee/backend/tests/test_gs_movie_db.py::test_get_movies']
============================= test session starts ==============================
platform linux -- Python 3.11.6, pytest-8.3.2, pluggy-1.5.0
rootdir: /home/rolf/marquee
plugins: anyio-4.4.0
collected 1 item

backend/tests/test_gs_movie_db.py F

=================================== FAILURES ===================================

What follows is a bunch of failing tests that are beyond my breakpoint (so my breakpoint should have been triggered).

I don't have "pytest-cov" installed which presence was mentioned as a possible culprit.

I've tried testing wether the launch.json profile is being used by changing the args there and seeing if they also change in the execution log which doesn't seem to be the case (the same parameters are still used). The settings from settings.json do seem to be being used.

Also, it's possible to manually select a "Debug Test" profile in the testing section but it only ever shows one default profile to choose from even if I add more to the launch.json with the same "purpose": "debug-test" (maybe that's not how that works?).

I've also tried clearing both the Python and the Python Debugger cache and restarting but that doesn't change anything (except having to reselect the right interpreter from my Python virtual env).

When I debug normally it works fine and all breakpoints that I expect to hit activate the debugger. This is the regular debugging profile:

        {
            "name": "Python: FastAPI with Uvicorn",
            "type": "debugpy",
            "request": "launch",
            "module": "backend.api",
            "cwd":"${workspaceFolder}",
            "console": "integratedTerminal",
            "env": {
              "PYTHONPATH": "${workspaceFolder}"
            },
            "justMyCode": true
          }

I'm using VSCode 1.93.1, Python extension v2024.14.1, Python Debugger extension v2024.10.0 (latest versions).

I've also tried to switch to the pre-release version of the Python Debugger (+ clearing cache) but that doesn't seem to matter for this issue.

Another thing to note is that I'm using VSCode on MacOS over an SSH session on a local Ubuntu VM.

@github-actions github-actions bot added the triage-needed Needs assignment to the proper sub-team label Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage-needed Needs assignment to the proper sub-team
Projects
None yet
Development

No branches or pull requests

2 participants