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

Pyton test discovery has suddenly stopped working #24672

Open
erry-whiskypartners opened this issue Jan 3, 2025 · 5 comments
Open

Pyton test discovery has suddenly stopped working #24672

erry-whiskypartners opened this issue Jan 3, 2025 · 5 comments
Labels
triage-needed Needs assignment to the proper sub-team

Comments

@erry-whiskypartners
Copy link

Type: Bug

Behaviour

It seems to start but then hang. No tests are ever discovered and the process is shown as running

2025-01-03 09:45:15.675 [info] > . ~/Library/Caches/pypoetry/virtualenvs/wp-inventory-O6dCq0oP-py3.11/bin/activate && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python ~/.vscode/extensions/ms-python.python-2024.22.1-darwin-arm64/python_files/printEnvVariables.py
2025-01-03 09:45:15.675 [info] shell: bash
2025-01-03 09:45:15.710 [info] > ~/Library/Caches/pypoetry/virtualenvs/wp-inventory-O6dCq0oP-py3.11/bin/python -m pytest -p vscode_pytest --collect-only src --rootdir=.
2025-01-03 09:45:15.710 [info] cwd: .
2025-01-03 09:45:17.407 [info] ============================= test session starts ==============================
platform darwin -- Python 3.11.5, pytest-7.4.4, pluggy-1.5.0

2025-01-03 09:45:17.410 [info] django: version: 4.2.16, settings: core.settings (from ini)
rootdir: /Users/erry/repos/wp-inventory
configfile: pyproject.toml
plugins: ddtrace-2.14.4, Faker-30.8.0, cov-4.1.0, django-4.9.0, mock-3.14.0, xdist-3.6.1

2025-01-03 09:45:18.407 [info] collected 800 items

<Package serializers>
  <Module test_public_account_read_serializer.py>
    <Class TestPublicAccountBalanceSerializer>
      <Function test_valid_instance>
      <Function test_read_only_fields>
(truncated to fit github content, let me know if you want the full one)

It works if i do it manualy

python -m pytest --collect-only src            
============================= test session starts ==============================
platform darwin -- Python 3.11.5, pytest-7.4.4, pluggy-1.5.0
django: version: 4.2.16, settings: core.settings (from ini)
rootdir: /Users/erry/repos/wp-inventory
configfile: pyproject.toml
plugins: ddtrace-2.14.4, Faker-30.8.0, cov-4.1.0, django-4.9.0, mock-3.14.0, xdist-3.6.1
collected 800 items

<SNIP>
=============================== warnings summary ===============================
../../Library/Caches/pypoetry/virtualenvs/wp-inventory-O6dCq0oP-py3.11/lib/python3.11/site-packages/rest_framework/fields.py:992
  /Users/erry/Library/Caches/pypoetry/virtualenvs/wp-inventory-O6dCq0oP-py3.11/lib/python3.11/site-packages/rest_framework/fields.py:992: UserWarning: min_value should be a Decimal instance.
    warnings.warn("min_value should be a Decimal instance.")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========================= 800 tests collected in 0.75s =========================

This worked flawlessly until yesterday.Nothing has changed on our test set up.

Steps to reproduce:

1 Just do test discovery

Extension version: 2024.22.1
VS Code version: Code 1.96.2 (Universal) (fabdb6a30b49f79a7aba0f2ad9df9b399473380f, 2024-12-19T10:22:47.216Z)
OS version: Darwin arm64 24.1.0
Modes:

  • Python version (& distribution if applicable, e.g. Anaconda): 3.11.5
  • Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Poetry
  • Value of the python.languageServer setting: Default
User Settings


languageServer: "Pylance"

testing
• cwd: "<placeholder>"
• pytestArgs: "<placeholder>"
• pytestEnabled: true
• pytestPath: "<placeholder>"

Installed Extensions
Extension Name Extension Id Version
2077 theme Endormi.2077-theme 1.5.3
Black Formatter ms-python.black-formatter 2024.4.0
CSV to Table phplasma.csv-to-table 1.4.1
Cyberpunk max-SS.Cyberpunk 1.2.14
Dev Containers ms-vscode-remote.remote-containers 0.394.0
Docker ms-azuretools.vscode-docker 1.29.3
Doppler doppler.doppler-vscode 0.0.10
GitHub Actions github.vscode-github-actions 0.27.0
GitHub Pull Requests GitHub.vscode-pull-request-github 0.102.0
GitLens — Git supercharged eamodio.gitlens 16.1.1
HashiCorp Terraform hashicorp.terraform 2.34.2
isort ms-python.isort 2023.10.1
JavaScript Debugger ms-vscode.js-debug 1.96.0
JavaScript Debugger Companion Extension ms-vscode.js-debug-companion 1.1.3
Lifeline: Clock & battery kjhx.vscode-lifeline 1.2.0
Makefile Tools ms-vscode.makefile-tools 0.11.13
Prettier - Code formatter esbenp.prettier-vscode 11.0.0
Prettier SQL VSCode inferrinizzard.prettier-sql-vscode 1.6.0
Pylance ms-python.vscode-pylance 2024.12.1
Python ms-python.python 2024.22.1
Python Debugger ms-python.debugpy 2024.14.0
Rainbow CSV mechatroner.rainbow-csv 3.13.0
Remote - SSH ms-vscode-remote.remote-ssh 0.116.1
Remote - SSH: Editing Configuration Files ms-vscode-remote.remote-ssh-edit 0.87.0
Remote Explorer ms-vscode.remote-explorer 0.4.3
Spectral stoplight.spectral 1.1.4
Table Visualizer for JavaScript Profiles ms-vscode.vscode-js-profile-table 1.0.10
Trailing Spaces shardulm94.trailing-spaces 0.4.1
Vim vscodevim.vim 1.29.0
XML redhat.vscode-xml 0.27.2
YAML redhat.vscode-yaml 1.15.0
System Info
Item Value
CPUs Apple M1 Pro (8 x 2400)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off
Load (avg) 4, 7, 11
Memory (System) 16.00GB (0.08GB free)
Process Argv --crash-reporter-id 850d1a48-013f-4f6c-9e0c-7a68499eea23
Screen Reader no
VM 0%
A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805:30301674
binariesv615:30325510
vsaa593:30376534
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
a9j8j154:30646983
962ge761:30959799
pythonnoceb:30805159
pythonmypyd1:30879173
2e7ec940:31000449
pythontbext0:30879054
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
dvdeprecation:31068756
dwnewjupytercf:31046870
newcmakeconfigv2:31071590
nativerepl2:31139839
pythonrstrctxt:31112756
nativeloc1:31192215
cf971741:31144450
iacca1:31171482
notype1:31157159
5fd0e150:31155592
dwcopilot:31170013
stablechunks:31184530
6074i472:31201624

@github-actions github-actions bot added the triage-needed Needs assignment to the proper sub-team label Jan 3, 2025
@dvirbech
Copy link

dvirbech commented Jan 3, 2025

Same as #24656

@ousmaneTra
Copy link

same here since a couple of days

@dougppaz
Copy link

dougppaz commented Jan 3, 2025

same here, macos

I went back to version 22.0 and it started working again

@SiorMeir
Copy link

SiorMeir commented Jan 5, 2025

Same with MacOS. Tested on 2 different systems. Happens in pre-release version as well

@mucki-at
Copy link

mucki-at commented Jan 5, 2025

I have been debugging this, and there seems to be a problem with the pipe communication in the send_message method in vscode_pytest/init.py:

It seems that if the length of the request exceeds a certain size the write() call never completes. Since there is no timeout mechanism in place the test discovery just hangs forever.

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

6 participants