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

Pytest discovery fails with 'Function' object has no attribute 'fspath' #20830

Closed
gjoseph92 opened this issue Mar 10, 2023 · 26 comments · Fixed by #22384
Closed

Pytest discovery fails with 'Function' object has no attribute 'fspath' #20830

gjoseph92 opened this issue Mar 10, 2023 · 26 comments · Fixed by #22384
Assignees
Labels
area-testing info-needed Issue requires more information from poster triage-needed Needs assignment to the proper sub-team
Milestone

Comments

@gjoseph92
Copy link

Type: Bug

Behaviour

Expected vs. Actual

Test discovery is failing with this exception from

testroot, relfile = _split_fspath(str(item.fspath), fileid, item)

INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/_pytest/main.py", line 667, in perform_collect
INTERNALERROR>     hook.pytest_collection_modifyitems(
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_hooks.py", line 265, in __call__
INTERNALERROR>     return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_manager.py", line 80, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_callers.py", line 60, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_callers.py", line 39, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 95, in pytest_collection_modifyitems
INTERNALERROR>     test, parents = self.parse_item(item)
INTERNALERROR>   File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 80, in parse_item
INTERNALERROR>     return parse_item(item)
INTERNALERROR>   File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_pytest_item.py", line 182, in parse_item
INTERNALERROR>     testroot, relfile = _split_fspath(str(item.fspath), fileid, item)
INTERNALERROR> AttributeError: 'Function' object has no attribute 'fspath'

However, pytest collection itself is working fine:

(distributed-test) gabe ~/distributedmain› » pytest --collect-only
...
======================================================================== 3460 tests collected in 7.06s =========================================================================

Steps to reproduce:

Sorry, I don't have a minimal reproducer. But hopefully I do have a reproducer at least. I'm seeing this with https://github.com/dask/distributed, and can reproduce it with a fresh clone in a fresh environment.

  1. git clone [email protected]:dask/distributed.git
  2. git checkout 601608cba8ce6df3d0780994ed25fa5cf2b30e24 (just to be sure for reproducability; don't think it's related to this commit though)
  3. mamba env create -n distributed-test -f continuous_integration/environment-3.9.yaml
  4. conda activate distributed-test
  5. pip install --no-deps -e .
  6. pytest --collect-only (just to confirm)
  7. code .
  8. Click on the testing pane and click refresh. It takes a couple minutes, but eventually test discovery fails, and outputs the error shown above.

Diagnostic data

  • Python version (& distribution if applicable, e.g. Anaconda): 3.9.16
  • Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Conda
  • Value of the python.languageServer setting: Pylance
Output for Python in the Output panel (ViewOutput, change the drop-down the upper-right of the Output panel to Python)

LSP Notebooks experiment is enabled
LSP Notebooks interactive window support is enabled
> ~/miniconda3/envs/distributed-test/bin/python -I ~/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/interpreterInfo.py
Python interpreter path: ~/miniconda3/envs/distributed-test/bin/python
Starting Pylance language server.
> conda run -n distributed-test --no-capture-output python ~/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/printEnvVariables.py
> conda run -n distributed-test --no-capture-output python ~/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir . -s --cache-clear
cwd: .
[ERROR 2023-2-10 13:9:37.716]: Error discovering pytest tests:
 [n [Error]: �[1m============================= test session starts ==============================�[0m
platform darwin -- Python 3.9.16, pytest-7.2.2, pluggy-1.0.0 -- /Users/gabe/miniconda3/envs/distributed-test/bin/python
cachedir: .pytest_cache
rootdir: /Users/gabe/distributed, configfile: setup.cfg
plugins: timeout-2.1.0, rerunfailures-11.1.2, cov-4.0.0, repeat-0.9.1
timeout: 300.0s
timeout method: thread
timeout func_only: False
�[1mcollecting ... �[0mcollected 3460 items / 8 skipped

<Package tests>
  <Module test_dask_scheduler.py>
    <Function test_defaults>
    <Function test_hostport>
    <Function test_no_dashboard>
    <Function test_dashboard>
    <Function test_dashboard_non_standard_ports>
    <Function test_multiple_protocols>

... [I'm deleting a few thousand lines of successful test discovery here] ...

  <Function test_task_releases_resources[long-running-RescheduleEvent]>
  <Function test_task_with_dependencies_acquires_resources>
  <Function test_resumed_task_releases_resources[executing-ExecuteSuccessEvent]>
  <Function test_resumed_task_releases_resources[executing-ExecuteFailureEvent]>
  <Function test_resumed_task_releases_resources[executing-RescheduleEvent]>
  <Function test_resumed_task_releases_resources[long-running-ExecuteSuccessEvent]>
  <Function test_resumed_task_releases_resources[long-running-ExecuteFailureEvent]>
  <Function test_resumed_task_releases_resources[long-running-RescheduleEvent]>
  <Function test_clean_log>
    Test that brand new workers start with a clean log
  <Function test_running_task_in_all_running_tasks[executing]>
  <Function test_running_task_in_all_running_tasks[long-running]>
  <Function test_done_task_not_in_all_running_tasks[executing-ExecuteSuccessEvent]>
  <Function test_done_task_not_in_all_running_tasks[executing-ExecuteFailureEvent]>
  <Function test_done_task_not_in_all_running_tasks[executing-RescheduleEvent]>
  <Function test_done_task_not_in_all_running_tasks[long-running-ExecuteSuccessEvent]>
  <Function test_done_task_not_in_all_running_tasks[long-running-ExecuteFailureEvent]>
  <Function test_done_task_not_in_all_running_tasks[long-running-RescheduleEvent]>
  <Function test_done_resumed_task_not_in_all_running_tasks[executing-ExecuteSuccessEvent]>
  <Function test_done_resumed_task_not_in_all_running_tasks[executing-ExecuteFailureEvent]>
  <Function test_done_resumed_task_not_in_all_running_tasks[executing-RescheduleEvent]>
  <Function test_done_resumed_task_not_in_all_running_tasks[long-running-ExecuteSuccessEvent]>
  <Function test_done_resumed_task_not_in_all_running_tasks[long-running-ExecuteFailureEvent]>
  <Function test_done_resumed_task_not_in_all_running_tasks[long-running-RescheduleEvent]>
  <Function test_gather_dep_failure>
    Simulate a task failing to unpickle when it reaches the destination worker after
    a flight.
    
    See also test_worker_memory.py::test_workerstate_fail_to_pickle_flight,
    where the task instead is gathered successfully, but fails to spill.
  <Function test_transfer_incoming_metrics>
  <Function test_throttling_does_not_affect_first_transfer>
  <Function test_message_target_does_not_affect_first_transfer_on_different_worker>
  <Function test_throttle_incoming_transfers_on_count_limit>
  <Function test_throttling_incoming_transfer_on_transfer_bytes_same_worker>
  <Function test_throttling_incoming_transfer_on_transfer_bytes_different_workers>
  <Function test_do_not_throttle_connections_while_below_threshold>
  <Function test_throttle_on_transfer_bytes_regardless_of_threshold>
  <Function test_worker_nbytes[executing]>
  <Function test_worker_nbytes[long-running]>
  <Function test_fetch_count>
  <Function test_task_counter>
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/_pytest/main.py", line 667, in perform_collect
INTERNALERROR>     hook.pytest_collection_modifyitems(
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_hooks.py", line 265, in __call__
INTERNALERROR>     return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_manager.py", line 80, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_callers.py", line 60, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_callers.py", line 39, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 95, in pytest_collection_modifyitems
INTERNALERROR>     test, parents = self.parse_item(item)
INTERNALERROR>   File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 80, in parse_item
INTERNALERROR>     return parse_item(item)
INTERNALERROR>   File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_pytest_item.py", line 182, in parse_item
INTERNALERROR>     testroot, relfile = _split_fspath(str(item.fspath), fileid, item)
INTERNALERROR> AttributeError: 'Function' object has no attribute 'fspath'
INTERNALERROR> 
INTERNALERROR> During handling of the above exception, another exception occurred:
INTERNALERROR> 
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/_pytest/main.py", line 270, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/_pytest/main.py", line 323, in _main
INTERNALERROR>     config.hook.pytest_collection(session=session)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_hooks.py", line 265, in __call__
INTERNALERROR>     return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_manager.py", line 80, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_callers.py", line 60, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_callers.py", line 39, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/_pytest/main.py", line 334, in pytest_collection
INTERNALERROR>     session.perform_collect()
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/_pytest/main.py", line 671, in perform_collect
INTERNALERROR>     hook.pytest_collection_finish(session=self)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_hooks.py", line 265, in __call__
INTERNALERROR>     return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_manager.py", line 80, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_callers.py", line 60, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/site-packages/pluggy/_callers.py", line 39, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 110, in pytest_collection_finish
INTERNALERROR>     test, parents = self.parse_item(item)
INTERNALERROR>   File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 80, in parse_item
INTERNALERROR>     return parse_item(item)
INTERNALERROR>   File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_pytest_item.py", line 182, in parse_item
INTERNALERROR>     testroot, relfile = _split_fspath(str(item.fspath), fileid, item)
INTERNALERROR> AttributeError: 'Function' object has no attribute 'fspath'

�[32m======================== �[32m3460 tests collected�[0m�[32m in 27.25s�[0m�[32m ========================�[0m

Traceback (most recent call last):
  File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/get_output_via_markers.py", line 26, in <module>
    runpy.run_path(module, run_name="__main__")
  File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/runpy.py", line 288, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/Users/gabe/miniconda3/envs/distributed-test/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/run_adapter.py", line 22, in <module>
    main(tool, cmd, subargs, toolargs)
  File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/__main__.py", line 99, in main
    parents, result = run(toolargs, **subargs)
  File "/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 47, in discover
    raise Exception("pytest discovery failed (exit code {})".format(ec))
Exception: pytest discovery failed (exit code 3)
ERROR conda.cli.main_run:execute(47): `conda run python /Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/get_output_via_markers.py /Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /Users/gabe/distributed -s --cache-clear` failed. (See above for error)

	at ChildProcess.<anonymous> (/Users/gabe/.vscode/extensions/ms-python.python-2023.4.1/out/client/extension.js:2:244860)
	at Object.onceWrapper (node:events:646:26)
	at ChildProcess.emit (node:events:526:28)
	at maybeClose (node:internal/child_process:1092:16)
	at Socket.<anonymous> (node:internal/child_process:451:11)
	at Socket.emit (node:events:526:28)
	at Pipe.<anonymous> (node:net:687:12)]
> conda info --json
Send text to terminal: conda activate distributed-test

User Settings


venvFolders: "<placeholder>"

languageServer: "Pylance"

linting
• flake8Enabled: true

formatting
• provider: "black"

testing
• pytestEnabled: true

Extension version: 2023.4.1
VS Code version: Code 1.76.0 (92da9481c0904c6adfe372c12da3b7748d74bdcb, 2023-03-01T10:23:45.993Z)
OS version: Darwin x64 21.6.0
Modes:
Sandboxed: No

System Info
Item Value
CPUs Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
metal: disabled_off
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_renderer: enabled_on
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: disabled_off
Load (avg) 5, 6, 6
Memory (System) 32.00GB (0.08GB free)
Process Argv . --crash-reporter-id 886611b4-5fa0-474f-bcba-14a7e9edd8e3
Screen Reader no
VM 0%
@github-actions github-actions bot added the triage-needed Needs assignment to the proper sub-team label Mar 10, 2023
@eleanorjboyd
Copy link
Member

can you try this recommendation from #20666

Can you try the following from a terminal outside of VS Code?
cd
conda activate
code .

from here now run test discovery in the vscode window which pops up. Thanks

@carlosluis
Copy link

carlosluis commented Mar 23, 2023

I'm also experiencing this issue. Exactly as described by the OP

The solution of launching vscode within a terminal where the conda env is already activated did not work for me.

do you have any other suggestions to try?

@eleanorjboyd
Copy link
Member

Hello! Trying to repro and followed the steps up to number 4 but conda cannot find the environment. I tried to use a new terminal window and the same window but it was not in the list of environments conda could find. I am not very familiar with Mamba so could you clarify what steps I am missing to activate that conda environment. Thanks

@gjoseph92
Copy link
Author

@eleanorjboyd that's odd. Try again just using conda for everything? Conda vs mamba shouldn't matter; mamba is just a bit faster.

@eleanorjboyd
Copy link
Member

Hi! We are wrapping up a rewrite on testing infrastructure which is aimed at improving buggy behavior and making pytest work in a more native way. I will be testing discovery in regard to many issues we have in this space (symlinks, conda, discovery etc) on the rewrite to see what issues still exist. If you would like to help and test your issue out on the rewrite (steps explained below) that would be most helpful in understanding the ongoing shortcomings and helping me to determine and execute the next steps. Thanks!

To test you need to be on vscode insiders and then add this setting to your users settings.json "python.experiments.optInto": ["pythonTestAdapter"]. This is currently what is needed but we are in the process of switching all users to the rewrite but are doing so incrementally so if you do not have insiders, watch our release notes to get updated on when it will begin to hit stable. Thanks!

@github-actions github-actions bot added the info-needed Issue requires more information from poster label Jun 23, 2023
@shughes-uk
Copy link

Same error happens during collections while the experiment is active

INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/_pytest/main.py", line 672, in perform_collect
INTERNALERROR>     hook.pytest_collection_modifyitems(
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_hooks.py", line 433, in __call__
INTERNALERROR>     return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_manager.py", line 112, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_callers.py", line 155, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_result.py", line 108, in get_result
INTERNALERROR>     raise exc.with_traceback(exc.__traceback__)
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_callers.py", line 80, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>           ^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 95, in pytest_collection_modifyitems
INTERNALERROR>     test, parents = self.parse_item(item)
INTERNALERROR>                     ^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 80, in parse_item
INTERNALERROR>     return parse_item(item)
INTERNALERROR>            ^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/testing_tools/adapter/pytest/_pytest_item.py", line 182, in parse_item
INTERNALERROR>     testroot, relfile = _split_fspath(str(item.fspath), fileid, item)
INTERNALERROR>                                           ^^^^^^^^^^^
INTERNALERROR> AttributeError: 'Function' object has no attribute 'fspath'
INTERNALERROR> 
INTERNALERROR> During handling of the above exception, another exception occurred:
INTERNALERROR> 
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/_pytest/main.py", line 270, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>                          ^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/_pytest/main.py", line 323, in _main
INTERNALERROR>     config.hook.pytest_collection(session=session)
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_hooks.py", line 433, in __call__
INTERNALERROR>     return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_manager.py", line 112, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_callers.py", line 155, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_result.py", line 108, in get_result
INTERNALERROR>     raise exc.with_traceback(exc.__traceback__)
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_callers.py", line 80, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>           ^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/_pytest/main.py", line 334, in pytest_collection
INTERNALERROR>     session.perform_collect()
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/_pytest/main.py", line 676, in perform_collect
INTERNALERROR>     hook.pytest_collection_finish(session=self)
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_hooks.py", line 433, in __call__
INTERNALERROR>     return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_manager.py", line 112, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_callers.py", line 116, in _multicall
INTERNALERROR>     raise exception.with_traceback(exception.__traceback__)
INTERNALERROR>   File "/Users/samanthahughes/miniconda3/envs/test-dask/lib/python3.11/site-packages/pluggy/_callers.py", line 80, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>           ^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 110, in pytest_collection_finish
INTERNALERROR>     test, parents = self.parse_item(item)
INTERNALERROR>                     ^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 80, in parse_item
INTERNALERROR>     return parse_item(item)
INTERNALERROR>            ^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/testing_tools/adapter/pytest/_pytest_item.py", line 182, in parse_item
INTERNALERROR>     testroot, relfile = _split_fspath(str(item.fspath), fileid, item)
INTERNALERROR>                                           ^^^^^^^^^^^
INTERNALERROR> AttributeError: 'Function' object has no attribute 'fspath'

�[32m======================== �[32m3596 tests collected�[0m�[32m in 1.33s�[0m�[32m =========================�[0m

Traceback (most recent call last):
  File "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/get_output_via_markers.py", line 26, in <module>
    runpy.run_path(module, run_name="__main__")
  File "<frozen runpy>", line 291, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/testing_tools/run_adapter.py", line 22, in <module>
    main(tool, cmd, subargs, toolargs)
  File "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/testing_tools/adapter/__main__.py", line 99, in main
    parents, result = run(toolargs, **subargs)
                      ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/testing_tools/adapter/pytest/_discovery.py", line 47, in discover
    raise Exception("pytest discovery failed (exit code {})".format(ec))
Exception: pytest discovery failed (exit code 3)
ERROR conda.cli.main_run:execute(47): `conda run python /Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/get_output_via_markers.py /Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /Users/samanthahughes/programming/distributed -s --cache-clear .` failed. (See above for error)

    at ChildProcess.<anonymous> (/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python-2023.8.0/out/client/extension.js:2:241129)
    at Object.onceWrapper (node:events:628:26)
    at ChildProcess.emit (node:events:513:28)
    at maybeClose (node:internal/child_process:1112:16)
    at Socket.<anonymous> (node:internal/child_process:470:11)
    at Socket.emit (node:events:513:28)
    at Pipe.<anonymous> (node:net:757:14)

@shughes-uk
Copy link

The tests have a custom decorator around them, i suspect if that is the issue

@eleanorjboyd
Copy link
Member

Can you set "python.analysis.logLevel": "Trace", in your user settings and then check for Experiment 'pythonTestAdapter' is active in your python logs? From the logs you sent it looks like you are still running the old test code.

Thanks!

@gnatecheng
Copy link

try
pip install --upgrade pytest==6.2.5

@eleanorjboyd
Copy link
Member

Yes I think @gnatecheng is right with this fix here.

@shughes-uk one thing I notice is that the logs you sent are still running the old test adapter. I can see since they reference files "/Users/samanthahughes/.vscode-insiders/extensions/ms-python.python 2023.8.0/pythonFiles/testing_tools/adapter/pytest/_discovery.py" and all files in the folder testing_tools is the old code. Could you try again and make sure to change the setting to turn the experiment on, reload the vscode window and check for the following message in the logs? I put in a fix for this a month or two ago on the rewrite so if it still isn't working then it might be a larger issue. Thanks

You can confirm you have the rewrite enabled by setting "python.analysis.logLevel": "Trace", in your user settings, setting all logs to trace via the command palette, and then checking for Experiment 'pythonTestAdapter' is active in your python logs.

@guillaumedsde
Copy link

Hi, I am also getting this issue, I tried with the pythonTestAdapter experiment enabled, but I am getting a similar but different error, here are the logs from the OUTPUT tab for the python extension (I have redacted some information):

2023-08-22 14:53:37.825 [info] Telemetry level is off
2023-08-22 14:53:37.825 [info] Experiments are disabled, only manually opted experiments are active.
2023-08-22 14:53:37.825 [info] Experiment 'pythonTestAdapter' is active
2023-08-22 14:53:37.825 [error] Failed to initialize source map support in extension
2023-08-22 14:53:37.825 [info] Test server listening.
2023-08-22 14:53:37.825 [info] Python interpreter path: ./.venv/bin/python
2023-08-22 14:53:39.705 [info] > ./.venv/bin/python ~/.vscode/extensions/ms-python.python-2023.15.12301911/pythonFiles/linter.py -m mypy --follow-imports=silent --ignore-missing-imports --show-column-numbers --no-pretty ./tests/pipeline/test_airflow_local_settings.py
2023-08-22 14:53:39.706 [info] cwd: .
2023-08-22 14:53:41.514 [info] Starting Pylance language server.
2023-08-22 14:53:41.533 [info] ##########Linting Output - mypy##########

2023-08-22 14:53:41.533 [info] Success: no issues found in 1 source file

2023-08-22 14:53:44.255 [info] Discover tests for workspace name: REDACTED - uri: /home/REDACTED/git_repositories/REDACTED
2023-08-22 14:53:44.255 [info] Running discovery for pytest using the new test adapter.
2023-08-22 14:53:44.469 [info] > . ./.venv/bin/activate && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python ~/.vscode/extensions/ms-python.python-2023.15.12301911/pythonFiles/printEnvVariables.py
2023-08-22 14:53:44.469 [info] shell: bash
2023-08-22 14:53:44.640 [info] > ./.venv/bin/python -m pytest -p vscode_pytest --collect-only --no-cov
2023-08-22 14:53:44.641 [info] cwd: .
2023-08-22 14:53:55.129 [info] Test server connected to a client.
2023-08-22 14:53:55.134 [info] Using result resolver for discovery
2023-08-22 14:53:55.134 [error] pytest test discovery error 
 Error Occurred, traceback: Traceback (most recent call last):
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.15.12301911/pythonFiles/vscode_pytest/__init__.py", line 327, in pytest_sessionfinish
    session_node: Union[TestNode, None] = build_test_tree(session)
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.15.12301911/pythonFiles/vscode_pytest/__init__.py", line 368, in build_test_tree
    session_node = create_session_node(session)
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.15.12301911/pythonFiles/vscode_pytest/__init__.py", line 512, in create_session_node
    node_path = get_node_path(session)
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.15.12301911/pythonFiles/vscode_pytest/__init__.py", line 612, in get_node_path
    return getattr(node, "path", pathlib.Path(node.fspath))
AttributeError: 'Session' object has no attribute 'fspath'

2023-08-22 14:54:00.245 [info] Telemetry level is off
2023-08-22 14:54:00.245 [info] Experiments are disabled, only manually opted experiments are active.
2023-08-22 14:54:00.245 [info] Experiment 'pythonTestAdapter' is active
2023-08-22 14:54:00.256 [info] Test server listening.
2023-08-22 14:54:00.260 [info] Python interpreter path: ./.venv/bin/python
2023-08-22 14:54:00.583 [error] Failed to initialize source map support in extension
2023-08-22 14:54:03.431 [info] > ./.venv/bin/python ~/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/linter.py -m mypy --follow-imports=silent --ignore-missing-imports --show-column-numbers --no-pretty ./tests/pipeline/test_airflow_local_settings.py
2023-08-22 14:54:03.431 [info] cwd: .
2023-08-22 14:54:06.122 [info] Starting Pylance language server.
2023-08-22 14:54:06.671 [info] ##########Linting Output - mypy##########

2023-08-22 14:54:06.672 [info] Success: no issues found in 1 source file

2023-08-22 14:54:10.644 [info] Discover tests for workspace name: REDACTED - uri: /home/REDACTED/git_repositories/REDACTED
2023-08-22 14:54:10.645 [info] Running discovery for pytest using the new test adapter.
2023-08-22 14:54:10.848 [info] > . ./.venv/bin/activate && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python ~/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/printEnvVariables.py
2023-08-22 14:54:10.849 [info] shell: bash
2023-08-22 14:54:11.019 [info] > ./.venv/bin/python -m pytest -p vscode_pytest --collect-only --no-cov
2023-08-22 14:54:11.020 [info] cwd: .
2023-08-22 14:54:17.656 [info] Test server connected to a client.
2023-08-22 14:54:17.658 [info] Using result resolver for discovery
2023-08-22 14:54:17.658 [error] pytest test discovery error 
 Error Occurred, traceback: Traceback (most recent call last):
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/vscode_pytest/__init__.py", line 306, in pytest_sessionfinish
    session_node: Union[TestNode, None] = build_test_tree(session)
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/vscode_pytest/__init__.py", line 347, in build_test_tree
    session_node = create_session_node(session)
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/vscode_pytest/__init__.py", line 490, in create_session_node
    node_path = get_node_path(session)
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/vscode_pytest/__init__.py", line 590, in get_node_path
    return getattr(node, "path", pathlib.Path(node.fspath))
AttributeError: 'Session' object has no attribute 'fspath'

I have tried with pytest 7.4.0 and 7.3.2, to no avail.

@eleanorjboyd
Copy link
Member

@guillaumedsde could you send over your settings and the specific test/test file you are running that produces this error? I looked through the pytest docs and saw that it is possible for the Session to have a null value since the superclass of Session is node and those parameters are not required but it seems like it might be a pytest bug. Will investigate more with the tests you suggest but might have to reach out to the pytest repo about this. Thanks

@guillaumedsde
Copy link

could you send over your settings

Here are my vscode user settings:

{
    "terminal.integrated.scrollback": 100000,
    "editor.bracketPairColorization.enabled": true,
    "editor.formatOnSave": true,
    "editor.formatOnType": true,
    "files.trimTrailingWhitespace": true,
    "files.autoSave": "afterDelay",
    "files.insertFinalNewline": true,
    "files.associations": {
      "compose*.{yaml,yml}": "dockercompose",
      "*.nomad.tpl": "terraform",
      "*.tpl": "gotmpl",
      "*.hcl": "terraform",
      "*.nomad": "terraform"
    },
    "update.mode": "none",
    "update.showReleaseNotes": false,
    "python.formatting.provider": "black",
    "python.languageServer": "Pylance",
    "python.linting.enabled": true,
    "python.linting.mypyEnabled": true,
    "python.linting.pylintEnabled": false,
    "python.testing.pytestEnabled": true,
    "[python]": {
      "editor.codeActionsOnSave": {
        "source.organizeImports": true
      }
    },
    "gitlens.plusFeatures.enabled": false,
    "docker.containers.label": "ContainerName",
    "workbench.editor.enablePreview": false,
    "workbench.startupEditor": "none",
    "git.autofetch": "all",
    "git.allowNoVerifyCommit": true,
    "workbench.cloudChanges.autoResume": "off",
    "workbench.cloudChanges.continueOn": "off",
    "workbench.enableExperiments": false,
    "python.experiments.enabled": true,
    "telemetry.telemetryLevel": "off",
    "npm.fetchOnlinePackageInfo": false,
    "settingsSync.keybindingsPerPlatform": false,
    "workbench.settings.enableNaturalLanguageSearch": false,
    "[javascript]": {
      "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[json]": {
      "editor.defaultFormatter": "vscode.json-language-features"
    },
    "files.exclude": {
      "**/__pycache__": true,
      "**/.mypy_cache": true,
      "**/.pytest_cache": true
    },
    "[jsonc]": {
      "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "terminal.integrated.enablePersistentSessions": false,
    "isort.importStrategy": "fromEnvironment",
    "isort.check": true,
    "python.diagnostics.sourceMapsEnabled": true,
    "python.terminal.activateEnvInCurrentTerminal": true,
    "ruff.importStrategy": "fromEnvironment",
    "docker.containers.description": [],
    "docker.containers.sortBy": "Label",
    "docker.images.checkForOutdatedImages": false,
    "[dockercompose]": {
      "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "editor.fontFamily": "Fira Code",
    "editor.fontLigatures": true,
    "terminal.integrated.fontFamily": "Fira Code",
    "gitlens.showWelcomeOnInstall": false,
    "gitlens.showWhatsNewAfterUpgrades": false,
    "typescript.disableAutomaticTypeAcquisition": true,
    "workbench.colorTheme": "Default Light+",
    "python.analysis.autoFormatStrings": true,
    "python.analysis.autoImportCompletions": true,
    "python.analysis.gotoDefinitionInStringLiteral": true,
    "python.analysis.inlayHints.pytestParameters": true,
    "python.analysis.persistAllIndices": true,
    "window.menuBarVisibility": "toggle",
    "extensions.autoUpdate": "onlyEnabledExtensions",
    "terminal.integrated.persistentSessionScrollback": 0,
    // https://github.com/microsoft/vscode-python/issues/20830#issuecomment-1604402947
    "python.experiments.optInto": ["pythonTestAdapter"],
    "python.analysis.logLevel": "Trace"
  }

and the specific test/test file you are running that produces this error

I can't really send source code sorry 😬 but even if I could I'm not sure how I can be sure which test source file causes this issue? cause it seems like even with Trace level logs no specific filename is logged:

2023-08-23 09:51:24.408 [info] Telemetry level is off
2023-08-23 09:51:24.408 [info] Experiments are disabled, only manually opted experiments are active.
2023-08-23 09:51:24.409 [info] Experiment 'pythonTestAdapter' is active
2023-08-23 09:51:24.409 [info] Test server listening.
2023-08-23 09:51:24.409 [info] Python interpreter path: ./.venv/bin/python
2023-08-23 09:51:24.412 [error] Failed to initialize source map support in extension
2023-08-23 09:51:28.214 [info] Starting Pylance language server.
2023-08-23 09:51:30.090 [info] Discover tests for workspace name: REDACTED - uri: /home/REDACTED/git_repositories/REDACTED
2023-08-23 09:51:30.090 [info] Running discovery for pytest using the new test adapter.
2023-08-23 09:51:30.418 [info] > . ./.venv/bin/activate && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python ~/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/printEnvVariables.py
2023-08-23 09:51:30.418 [info] shell: bash
2023-08-23 09:51:30.555 [info] > ./.venv/bin/python -m pytest -p vscode_pytest --collect-only --no-cov
2023-08-23 09:51:30.556 [info] cwd: .
2023-08-23 09:51:36.478 [info] Discover tests for workspace name: REDACTED - uri: /home/REDACTED/git_repositories/REDACTED
2023-08-23 09:51:36.478 [info] Running discovery for pytest using the new test adapter.
2023-08-23 09:51:37.542 [info] Test server connected to a client.
2023-08-23 09:51:37.543 [info] Using result resolver for discovery
2023-08-23 09:51:37.543 [error] pytest test discovery error 
 Error Occurred, traceback: Traceback (most recent call last):
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/vscode_pytest/__init__.py", line 306, in pytest_sessionfinish
    session_node: Union[TestNode, None] = build_test_tree(session)
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/vscode_pytest/__init__.py", line 347, in build_test_tree
    session_node = create_session_node(session)
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/vscode_pytest/__init__.py", line 490, in create_session_node
    node_path = get_node_path(session)
  File "/home/REDACTED/.vscode/extensions/ms-python.python-2023.14.0/pythonFiles/vscode_pytest/__init__.py", line 590, in get_node_path
    return getattr(node, "path", pathlib.Path(node.fspath))
AttributeError: 'Session' object has no attribute 'fspath'

@github-actions github-actions bot removed the info-needed Issue requires more information from poster label Aug 23, 2023
@eleanorjboyd
Copy link
Member

Are you using any pytest plugins? If you could send your workspace settings for python.testing.pytestArgs that would be helpful. I have read through the pytest source code and although it can be None it should always be defined for pytest as outlined in the docs: https://docs.pytest.org/en/7.4.x/reference/reference.html#pytest.Session.path. For this reason it might be a pytest bug or you could have a plugin manipulating the session class / instance.

@github-actions github-actions bot added the info-needed Issue requires more information from poster label Aug 23, 2023
@guillaumedsde
Copy link

I don't think any of my plugins are related to pytest? perhaps coverage gutters, but I doubt it since it mostly reads the coverage report files? here is a full list of extensions I have installed:

❯ code --list-extensions
charliermarsh.ruff
eamodio.gitlens
exiasr.hadolint
github.vscode-github-actions
hashicorp.terraform
ms-azuretools.vscode-docker
ms-python.black-formatter
ms-python.isort
ms-python.mypy-type-checker
ms-python.python
ms-python.vscode-pylance
ms-vscode.live-server
njpwerner.autodocstring
redhat.vscode-yaml
ryanluker.vscode-coverage-gutters
streetsidesoftware.code-spell-checker
tamasfe.even-better-toml
timonwong.shellcheck
VisualStudioExptTeam.vscodeintellicode

and here is my workspace configuration (redacted in some places):

{
  "files.exclude": {
    "reports": true,
    ".ruff_cache": true
  },
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.codeActionsOnSave": {
      "source.fixAll": true,
      "source.organizeImports": true
    }
  },
  "ruff.organizeImports": false,
  "ruff.importStrategy": "fromEnvironment",
  "ruff.args": ["--config=pyproject.toml"],
  "isort.importStrategy": "fromEnvironment",
  "python.testing.pytestEnabled": true,
  "python.testing.pytestArgs": ["--no-cov"],
  "mypy-type-checker.importStrategy": "fromEnvironment",
  "mypy-type-checker.args": [
    "--follow-imports=skip",
    "--ignore-missing-imports",
    "--show-column-numbers",
    "--no-pretty"
  ],
  "python.analysis.autoImportCompletions": true,
  "python.analysis.ignore": [
    "REDACTED"
  ],
  "cSpell.words": [
    "REDACTED"
  ],
  "python.analysis.persistAllIndices": true,
  "python.testing.pytestPath": "pytest",
}

Notably pytestArgs has value ["--no-cov"]

@github-actions github-actions bot removed the info-needed Issue requires more information from poster label Aug 24, 2023
@eleanorjboyd
Copy link
Member

Hi! Looked through the pytest docs and it is stated that one of these values is always set. If you do not have any plugins active then this is a bug on pytest specifically. You could try installing another version of pytest and see if that could work or post on pytest github as they are active there. Closing as the root cause is upstream. Thanks

@eleanorjboyd eleanorjboyd closed this as not planned Won't fix, can't repro, duplicate, stale Aug 29, 2023
@github-actions github-actions bot added the info-needed Issue requires more information from poster label Aug 29, 2023
@guillaumedsde
Copy link

👋 hello again

After (much) investigating, I think I might have found the cause of this issue: it seems to be cause by having the -p no:legacypath flag for pytest in the addopts config.

When I remove that flag, test discovery starts working once again

@github-actions github-actions bot removed the info-needed Issue requires more information from poster label Sep 1, 2023
@eleanorjboyd
Copy link
Member

glad you found that! Thanks for sharing the solution, I will investigate if we need to put in place a warning or something for this in the rewrite.

@eleanorjboyd eleanorjboyd reopened this Sep 5, 2023
@samueljackson92
Copy link

Hi, I had the exact same error as @gjoseph92. I found I could fix it by changing line 182 of
.vscode/extensions/ms-python.python-2023.4.1/pythonFiles/testing_tools/adapter/pytest/_pytest_item.py

From:

testroot, relfile = _split_fspath(str(item.fspath), fileid, item)

To:

testroot, relfile = _split_fspath(str(item.path), fileid, item)

According to the pytest docs the fspath attribute is deprecated: https://docs.pytest.org/en/7.1.x/reference/reference.html#pytest.nodes.Node

After the change, VSCode correctly finds the tests and works as expected.

@eleanorjboyd
Copy link
Member

Hello @samueljackson92, from the look of the line you changed that is part of the old code and so if you switch the re-write the fix should be in. To try it yourself, you need to be on the most recent release of the Python extension and add this setting to your users settings.json "python.experiments.optInto": ["pythonTestAdapter"].

You can confirm you have the rewrite enabled by setting "python.analysis.logLevel": "Trace", in your user settings then check for Experiment 'pythonTestAdapter' is active in your python logs.

Let me know if the rewrite fixes your issue. Thanks!

@github-actions github-actions bot added the info-needed Issue requires more information from poster label Oct 4, 2023
@samueljackson92
Copy link

samueljackson92 commented Oct 5, 2023

Hi @eleanorjboyd I tried as you suggested, but unfortunately I still get a similar issue.

I see the Experiment 'pythonTestAdapter' is active in my logs. And I checked my Python plugin was up-to-date. I reloaded my vscode after making the changes and reconfigured my test suite.

I get a very similar error, but in a different place now:

 Error Occurred, traceback: Traceback (most recent call last):
  File "/home/ubuntu/.vscode-server/extensions/ms-python.python-2023.16.0/pythonFiles/vscode_pytest/__init__.py", line 323, in pytest_sessionfinish
    session_node: Union[TestNode, None] = build_test_tree(session)
  File "/home/ubuntu/.vscode-server/extensions/ms-python.python-2023.16.0/pythonFiles/vscode_pytest/__init__.py", line 364, in build_test_tree
    session_node = create_session_node(session)
  File "/home/ubuntu/.vscode-server/extensions/ms-python.python-2023.16.0/pythonFiles/vscode_pytest/__init__.py", line 508, in create_session_node
    node_path = get_node_path(session)
  File "/home/ubuntu/.vscode-server/extensions/ms-python.python-2023.16.0/pythonFiles/vscode_pytest/__init__.py", line 608, in get_node_path
    return getattr(node, "path", pathlib.Path(node.fspath))
AttributeError: 'Session' object has no attribute 'fspath'

Again, changing fspath -> path fixes the problem.

@github-actions github-actions bot removed the info-needed Issue requires more information from poster label Oct 5, 2023
@eleanorjboyd
Copy link
Member

eleanorjboyd commented Oct 5, 2023

You are saying that changing fspath here return getattr(node, "path", pathlib.Path(node.fspath)) is the fix? What this function should be doing is checking to try and get node.path and if this doesn't exist then gets node.fspath like described getattr(object, attribute_name, default_value). Let me know if this is where you are substituting to see success. Thanks

@github-actions github-actions bot added the info-needed Issue requires more information from poster label Oct 5, 2023
@carlosluis
Copy link

The solution from @samueljackson92 almost worked for me.
Additionally, I had to modify .vscode/extensions/ms-python.python-2023.4.1/pythonFiles/vscode_pytest/__init__.py line 590 from

return getattr(node, "path", pathlib.Path(node.fspath))

to

return getattr(node, "path", pathlib.Path(node.path))

After both changes, everything started working as intented.
@eleanorjboyd the setting "python.experiments.optInto": ["pythonTestAdapter"] did not solved the issue for me neither.

@eleanorjboyd
Copy link
Member

Hello! Is someone able to confirm if this is fixed or not with the most recent version of insiders?

@carlosluis
Copy link

carlosluis commented Dec 1, 2023

Sorry for the delay.

The new version of vscode-insiders (1.85.0) does not fix this issue.

Moreover, the fix I previously described (which I tested for insiders 1.80.0) seems to be incompatible with ms-python 2023.14.0

EDIT: also, the previous fix is not working for me anymore. It seems the path .vscode/extensions/ms-python.python-2023.4.1/pythonFiles/vscode_pytest/__init__.py no longer exists? I had to re-install version 2023.4.1 since the newer version was not working, and now that folder seems to have disappeared?

@eleanorjboyd
Copy link
Member

Hi @carlosluis, thanks for getting back to me. Could you try ms-python 2023.20.0 or a version after 20? The 14 version was from 3 months ago and does not contain the fix. Secondly, are the logs the same with the error message? The file you referenced still exits but maybe the logs would tell you the new path. Thanks

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 1, 2024
wesm pushed a commit to posit-dev/positron that referenced this issue Mar 28, 2024
… 2023.20

Merge pull request #244 from posit-dev/merge/upstream-2023.20

Merge upstream vscode-python 2023.20
--------------------
Commit message for posit-dev/positron-python@182a5a1b5c8ca577bea4b303224a2a92a78e8ce9:

Put back gulp installation path instead of nox

--------------------
Commit message for posit-dev/positron-python@bd64148cbb024a183cea2cdacd98c2d7cbf0008a:

Merge upstream 2023.20

--------------------
Commit message for microsoft/vscode-python@32ea534f7144fb1c9bd7502e91451e69f2fcd218:

remove new line chars from error text messages in testing rewrite (microsoft/vscode-python#22402)

fixes https://github.com/microsoft/vscode-python/issues/21512 where 2
extra new lines were seen at the end of an error message popup. Removing
these will restrict stop this from occurring.
--------------------
Commit message for microsoft/vscode-python@ff604ca9988420aefa4f66c1681e3d3374c5e03c:

Add cwd to error logs (microsoft/vscode-python#22387)

closes https://github.com/microsoft/vscode-python/issues/22359
--------------------
Commit message for microsoft/vscode-python@78052bd76e9922a983accd35a84f16c6d1d53f22:

Refactor get_node_path function to handle fspath greedy access  (microsoft/vscode-python#22384)

closes https://github.com/microsoft/vscode-python/issues/20830

---------

Co-authored-by: Karthik Nadig <[email protected]>
--------------------
Commit message for microsoft/vscode-python@491c2c8af29916136e0b6540b5d934bf448a51e3:

Bump typing-extensions from 4.7.1 to 4.8.0 (microsoft/vscode-python#22015)

Bumps [typing-extensions](https://github.com/python/typing_extensions)
from 4.7.1 to 4.8.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/releases">typing-extensions's
releases</a>.</em></p>
<blockquote>
<h2>4.8.0</h2>
<p>Changes since 4.7.1:</p>
<ul>
<li>Add <code>typing_extensions.Doc</code>, as proposed by PEP 727.
Patch by
Sebastián Ramírez.</li>
<li>Drop support for Python 3.7 (including PyPy-3.7). Patch by Alex
Waygood.</li>
<li>Fix bug where <code>get_original_bases()</code> would return
incorrect results when
called on a concrete subclass of a generic class. Patch by Alex Waygood
(backporting <a
href="https://redirect.github.com/python/cpython/pull/107584">python/cpython#107584</a>,
by James
Hilton-Balfe).</li>
<li>Fix bug where <code>ParamSpec(default=...)</code> would raise a
<code>TypeError</code> on Python
versions &lt;3.11. Patch by James Hilton-Balfe</li>
</ul>
<p>No changes since 4.8.0rc1.</p>
<h2>4.8.0rc1</h2>
<ul>
<li>Add <code>typing_extensions.Doc</code>, as proposed by PEP 727.
Patch by
Sebastián Ramírez.</li>
<li>Drop support for Python 3.7 (including PyPy-3.7). Patch by Alex
Waygood.</li>
<li>Fix bug where <code>get_original_bases()</code> would return
incorrect results when
called on a concrete subclass of a generic class. Patch by Alex Waygood
(backporting <a
href="https://redirect.github.com/python/cpython/pull/107584">python/cpython#107584</a>,
by James
Hilton-Balfe).</li>
<li>Fix bug where <code>ParamSpec(default=...)</code> would raise a
<code>TypeError</code> on Python
versions &lt;3.11. Patch by James Hilton-Balfe</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/blob/main/CHANGELOG.md">typing-extensions's
changelog</a>.</em></p>
<blockquote>
<h1>Release 4.8.0 (September 17, 2023)</h1>
<p>No changes since 4.8.0rc1.</p>
<h1>Release 4.8.0rc1 (September 7, 2023)</h1>
<ul>
<li>Add <code>typing_extensions.Doc</code>, as proposed by PEP 727.
Patch by
Sebastián Ramírez.</li>
<li>Drop support for Python 3.7 (including PyPy-3.7). Patch by Alex
Waygood.</li>
<li>Fix bug where <code>get_original_bases()</code> would return
incorrect results when
called on a concrete subclass of a generic class. Patch by Alex Waygood
(backporting <a
href="https://redirect.github.com/python/cpython/pull/107584">python/cpython#107584</a>,
by James
Hilton-Balfe).</li>
<li>Fix bug where <code>ParamSpec(default=...)</code> would raise a
<code>TypeError</code> on Python
versions &lt;3.11. Patch by James Hilton-Balfe</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/typing_extensions/commit/c17c499b865585458bc334a1f895ebaedd2ab854"><code>c17c499</code></a>
Prepare release 4.8.0 (<a
href="https://redirect.github.com/python/typing_extensions/issues/283">#283</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/df9e322f2d9cb66d936fbfeac524b5989b78cfd5"><code>df9e322</code></a>
Run tests on py312 for more third-party projects (<a
href="https://redirect.github.com/python/typing_extensions/issues/281">#281</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/7e294992dfe3070b3ca228555fa3887001ceaab2"><code>7e29499</code></a>
Release 4.8.0rc1 (<a
href="https://redirect.github.com/python/typing_extensions/issues/280">#280</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/ca2a739574fb259f156faba005aaa802e6f19faa"><code>ca2a739</code></a>
Add Doc from PEP 727: <a
href="https://peps.python.org/pep-0727/">https://peps.python.org/pep-0727/</a>
(<a
href="https://redirect.github.com/python/typing_extensions/issues/277">#277</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/13c9484f10f5f4b3ac995c49c06cef42d847723c"><code>13c9484</code></a>
Fix ParamSpec ellipsis default for &lt;3.10 (<a
href="https://redirect.github.com/python/typing_extensions/issues/279">#279</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/4705e747b8380ce466d81b132134bd4ed399eb45"><code>4705e74</code></a>
Improve documentation (<a
href="https://redirect.github.com/python/typing_extensions/issues/278">#278</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/99fa708df2af1ab5ecde47968d71dc5b0447fc5d"><code>99fa708</code></a>
Backport CPython PR 107584 (<a
href="https://redirect.github.com/python/typing_extensions/issues/275">#275</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/688fbd2545944c9c36a0d08084e7c92642a81751"><code>688fbd2</code></a>
Revert &quot;Skip running <code>cattrs</code> tests on PyPy (<a
href="https://redirect.github.com/python/typing_extensions/issues/272">#272</a>)&quot;
(<a
href="https://redirect.github.com/python/typing_extensions/issues/273">#273</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/8dfa0a5dc31b298252d001304b9107be76e4de4c"><code>8dfa0a5</code></a>
Skip running <code>cattrs</code> tests on PyPy (<a
href="https://redirect.github.com/python/typing_extensions/issues/272">#272</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/7bb3f3fca39d477b2bb04f64ff5ea2cc14383e51"><code>7bb3f3f</code></a>
Fix third-party workflow (<a
href="https://redirect.github.com/python/typing_extensions/issues/269">#269</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/typing_extensions/compare/4.7.1...4.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typing-extensions&package-manager=pip&previous-version=4.7.1&new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@473de33f84fc649f99b1ae4692ecf0653f5d2d8c:

Ensure Python environment defined in `python.defaultInterpreterPath` is returned via discovery API (microsoft/vscode-python#22389)

Closes https://github.com/microsoft/vscode-python/issues/22268

Even when it is not the active interpreter for any workspace, it's still
a known environment which users could consider selecting.
--------------------
Commit message for microsoft/vscode-python@7aefb217ce836d865bdc170c8ef3427549aeac17:

Remove unused packages from `package.json` (microsoft/vscode-python#22386)

closes: https://github.com/microsoft/vscode-python/issues/16840
--------------------
Commit message for microsoft/vscode-python@b65ea3baa48c7ebd2af8e16c7eaf8a33f8d9bd87:

Use nox to install packages (microsoft/vscode-python#22381)


--------------------
Commit message for microsoft/vscode-python@a7262b8d9071c34ccd0dffb4d0fad48092411b31:

Do not prefer Microsoft store interpreter over other global interpreters when auto-selecting (microsoft/vscode-python#22380)

Closes https://github.com/microsoft/vscode-python/issues/22364

Do not compare two global interpreters using their kinds.
--------------------
Commit message for microsoft/vscode-python@b4f06c9e71c8e066d6df3dd787c7880439c4e41b:

Use python test runner for extension python tests (microsoft/vscode-python#22385)

closes https://github.com/microsoft/vscode-python/issues/9051
--------------------
Commit message for microsoft/vscode-python@ed6f4601b21013c1c0d750c751e935439136c44e:

Remove deprecated settings (microsoft/vscode-python#22377)


--------------------
Commit message for microsoft/vscode-python@6d2ab8e063bf3155ca56f782bb43fae84f15c9e0:

Update main version to next pre-release (microsoft/vscode-python#22379)


--------------------
Commit message for microsoft/vscode-python@2ea45befd3a8b5aacf8c92505e9e039f9d13871b:

Update version for release candidate (microsoft/vscode-python#22378)


--------------------
Commit message for microsoft/vscode-python@183a52922661a1d931858c81c6643227ec8ffc86:

allow -v, -f, -q, --local in unittest args (microsoft/vscode-python#22357)

fixes https://github.com/microsoft/vscode-python/issues/22343
--------------------
Commit message for microsoft/vscode-python@93bf5cc2dd89ea98f70c1f85a8a32989e4e635af:

Handle localized shells when powershell execution is disabled (microsoft/vscode-python#22360)

Closes https://github.com/microsoft/vscode-python/issues/22352
--------------------
Commit message for microsoft/vscode-python@56a88b8b885227d04f07eeda47ee7332acaf9fc4:

Trim ends before add lines to logs from create env output (microsoft/vscode-python#22358)

closes https://github.com/microsoft/vscode-python/issues/22321
--------------------
Commit message for microsoft/vscode-python@71a451cb4f7cb6a2e0b192ad0ed4d1ec202a001c:

Save env vars at first pytest hook to ensure theyre unedited (microsoft/vscode-python#22344)

fixes https://github.com/microsoft/vscode-python/issues/22192.

Now, all environment variables are accessed during the
pytest_load_initial_conftests hook and then saved as global variables in
the plugin. This ensures the port and uuid will still be saved even if a
user safely or unsafely clears their environment variables during
testing.

---------

Co-authored-by: Karthik Nadig <[email protected]>
--------------------
Commit message for microsoft/vscode-python@c2dec146b9fe53af641ed217c4a567735d4d2d32:

Update warning for the deprecated settings in python (microsoft/vscode-python#22345)

close https://github.com/microsoft/vscode-python/issues/22272
--------------------
Commit message for microsoft/vscode-python@fe229588a6626800e26299aa0c27d0be03698016:

Fix powershell core activation if executing scripts is not supported (microsoft/vscode-python#22350)

Closes https://github.com/microsoft/vscode-python/issues/22252
--------------------
Commit message for microsoft/vscode-python@26b6255420750510bbe50d926835e7064469e920:

fix small logging issues for testing deprecation & duplicate log (microsoft/vscode-python#22349)

fixes https://github.com/microsoft/vscode-python/issues/22327
--------------------
Commit message for microsoft/vscode-python@e6046877f9679641dea61484e6ba4ea62b454591:

Correct condition when logging whether shell integration is active (microsoft/vscode-python#22347)

Introduced by https://github.com/microsoft/vscode-python/pull/22346
--------------------
Commit message for microsoft/vscode-python@b46e1a6ba3c1e6ecb7e847ebbf190f5217df385b:

Log whether shell integration is active (microsoft/vscode-python#22346)

For microsoft/vscode-python#20950
--------------------
Commit message for microsoft/vscode-python@bcb10251f3479cf3dd89b1f79a96bb1cbdfcbd13:

Bump actions/setup-node from 3 to 4 in /.github/actions/build-vsix (microsoft/vscode-python#22296)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3
to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<p>In scope of this release we changed version of node runtime for
action from node16 to node20 and updated dependencies in <a
href="https://redirect.github.com/actions/setup-node/pull/866">actions/setup-node#866</a></p>
<p>Besides, release contains such changes as:</p>
<ul>
<li>Upgrade actions/checkout to v4 by <a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
<li>Update actions/checkout for documentation and yaml by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/876">actions/setup-node#876</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v4.0.0">https://github.com/actions/setup-node/compare/v3...v4.0.0</a></p>
<h2>v3.8.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Update semver by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/861">actions/setup-node#861</a></li>
<li>Update temp directory creation by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/859">actions/setup-node#859</a></li>
<li>Bump <code>@​babel/traverse</code> from 7.15.4 to 7.23.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/870">actions/setup-node#870</a></li>
<li>Add notice about binaries not being updated yet by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/872">actions/setup-node#872</a></li>
<li>Update toolkit cache and core by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
and <a
href="https://github.com/seongwon-privatenote"><code>@​seongwon-privatenote</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/875">actions/setup-node#875</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.2">https://github.com/actions/setup-node/compare/v3...v3.8.2</a></p>
<h2>v3.8.1</h2>
<h2>What's Changed</h2>
<p>In scope of this release, the filter was removed within the
cache-save step by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/831">actions/setup-node#831</a>.
It is filtered and checked in the toolkit/cache library.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.1">https://github.com/actions/setup-node/compare/v3...v3.8.1</a></p>
<h2>v3.8.0</h2>
<h2>What's Changed</h2>
<h3>Bug fixes:</h3>
<ul>
<li>Add check for existing paths by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/803">actions/setup-node#803</a></li>
<li>Resolve SymbolicLink by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/809">actions/setup-node#809</a></li>
<li>Change passing logic for cache input by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/816">actions/setup-node#816</a></li>
<li>Fix armv7 cache issue by <a
href="https://github.com/louislam"><code>@​louislam</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/794">actions/setup-node#794</a></li>
<li>Update check-dist workflow name by <a
href="https://github.com/sinchang"><code>@​sinchang</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/710">actions/setup-node#710</a></li>
</ul>
<h3>Feature implementations:</h3>
<ul>
<li>feat: handling the case where &quot;node&quot; is used for
tool-versions file. by <a
href="https://github.com/xytis"><code>@​xytis</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/812">actions/setup-node#812</a></li>
</ul>
<h3>Documentation changes:</h3>
<ul>
<li>Refer to semver package name in README.md by <a
href="https://github.com/olleolleolle"><code>@​olleolleolle</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/808">actions/setup-node#808</a></li>
</ul>
<h3>Update dependencies:</h3>
<ul>
<li>Update toolkit cache to fix zstd by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/804">actions/setup-node#804</a></li>
<li>Bump tough-cookie and <code>@​azure/ms-rest-js</code> by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/802">actions/setup-node#802</a></li>
<li>Bump semver from 6.1.2 to 6.3.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/807">actions/setup-node#807</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/8f152de45cc393bb48ce5d89d36b731f54556e65"><code>8f152de</code></a>
Update actions/checkout for documentation and yaml (<a
href="https://redirect.github.com/actions/setup-node/issues/876">#876</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/23755b521f87533c8ed7f8fb13674f9021579e34"><code>23755b5</code></a>
upgrade actions/checkout to v4 (<a
href="https://redirect.github.com/actions/setup-node/issues/868">#868</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/54534a2a9ba7308e8a8995af3104899e6a95b681"><code>54534a2</code></a>
Change node version for action to node20 (<a
href="https://redirect.github.com/actions/setup-node/issues/866">#866</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@c9944e7b5a05c81992c9c936c1588327cdaf8739:

Bump actions/setup-node from 3 to 4 in /.github/actions/lint (microsoft/vscode-python#22297)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3
to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<p>In scope of this release we changed version of node runtime for
action from node16 to node20 and updated dependencies in <a
href="https://redirect.github.com/actions/setup-node/pull/866">actions/setup-node#866</a></p>
<p>Besides, release contains such changes as:</p>
<ul>
<li>Upgrade actions/checkout to v4 by <a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
<li>Update actions/checkout for documentation and yaml by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/876">actions/setup-node#876</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v4.0.0">https://github.com/actions/setup-node/compare/v3...v4.0.0</a></p>
<h2>v3.8.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Update semver by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/861">actions/setup-node#861</a></li>
<li>Update temp directory creation by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/859">actions/setup-node#859</a></li>
<li>Bump <code>@​babel/traverse</code> from 7.15.4 to 7.23.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/870">actions/setup-node#870</a></li>
<li>Add notice about binaries not being updated yet by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/872">actions/setup-node#872</a></li>
<li>Update toolkit cache and core by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
and <a
href="https://github.com/seongwon-privatenote"><code>@​seongwon-privatenote</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/875">actions/setup-node#875</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.2">https://github.com/actions/setup-node/compare/v3...v3.8.2</a></p>
<h2>v3.8.1</h2>
<h2>What's Changed</h2>
<p>In scope of this release, the filter was removed within the
cache-save step by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/831">actions/setup-node#831</a>.
It is filtered and checked in the toolkit/cache library.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.1">https://github.com/actions/setup-node/compare/v3...v3.8.1</a></p>
<h2>v3.8.0</h2>
<h2>What's Changed</h2>
<h3>Bug fixes:</h3>
<ul>
<li>Add check for existing paths by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/803">actions/setup-node#803</a></li>
<li>Resolve SymbolicLink by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/809">actions/setup-node#809</a></li>
<li>Change passing logic for cache input by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/816">actions/setup-node#816</a></li>
<li>Fix armv7 cache issue by <a
href="https://github.com/louislam"><code>@​louislam</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/794">actions/setup-node#794</a></li>
<li>Update check-dist workflow name by <a
href="https://github.com/sinchang"><code>@​sinchang</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/710">actions/setup-node#710</a></li>
</ul>
<h3>Feature implementations:</h3>
<ul>
<li>feat: handling the case where &quot;node&quot; is used for
tool-versions file. by <a
href="https://github.com/xytis"><code>@​xytis</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/812">actions/setup-node#812</a></li>
</ul>
<h3>Documentation changes:</h3>
<ul>
<li>Refer to semver package name in README.md by <a
href="https://github.com/olleolleolle"><code>@​olleolleolle</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/808">actions/setup-node#808</a></li>
</ul>
<h3>Update dependencies:</h3>
<ul>
<li>Update toolkit cache to fix zstd by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/804">actions/setup-node#804</a></li>
<li>Bump tough-cookie and <code>@​azure/ms-rest-js</code> by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/802">actions/setup-node#802</a></li>
<li>Bump semver from 6.1.2 to 6.3.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/807">actions/setup-node#807</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/8f152de45cc393bb48ce5d89d36b731f54556e65"><code>8f152de</code></a>
Update actions/checkout for documentation and yaml (<a
href="https://redirect.github.com/actions/setup-node/issues/876">#876</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/23755b521f87533c8ed7f8fb13674f9021579e34"><code>23755b5</code></a>
upgrade actions/checkout to v4 (<a
href="https://redirect.github.com/actions/setup-node/issues/868">#868</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/54534a2a9ba7308e8a8995af3104899e6a95b681"><code>54534a2</code></a>
Change node version for action to node20 (<a
href="https://redirect.github.com/actions/setup-node/issues/866">#866</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@fa0d02b8358efb02f12fd24bc2560ec9926c77ce:

Bump actions/setup-node from 3 to 4 (microsoft/vscode-python#22298)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3
to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<p>In scope of this release we changed version of node runtime for
action from node16 to node20 and updated dependencies in <a
href="https://redirect.github.com/actions/setup-node/pull/866">actions/setup-node#866</a></p>
<p>Besides, release contains such changes as:</p>
<ul>
<li>Upgrade actions/checkout to v4 by <a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
<li>Update actions/checkout for documentation and yaml by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/876">actions/setup-node#876</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v4.0.0">https://github.com/actions/setup-node/compare/v3...v4.0.0</a></p>
<h2>v3.8.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Update semver by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/861">actions/setup-node#861</a></li>
<li>Update temp directory creation by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/859">actions/setup-node#859</a></li>
<li>Bump <code>@​babel/traverse</code> from 7.15.4 to 7.23.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/870">actions/setup-node#870</a></li>
<li>Add notice about binaries not being updated yet by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/872">actions/setup-node#872</a></li>
<li>Update toolkit cache and core by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
and <a
href="https://github.com/seongwon-privatenote"><code>@​seongwon-privatenote</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/875">actions/setup-node#875</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.2">https://github.com/actions/setup-node/compare/v3...v3.8.2</a></p>
<h2>v3.8.1</h2>
<h2>What's Changed</h2>
<p>In scope of this release, the filter was removed within the
cache-save step by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/831">actions/setup-node#831</a>.
It is filtered and checked in the toolkit/cache library.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.1">https://github.com/actions/setup-node/compare/v3...v3.8.1</a></p>
<h2>v3.8.0</h2>
<h2>What's Changed</h2>
<h3>Bug fixes:</h3>
<ul>
<li>Add check for existing paths by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/803">actions/setup-node#803</a></li>
<li>Resolve SymbolicLink by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/809">actions/setup-node#809</a></li>
<li>Change passing logic for cache input by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/816">actions/setup-node#816</a></li>
<li>Fix armv7 cache issue by <a
href="https://github.com/louislam"><code>@​louislam</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/794">actions/setup-node#794</a></li>
<li>Update check-dist workflow name by <a
href="https://github.com/sinchang"><code>@​sinchang</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/710">actions/setup-node#710</a></li>
</ul>
<h3>Feature implementations:</h3>
<ul>
<li>feat: handling the case where &quot;node&quot; is used for
tool-versions file. by <a
href="https://github.com/xytis"><code>@​xytis</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/812">actions/setup-node#812</a></li>
</ul>
<h3>Documentation changes:</h3>
<ul>
<li>Refer to semver package name in README.md by <a
href="https://github.com/olleolleolle"><code>@​olleolleolle</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/808">actions/setup-node#808</a></li>
</ul>
<h3>Update dependencies:</h3>
<ul>
<li>Update toolkit cache to fix zstd by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/804">actions/setup-node#804</a></li>
<li>Bump tough-cookie and <code>@​azure/ms-rest-js</code> by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/802">actions/setup-node#802</a></li>
<li>Bump semver from 6.1.2 to 6.3.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/807">actions/setup-node#807</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/8f152de45cc393bb48ce5d89d36b731f54556e65"><code>8f152de</code></a>
Update actions/checkout for documentation and yaml (<a
href="https://redirect.github.com/actions/setup-node/issues/876">#876</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/23755b521f87533c8ed7f8fb13674f9021579e34"><code>23755b5</code></a>
upgrade actions/checkout to v4 (<a
href="https://redirect.github.com/actions/setup-node/issues/868">#868</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/54534a2a9ba7308e8a8995af3104899e6a95b681"><code>54534a2</code></a>
Change node version for action to node20 (<a
href="https://redirect.github.com/actions/setup-node/issues/866">#866</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@10327096932620304a49db6d9742bac676c68b04:

Log commands when using raw process APIs directly (microsoft/vscode-python#22326)


--------------------
Commit message for microsoft/vscode-python@c3afea5984b3dc41b1b3bf2ce04142baaf381029:

Update linter and formatter warning notifications (microsoft/vscode-python#22292)

closes https://github.com/microsoft/vscode-python/issues/22272

---------

Co-authored-by: Luciana Abud <[email protected]>
--------------------
Commit message for microsoft/vscode-python@3c88f27697f4a4b1251146b27b34c56c454ff9c7:

Improve notification texts for terminal activation (microsoft/vscode-python#22323)

Closes https://github.com/microsoft/vscode-python/issues/22316
--------------------
Commit message for microsoft/vscode-python@9e07503d11442bfafb84108d0f0e339eb29c040f:

Use taskkill to kill processes on Windows (microsoft/vscode-python#22286)

For https://github.com/microsoft/vscode-python/issues/22285
--------------------
Commit message for microsoft/vscode-python@daab11d7bfdda996325a7b0ca691c84e7d0fea5e:

Only show terminal notification for basic terminals created using '+' icon (microsoft/vscode-python#22275)


--------------------
Commit message for microsoft/vscode-python@d75874110cbd53bae8a2e2b006814ad1fd21331a:

Add telemetry for deactivate prompt (microsoft/vscode-python#22274)


--------------------
Commit message for microsoft/vscode-python@f57be20d7af6c623774cd148f07ed77c31607ee7:

Support powershell activation even if Powershell execution is disabled on the system (microsoft/vscode-python#22273)

Closes https://github.com/microsoft/vscode-python/issues/22252

Error out if stderr is related to Powershell execution being disabled on
system, even though environment variables are returned in this case,
we've observed they're not valid in this case.
--------------------
Commit message for microsoft/vscode-python@802cf0c136fa30d5a4e69b6cee60e20fb650636d:

Reveal selection after editing deactivate script (microsoft/vscode-python#22271)


--------------------
Commit message for microsoft/vscode-python@63337522aa7bf207b1028323262693d1961a33a1:

add envFile's pythonpath before running tests (microsoft/vscode-python#22269)

fixes https://github.com/microsoft/vscode-python/issues/22231

---------

Co-authored-by: Karthik Nadig <[email protected]>
--------------------
Commit message for microsoft/vscode-python@043881397910818cf43b94b85fb3692a4735a14b:

Guide users to install workaround when deactivate command is run (microsoft/vscode-python#22223)


--------------------
Commit message for microsoft/vscode-python@a55484d3c3ccadfc5144c5aa48bdefcb803a1f97:

Fix for stack overflow on dispose (microsoft/vscode-python#22263)

Closes https://github.com/microsoft/vscode-python/issues/22261
--------------------
Commit message for microsoft/vscode-python@5d7eb6546b2c1e03c9c321410b79fed32f859624:

Remove linting support (microsoft/vscode-python#22266)


--------------------
Commit message for microsoft/vscode-python@c82702e584c01c9891007d792e55d0b48e8ea38a:

Add extra logging to PythonTestServer data received before parsed as json (microsoft/vscode-python#22265)

gives additional insight into cases where the data returned to the
extension occurs but tests are still not populating the UI.
--------------------
Commit message for microsoft/vscode-python@0ffce1999c5c611668c0dcc00eab6397a9f1f137:

Bump microvenv from 2023.3.post1 to 2023.5 (microsoft/vscode-python#22259)

Bumps [microvenv](https://github.com/brettcannon/microvenv) from
2023.3.post1 to 2023.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/brettcannon/microvenv/releases">microvenv's
releases</a>.</em></p>
<blockquote>
<h2>2023.5</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>⚠️ Breaking Changes</h3>
<ul>
<li>Drop Python 3.7 by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/58">brettcannon/microvenv#58</a></li>
</ul>
<h3>🎉 New Features</h3>
<ul>
<li>Get mypy passing under Windows by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/58">brettcannon/microvenv#58</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/brettcannon/microvenv/compare/v2023.4...v2023.5">https://github.com/brettcannon/microvenv/compare/v2023.4...v2023.5</a></p>
<h2>2023.4</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>🪲 Bug Fixes</h3>
<ul>
<li>Prevent <code>__main__.py</code> from attempting to execute on
Windows. by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/57">brettcannon/microvenv#57</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/brettcannon/microvenv/compare/v2023.3.post1...v2023.4">https://github.com/brettcannon/microvenv/compare/v2023.3.post1...v2023.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/brettcannon/microvenv/commit/7cdcf908438fd1e8b2370624ec80a9ee44a597ec"><code>7cdcf90</code></a>
Get mypy passing under Windows (<a
href="https://redirect.github.com/brettcannon/microvenv/issues/58">#58</a>)</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/d32ca9dc1be5e029d326a240eda5c8137b64009d"><code>d32ca9d</code></a>
Fix <code>.github/workflows/docs.yml</code> syntax</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/ee3b599b2e15e0c409641ad4c8313c9a28f654d9"><code>ee3b599</code></a>
Prevent <code>__main__.py</code> from attempting to execute on Windows.
(<a
href="https://redirect.github.com/brettcannon/microvenv/issues/57">#57</a>)</li>
<li>See full diff in <a
href="https://github.com/brettcannon/microvenv/compare/v2023.3.post1...v2023.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=microvenv&package-manager=pip&previous-version=2023.3.post1&new-version=2023.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@8becc7654d3765520b99b973fb61e696748daa66:

Remove unused text edit code (microsoft/vscode-python#22244)

This is part of removing the formatting support from the extension.
--------------------
Commit message for microsoft/vscode-python@7cb3593c1f998d109721f783a0b80ae878dd0164:

Remove unmatched parenthesis from error message (microsoft/vscode-python#22254)

Remove unmatched parenthesis from error message

closes: https://github.com/microsoft/vscode-python/issues/22253
--------------------
Commit message for microsoft/vscode-python@01c7665e37f4674a6a574d38f4f7af9344ec0485:

add correct retrieval of workspace adapter for test discovery in multiroot context (microsoft/vscode-python#22246)

fixes: https://github.com/microsoft/vscode-python/issues/22218
--------------------
Commit message for microsoft/vscode-python@4caa20735b4fa7832e3d62e884cbc04b482f2ad8:

add wrapper hook for pytest_runtest_protocol (microsoft/vscode-python#22243)

fixes https://github.com/microsoft/vscode-python/issues/22232. From
https://github.com/pytest-dev/pytest/discussions/11509, learned that
some pytest hooks are meant to be unique and only one will be called per
run. If multiple plugins are at play then another plugin the user has
might override our plugin. Added the hookwrapper so our is always run.
Same as https://github.com/microsoft/vscode-python/pull/22240
--------------------
Commit message for microsoft/vscode-python@44053a22aafaa4ae1d661f867b4735b237308a14:

add hookwrappers to pytest plugin to ensure run (microsoft/vscode-python#22240)

fixes https://github.com/microsoft/vscode-python/issues/22232. From
[this
discussion](https://github.com/pytest-dev/pytest/discussions/11509),
learned that some pytest hooks are meant to be unique and only one will
be called per run. If multiple plugins are at play then another plugin
the user has might override our plugin. Added the hookwrapper so our is
always run.
--------------------
Commit message for microsoft/vscode-python@754f8effa482d2e37a8dfba588da4d51374e2a63:

remove node deletion for error tolerant discovery (microsoft/vscode-python#22207)

helps with a part of
https://github.com/microsoft/vscode-python/issues/21757
--------------------
Commit message for microsoft/vscode-python@ebaf8fe0d587cfbc190bd89ad4d584c35ff57bd1:

Fix experiment telemetry related to optInto/optOutFrom settings (microsoft/vscode-python#22241)

cc/ @luabud
--------------------
Commit message for microsoft/vscode-python@10b98d34b51b501531ac21027fcab59b12c8e182:

Deprecate the log directory setting (microsoft/vscode-python#22236)


--------------------
Commit message for microsoft/vscode-python@f43826256703a40f76e1a93e677e72e5963689bc:

Add support for a tensorboard experiment (microsoft/vscode-python#22215)


--------------------
Commit message for microsoft/vscode-python@1310bd665d83bcd4e09903bff39ac841dafcad52:

Enable experiments for all tests (microsoft/vscode-python#22194)

Closes: microsoft/vscode-python#22193

Enables to opt into experiments for tests such as single workspace,
multi workspace, debugger, venv, etc.
--------------------
Commit message for microsoft/vscode-python@ed155afa4bf6acdbd0341d093b5a00e13237985e:

remove asserts from catchable code for testing (microsoft/vscode-python#22210)

some asserts were inside functions / mocking and with this then the
extension code catches the exception and doesn't error out as the test.
Bring the asserts out of the functions into the test so the asserts work
as expected.
--------------------
Commit message for microsoft/vscode-python@eada0f1ab940729ae335389c34899d64b56edd35:

Bump microvenv from 2023.2.0 to 2023.3.post1 (microsoft/vscode-python#22204)

Bumps [microvenv](https://github.com/brettcannon/microvenv) from
2023.2.0 to 2023.3.post1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/brettcannon/microvenv/releases">microvenv's
releases</a>.</em></p>
<blockquote>
<h2>2023.3.post1</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>⚠️ Breaking Changes</h3>
<ul>
<li>Add support for <code>scm_ignore_files</code> (and restructure
project) by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/44">brettcannon/microvenv#44</a></li>
</ul>
<h3>🎉 New Features</h3>
<ul>
<li>Add <code>IN_VIRTUAL_ENV</code> by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/47">brettcannon/microvenv#47</a></li>
<li>Add <code>parse_config()</code> by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/48">brettcannon/microvenv#48</a></li>
<li>Add <code>activation()</code> by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/49">brettcannon/microvenv#49</a></li>
<li>Add type annotations by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/50">brettcannon/microvenv#50</a></li>
<li>Add docs by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/51">brettcannon/microvenv#51</a></li>
<li>Add support for Windows (except for <code>create()</code>) by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/55">brettcannon/microvenv#55</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/brettcannon/microvenv/compare/v2023.2.0...v2023.3.post1">https://github.com/brettcannon/microvenv/compare/v2023.2.0...v2023.3.post1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/brettcannon/microvenv/commit/bf19f920060bd636ce15a992a118ee6a255d15ac"><code>bf19f92</code></a>
Update the docs due to Windows support</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/0c5436dcd8718ba353140e0b2c73327f247d3737"><code>0c5436d</code></a>
Fix <code>docs.yml</code></li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/00d43b4188867d407387f314444d2f0b557383ea"><code>00d43b4</code></a>
Update the version for release</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/2e8d62ec1b9a4bdf57f32bf5aac807b661f176be"><code>2e8d62e</code></a>
Add a <code>release.yml</code> workflow</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/7b9ca8aff40eda2495a130453b8586646398d157"><code>7b9ca8a</code></a>
Add support for Windows (except for <code>create()</code>) (<a
href="https://redirect.github.com/brettcannon/microvenv/issues/55">#55</a>)</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/7085e42a4b8df4706a4395ff520617801726db22"><code>7085e42</code></a>
Drop CI path requirements</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/f9dc600ebf4feb08486e406688297ce6d61734ab"><code>f9dc600</code></a>
Add mypy's stubtest to linting</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/54e08f8b35b920b4211b706404f55075e9d16b09"><code>54e08f8</code></a>
Clarify that <code>_create.py</code> is self-contained</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/3145fcbaa4a0bc36d832d155d17f34389b8a398e"><code>3145fcb</code></a>
Merge branch 'main' of github.com:brettcannon/microvenv</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/6c0529e2b49469544829dbb50008c933e08cb44b"><code>6c0529e</code></a>
Drop the static HTML directory</li>
<li>Additional commits viewable in <a
href="https://github.com/brettcannon/microvenv/compare/v2023.2.0...v2023.3.post1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=microvenv&package-manager=pip&previous-version=2023.2.0&new-version=2023.3.post1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@76ae73a46bea7e722bf43e4d5550b3d895066d90:

Skip setting `PYTHONUTF8` when activating terminals (microsoft/vscode-python#22213)

Closes https://github.com/microsoft/vscode-python/issues/22205
--------------------
Commit message for microsoft/vscode-python@bdb8efb9dd20cefd56a11687ed7f7dfc89f9f15d:

Try using `import` in webpack condition names (microsoft/vscode-python#22212)


--------------------
Commit message for microsoft/vscode-python@6c23e4335db10e900ea0ca2402e267322c3a2e69:

Handle white spaces for list along with dictionary (microsoft/vscode-python#22209)

Legacy normalization script leaves unnecessary white spaces for
dictionary as well as list. While there are multiple correct usage of it
such as for after a function, for more intuitive REPL experience. We
want to keep previous normalization style and white space format EXCEPT
for dictionary and list case.

Dictionary case is handled, but this is the PR to handle the elimination
of extra white spaces for list as well.
Closes: microsoft/vscode-python#22208
--------------------
Commit message for microsoft/vscode-python@ec001a0b1503555e685996baab8fda4f0648c454:

Fix for webpack warning with LSP types (microsoft/vscode-python#22211)


--------------------
Commit message for microsoft/vscode-python@9b5f58afc0acacacd45c035c4e1a78622944407d:

Add logging for failure to retrieve environment variables, testing rewrite (microsoft/vscode-python#22203)


--------------------
Commit message for microsoft/vscode-python@65c8ac6e3f272d76c9775ad1163a18c61d473119:

Remove formatting settings (microsoft/vscode-python#22202)

Closes https://github.com/microsoft/vscode-python/issues/22183
--------------------
Commit message for microsoft/vscode-python@d1e4562b64e38045f549ca00025c4620a6a89567:

Move tensorboard support into a separate extension (microsoft/vscode-python#22197)

* No need of experiments (if users install extension, then it works)
* If tensorboard extension is installed the we rely on tensorboard
extension to handle everything
* For final deplayment we can decide whether to just remove this feature
altogether or prompt users to install tensorboard extension or to go
with an experiment, for now I wanted to keep this super simple (this
shoudl not affect anyone as no one will have a tensorboard extension
except us)
* Simple private API for tensorboard extension, untill Python ext
exposes a stable API
    * API is similar to Jupyter, scoped to Tensorboard ext
--------------------
Commit message for microsoft/vscode-python@1dd8a4bdb16d0a7e79082c75d8eb55a142a48fc2:

switch testing output to test result panel (microsoft/vscode-python#22039)

closes https://github.com/microsoft/vscode-python/issues/21861 and
related issues

---------

Co-authored-by: Courtney Webster <[email protected]>
--------------------
Commit message for microsoft/vscode-python@055a352285db83158be4374a2e57bdc48b28fda8:

Remove formatting support (microsoft/vscode-python#22196)


--------------------
Commit message for microsoft/vscode-python@75e707be42bf67aac316c900f7d095c1e21bae28:

Update LSP to latest version to support completion itemDefaults (microsoft/vscode-python#22200)

Dirk added this feature here:

https://github.com/microsoft/vscode-languageserver-node/commit/0b7acc15abd7132c9154d94140f478ccf5ba5769

We want to use this in Pylance in order to speedup completions. For the
degenerate case, this can speedup completion results by 30%.

See https://github.com/microsoft/pyrx/issues/4113 and
https://github.com/microsoft/pylance-release/issues/4919
--------------------
Commit message for microsoft/vscode-python@bc0c7144d586d5a7514921ddfc8cd495f1838ba1:

add clickable show logs on discovery error (microsoft/vscode-python#22199)

fixes https://github.com/microsoft/vscode-python/issues/22175
--------------------
Commit message for microsoft/vscode-python@56661a1576b93430953f249cda582eeef30ff543:

REPL Smart Shift+Enter and Dynamic Smart Cursor  (microsoft/vscode-python#21779)

There are two Feature Requests from: microsoft/vscode-python#18105 microsoft/vscode-python#21838 
They are grouped together to provide the smoothest experience: when user
wants to press shift+enter and smoothly move between each executable
Python code block without having to manually move their cursor.

#19955 (For Execute line/selection and advance to next line, referred to
as dynamic smart cursor hereby)
Open Issue: microsoft/vscode-python#21778 microsoft/vscode-python#21838

Steps in implementing REPL Smart Send (smart shift+enter to the REPL)
and dynamic cursor move aka. Move to Next Line (next executable line of
code to be more precise):

1. Figure out the workflow of where things start and run when user
clicks on run selection/line
2. Send the content of selection & document to the Python Side from
Typescript side.
3. Respect and follow previous logic/code for EXPLICIT selection (user
has highlighting particular text they want to send to REPL), but
otherwise, use newly created smart send code.
4. Receive content of document & selection in Python Side
5. Use AST (From Python standard library) to figu…
wesm pushed a commit to posit-dev/positron that referenced this issue Mar 28, 2024
… 2023.20

Merge pull request #244 from posit-dev/merge/upstream-2023.20

Merge upstream vscode-python 2023.20
--------------------
Commit message for posit-dev/positron-python@182a5a1b5c8ca577bea4b303224a2a92a78e8ce9:

Put back gulp installation path instead of nox

--------------------
Commit message for posit-dev/positron-python@bd64148cbb024a183cea2cdacd98c2d7cbf0008a:

Merge upstream 2023.20

--------------------
Commit message for microsoft/vscode-python@32ea534f7144fb1c9bd7502e91451e69f2fcd218:

remove new line chars from error text messages in testing rewrite (microsoft/vscode-python#22402)

fixes https://github.com/microsoft/vscode-python/issues/21512 where 2
extra new lines were seen at the end of an error message popup. Removing
these will restrict stop this from occurring.
--------------------
Commit message for microsoft/vscode-python@ff604ca9988420aefa4f66c1681e3d3374c5e03c:

Add cwd to error logs (microsoft/vscode-python#22387)

closes https://github.com/microsoft/vscode-python/issues/22359
--------------------
Commit message for microsoft/vscode-python@78052bd76e9922a983accd35a84f16c6d1d53f22:

Refactor get_node_path function to handle fspath greedy access  (microsoft/vscode-python#22384)

closes https://github.com/microsoft/vscode-python/issues/20830

---------

Co-authored-by: Karthik Nadig <[email protected]>
--------------------
Commit message for microsoft/vscode-python@491c2c8af29916136e0b6540b5d934bf448a51e3:

Bump typing-extensions from 4.7.1 to 4.8.0 (microsoft/vscode-python#22015)

Bumps [typing-extensions](https://github.com/python/typing_extensions)
from 4.7.1 to 4.8.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/releases">typing-extensions's
releases</a>.</em></p>
<blockquote>
<h2>4.8.0</h2>
<p>Changes since 4.7.1:</p>
<ul>
<li>Add <code>typing_extensions.Doc</code>, as proposed by PEP 727.
Patch by
Sebastián Ramírez.</li>
<li>Drop support for Python 3.7 (including PyPy-3.7). Patch by Alex
Waygood.</li>
<li>Fix bug where <code>get_original_bases()</code> would return
incorrect results when
called on a concrete subclass of a generic class. Patch by Alex Waygood
(backporting <a
href="https://redirect.github.com/python/cpython/pull/107584">python/cpython#107584</a>,
by James
Hilton-Balfe).</li>
<li>Fix bug where <code>ParamSpec(default=...)</code> would raise a
<code>TypeError</code> on Python
versions &lt;3.11. Patch by James Hilton-Balfe</li>
</ul>
<p>No changes since 4.8.0rc1.</p>
<h2>4.8.0rc1</h2>
<ul>
<li>Add <code>typing_extensions.Doc</code>, as proposed by PEP 727.
Patch by
Sebastián Ramírez.</li>
<li>Drop support for Python 3.7 (including PyPy-3.7). Patch by Alex
Waygood.</li>
<li>Fix bug where <code>get_original_bases()</code> would return
incorrect results when
called on a concrete subclass of a generic class. Patch by Alex Waygood
(backporting <a
href="https://redirect.github.com/python/cpython/pull/107584">python/cpython#107584</a>,
by James
Hilton-Balfe).</li>
<li>Fix bug where <code>ParamSpec(default=...)</code> would raise a
<code>TypeError</code> on Python
versions &lt;3.11. Patch by James Hilton-Balfe</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/blob/main/CHANGELOG.md">typing-extensions's
changelog</a>.</em></p>
<blockquote>
<h1>Release 4.8.0 (September 17, 2023)</h1>
<p>No changes since 4.8.0rc1.</p>
<h1>Release 4.8.0rc1 (September 7, 2023)</h1>
<ul>
<li>Add <code>typing_extensions.Doc</code>, as proposed by PEP 727.
Patch by
Sebastián Ramírez.</li>
<li>Drop support for Python 3.7 (including PyPy-3.7). Patch by Alex
Waygood.</li>
<li>Fix bug where <code>get_original_bases()</code> would return
incorrect results when
called on a concrete subclass of a generic class. Patch by Alex Waygood
(backporting <a
href="https://redirect.github.com/python/cpython/pull/107584">python/cpython#107584</a>,
by James
Hilton-Balfe).</li>
<li>Fix bug where <code>ParamSpec(default=...)</code> would raise a
<code>TypeError</code> on Python
versions &lt;3.11. Patch by James Hilton-Balfe</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/typing_extensions/commit/c17c499b865585458bc334a1f895ebaedd2ab854"><code>c17c499</code></a>
Prepare release 4.8.0 (<a
href="https://redirect.github.com/python/typing_extensions/issues/283">#283</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/df9e322f2d9cb66d936fbfeac524b5989b78cfd5"><code>df9e322</code></a>
Run tests on py312 for more third-party projects (<a
href="https://redirect.github.com/python/typing_extensions/issues/281">#281</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/7e294992dfe3070b3ca228555fa3887001ceaab2"><code>7e29499</code></a>
Release 4.8.0rc1 (<a
href="https://redirect.github.com/python/typing_extensions/issues/280">#280</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/ca2a739574fb259f156faba005aaa802e6f19faa"><code>ca2a739</code></a>
Add Doc from PEP 727: <a
href="https://peps.python.org/pep-0727/">https://peps.python.org/pep-0727/</a>
(<a
href="https://redirect.github.com/python/typing_extensions/issues/277">#277</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/13c9484f10f5f4b3ac995c49c06cef42d847723c"><code>13c9484</code></a>
Fix ParamSpec ellipsis default for &lt;3.10 (<a
href="https://redirect.github.com/python/typing_extensions/issues/279">#279</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/4705e747b8380ce466d81b132134bd4ed399eb45"><code>4705e74</code></a>
Improve documentation (<a
href="https://redirect.github.com/python/typing_extensions/issues/278">#278</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/99fa708df2af1ab5ecde47968d71dc5b0447fc5d"><code>99fa708</code></a>
Backport CPython PR 107584 (<a
href="https://redirect.github.com/python/typing_extensions/issues/275">#275</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/688fbd2545944c9c36a0d08084e7c92642a81751"><code>688fbd2</code></a>
Revert &quot;Skip running <code>cattrs</code> tests on PyPy (<a
href="https://redirect.github.com/python/typing_extensions/issues/272">#272</a>)&quot;
(<a
href="https://redirect.github.com/python/typing_extensions/issues/273">#273</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/8dfa0a5dc31b298252d001304b9107be76e4de4c"><code>8dfa0a5</code></a>
Skip running <code>cattrs</code> tests on PyPy (<a
href="https://redirect.github.com/python/typing_extensions/issues/272">#272</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/7bb3f3fca39d477b2bb04f64ff5ea2cc14383e51"><code>7bb3f3f</code></a>
Fix third-party workflow (<a
href="https://redirect.github.com/python/typing_extensions/issues/269">#269</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/typing_extensions/compare/4.7.1...4.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=typing-extensions&package-manager=pip&previous-version=4.7.1&new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@473de33f84fc649f99b1ae4692ecf0653f5d2d8c:

Ensure Python environment defined in `python.defaultInterpreterPath` is returned via discovery API (microsoft/vscode-python#22389)

Closes https://github.com/microsoft/vscode-python/issues/22268

Even when it is not the active interpreter for any workspace, it's still
a known environment which users could consider selecting.
--------------------
Commit message for microsoft/vscode-python@7aefb217ce836d865bdc170c8ef3427549aeac17:

Remove unused packages from `package.json` (microsoft/vscode-python#22386)

closes: https://github.com/microsoft/vscode-python/issues/16840
--------------------
Commit message for microsoft/vscode-python@b65ea3baa48c7ebd2af8e16c7eaf8a33f8d9bd87:

Use nox to install packages (microsoft/vscode-python#22381)


--------------------
Commit message for microsoft/vscode-python@a7262b8d9071c34ccd0dffb4d0fad48092411b31:

Do not prefer Microsoft store interpreter over other global interpreters when auto-selecting (microsoft/vscode-python#22380)

Closes https://github.com/microsoft/vscode-python/issues/22364

Do not compare two global interpreters using their kinds.
--------------------
Commit message for microsoft/vscode-python@b4f06c9e71c8e066d6df3dd787c7880439c4e41b:

Use python test runner for extension python tests (microsoft/vscode-python#22385)

closes https://github.com/microsoft/vscode-python/issues/9051
--------------------
Commit message for microsoft/vscode-python@ed6f4601b21013c1c0d750c751e935439136c44e:

Remove deprecated settings (microsoft/vscode-python#22377)


--------------------
Commit message for microsoft/vscode-python@6d2ab8e063bf3155ca56f782bb43fae84f15c9e0:

Update main version to next pre-release (microsoft/vscode-python#22379)


--------------------
Commit message for microsoft/vscode-python@2ea45befd3a8b5aacf8c92505e9e039f9d13871b:

Update version for release candidate (microsoft/vscode-python#22378)


--------------------
Commit message for microsoft/vscode-python@183a52922661a1d931858c81c6643227ec8ffc86:

allow -v, -f, -q, --local in unittest args (microsoft/vscode-python#22357)

fixes https://github.com/microsoft/vscode-python/issues/22343
--------------------
Commit message for microsoft/vscode-python@93bf5cc2dd89ea98f70c1f85a8a32989e4e635af:

Handle localized shells when powershell execution is disabled (microsoft/vscode-python#22360)

Closes https://github.com/microsoft/vscode-python/issues/22352
--------------------
Commit message for microsoft/vscode-python@56a88b8b885227d04f07eeda47ee7332acaf9fc4:

Trim ends before add lines to logs from create env output (microsoft/vscode-python#22358)

closes https://github.com/microsoft/vscode-python/issues/22321
--------------------
Commit message for microsoft/vscode-python@71a451cb4f7cb6a2e0b192ad0ed4d1ec202a001c:

Save env vars at first pytest hook to ensure theyre unedited (microsoft/vscode-python#22344)

fixes https://github.com/microsoft/vscode-python/issues/22192.

Now, all environment variables are accessed during the
pytest_load_initial_conftests hook and then saved as global variables in
the plugin. This ensures the port and uuid will still be saved even if a
user safely or unsafely clears their environment variables during
testing.

---------

Co-authored-by: Karthik Nadig <[email protected]>
--------------------
Commit message for microsoft/vscode-python@c2dec146b9fe53af641ed217c4a567735d4d2d32:

Update warning for the deprecated settings in python (microsoft/vscode-python#22345)

close https://github.com/microsoft/vscode-python/issues/22272
--------------------
Commit message for microsoft/vscode-python@fe229588a6626800e26299aa0c27d0be03698016:

Fix powershell core activation if executing scripts is not supported (microsoft/vscode-python#22350)

Closes https://github.com/microsoft/vscode-python/issues/22252
--------------------
Commit message for microsoft/vscode-python@26b6255420750510bbe50d926835e7064469e920:

fix small logging issues for testing deprecation & duplicate log (microsoft/vscode-python#22349)

fixes https://github.com/microsoft/vscode-python/issues/22327
--------------------
Commit message for microsoft/vscode-python@e6046877f9679641dea61484e6ba4ea62b454591:

Correct condition when logging whether shell integration is active (microsoft/vscode-python#22347)

Introduced by https://github.com/microsoft/vscode-python/pull/22346
--------------------
Commit message for microsoft/vscode-python@b46e1a6ba3c1e6ecb7e847ebbf190f5217df385b:

Log whether shell integration is active (microsoft/vscode-python#22346)

For microsoft/vscode-python#20950
--------------------
Commit message for microsoft/vscode-python@bcb10251f3479cf3dd89b1f79a96bb1cbdfcbd13:

Bump actions/setup-node from 3 to 4 in /.github/actions/build-vsix (microsoft/vscode-python#22296)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3
to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<p>In scope of this release we changed version of node runtime for
action from node16 to node20 and updated dependencies in <a
href="https://redirect.github.com/actions/setup-node/pull/866">actions/setup-node#866</a></p>
<p>Besides, release contains such changes as:</p>
<ul>
<li>Upgrade actions/checkout to v4 by <a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
<li>Update actions/checkout for documentation and yaml by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/876">actions/setup-node#876</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v4.0.0">https://github.com/actions/setup-node/compare/v3...v4.0.0</a></p>
<h2>v3.8.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Update semver by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/861">actions/setup-node#861</a></li>
<li>Update temp directory creation by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/859">actions/setup-node#859</a></li>
<li>Bump <code>@​babel/traverse</code> from 7.15.4 to 7.23.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/870">actions/setup-node#870</a></li>
<li>Add notice about binaries not being updated yet by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/872">actions/setup-node#872</a></li>
<li>Update toolkit cache and core by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
and <a
href="https://github.com/seongwon-privatenote"><code>@​seongwon-privatenote</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/875">actions/setup-node#875</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.2">https://github.com/actions/setup-node/compare/v3...v3.8.2</a></p>
<h2>v3.8.1</h2>
<h2>What's Changed</h2>
<p>In scope of this release, the filter was removed within the
cache-save step by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/831">actions/setup-node#831</a>.
It is filtered and checked in the toolkit/cache library.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.1">https://github.com/actions/setup-node/compare/v3...v3.8.1</a></p>
<h2>v3.8.0</h2>
<h2>What's Changed</h2>
<h3>Bug fixes:</h3>
<ul>
<li>Add check for existing paths by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/803">actions/setup-node#803</a></li>
<li>Resolve SymbolicLink by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/809">actions/setup-node#809</a></li>
<li>Change passing logic for cache input by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/816">actions/setup-node#816</a></li>
<li>Fix armv7 cache issue by <a
href="https://github.com/louislam"><code>@​louislam</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/794">actions/setup-node#794</a></li>
<li>Update check-dist workflow name by <a
href="https://github.com/sinchang"><code>@​sinchang</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/710">actions/setup-node#710</a></li>
</ul>
<h3>Feature implementations:</h3>
<ul>
<li>feat: handling the case where &quot;node&quot; is used for
tool-versions file. by <a
href="https://github.com/xytis"><code>@​xytis</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/812">actions/setup-node#812</a></li>
</ul>
<h3>Documentation changes:</h3>
<ul>
<li>Refer to semver package name in README.md by <a
href="https://github.com/olleolleolle"><code>@​olleolleolle</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/808">actions/setup-node#808</a></li>
</ul>
<h3>Update dependencies:</h3>
<ul>
<li>Update toolkit cache to fix zstd by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/804">actions/setup-node#804</a></li>
<li>Bump tough-cookie and <code>@​azure/ms-rest-js</code> by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/802">actions/setup-node#802</a></li>
<li>Bump semver from 6.1.2 to 6.3.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/807">actions/setup-node#807</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/8f152de45cc393bb48ce5d89d36b731f54556e65"><code>8f152de</code></a>
Update actions/checkout for documentation and yaml (<a
href="https://redirect.github.com/actions/setup-node/issues/876">#876</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/23755b521f87533c8ed7f8fb13674f9021579e34"><code>23755b5</code></a>
upgrade actions/checkout to v4 (<a
href="https://redirect.github.com/actions/setup-node/issues/868">#868</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/54534a2a9ba7308e8a8995af3104899e6a95b681"><code>54534a2</code></a>
Change node version for action to node20 (<a
href="https://redirect.github.com/actions/setup-node/issues/866">#866</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@c9944e7b5a05c81992c9c936c1588327cdaf8739:

Bump actions/setup-node from 3 to 4 in /.github/actions/lint (microsoft/vscode-python#22297)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3
to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<p>In scope of this release we changed version of node runtime for
action from node16 to node20 and updated dependencies in <a
href="https://redirect.github.com/actions/setup-node/pull/866">actions/setup-node#866</a></p>
<p>Besides, release contains such changes as:</p>
<ul>
<li>Upgrade actions/checkout to v4 by <a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
<li>Update actions/checkout for documentation and yaml by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/876">actions/setup-node#876</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v4.0.0">https://github.com/actions/setup-node/compare/v3...v4.0.0</a></p>
<h2>v3.8.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Update semver by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/861">actions/setup-node#861</a></li>
<li>Update temp directory creation by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/859">actions/setup-node#859</a></li>
<li>Bump <code>@​babel/traverse</code> from 7.15.4 to 7.23.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/870">actions/setup-node#870</a></li>
<li>Add notice about binaries not being updated yet by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/872">actions/setup-node#872</a></li>
<li>Update toolkit cache and core by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
and <a
href="https://github.com/seongwon-privatenote"><code>@​seongwon-privatenote</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/875">actions/setup-node#875</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.2">https://github.com/actions/setup-node/compare/v3...v3.8.2</a></p>
<h2>v3.8.1</h2>
<h2>What's Changed</h2>
<p>In scope of this release, the filter was removed within the
cache-save step by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/831">actions/setup-node#831</a>.
It is filtered and checked in the toolkit/cache library.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.1">https://github.com/actions/setup-node/compare/v3...v3.8.1</a></p>
<h2>v3.8.0</h2>
<h2>What's Changed</h2>
<h3>Bug fixes:</h3>
<ul>
<li>Add check for existing paths by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/803">actions/setup-node#803</a></li>
<li>Resolve SymbolicLink by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/809">actions/setup-node#809</a></li>
<li>Change passing logic for cache input by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/816">actions/setup-node#816</a></li>
<li>Fix armv7 cache issue by <a
href="https://github.com/louislam"><code>@​louislam</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/794">actions/setup-node#794</a></li>
<li>Update check-dist workflow name by <a
href="https://github.com/sinchang"><code>@​sinchang</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/710">actions/setup-node#710</a></li>
</ul>
<h3>Feature implementations:</h3>
<ul>
<li>feat: handling the case where &quot;node&quot; is used for
tool-versions file. by <a
href="https://github.com/xytis"><code>@​xytis</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/812">actions/setup-node#812</a></li>
</ul>
<h3>Documentation changes:</h3>
<ul>
<li>Refer to semver package name in README.md by <a
href="https://github.com/olleolleolle"><code>@​olleolleolle</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/808">actions/setup-node#808</a></li>
</ul>
<h3>Update dependencies:</h3>
<ul>
<li>Update toolkit cache to fix zstd by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/804">actions/setup-node#804</a></li>
<li>Bump tough-cookie and <code>@​azure/ms-rest-js</code> by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/802">actions/setup-node#802</a></li>
<li>Bump semver from 6.1.2 to 6.3.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/807">actions/setup-node#807</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/8f152de45cc393bb48ce5d89d36b731f54556e65"><code>8f152de</code></a>
Update actions/checkout for documentation and yaml (<a
href="https://redirect.github.com/actions/setup-node/issues/876">#876</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/23755b521f87533c8ed7f8fb13674f9021579e34"><code>23755b5</code></a>
upgrade actions/checkout to v4 (<a
href="https://redirect.github.com/actions/setup-node/issues/868">#868</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/54534a2a9ba7308e8a8995af3104899e6a95b681"><code>54534a2</code></a>
Change node version for action to node20 (<a
href="https://redirect.github.com/actions/setup-node/issues/866">#866</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@fa0d02b8358efb02f12fd24bc2560ec9926c77ce:

Bump actions/setup-node from 3 to 4 (microsoft/vscode-python#22298)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3
to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<p>In scope of this release we changed version of node runtime for
action from node16 to node20 and updated dependencies in <a
href="https://redirect.github.com/actions/setup-node/pull/866">actions/setup-node#866</a></p>
<p>Besides, release contains such changes as:</p>
<ul>
<li>Upgrade actions/checkout to v4 by <a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
<li>Update actions/checkout for documentation and yaml by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/876">actions/setup-node#876</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/gmembre-zenika"><code>@​gmembre-zenika</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/868">actions/setup-node#868</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v4.0.0">https://github.com/actions/setup-node/compare/v3...v4.0.0</a></p>
<h2>v3.8.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Update semver by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/861">actions/setup-node#861</a></li>
<li>Update temp directory creation by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/859">actions/setup-node#859</a></li>
<li>Bump <code>@​babel/traverse</code> from 7.15.4 to 7.23.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/870">actions/setup-node#870</a></li>
<li>Add notice about binaries not being updated yet by <a
href="https://github.com/nikolai-laevskii"><code>@​nikolai-laevskii</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/872">actions/setup-node#872</a></li>
<li>Update toolkit cache and core by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
and <a
href="https://github.com/seongwon-privatenote"><code>@​seongwon-privatenote</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/875">actions/setup-node#875</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.2">https://github.com/actions/setup-node/compare/v3...v3.8.2</a></p>
<h2>v3.8.1</h2>
<h2>What's Changed</h2>
<p>In scope of this release, the filter was removed within the
cache-save step by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/831">actions/setup-node#831</a>.
It is filtered and checked in the toolkit/cache library.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v3...v3.8.1">https://github.com/actions/setup-node/compare/v3...v3.8.1</a></p>
<h2>v3.8.0</h2>
<h2>What's Changed</h2>
<h3>Bug fixes:</h3>
<ul>
<li>Add check for existing paths by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/803">actions/setup-node#803</a></li>
<li>Resolve SymbolicLink by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/809">actions/setup-node#809</a></li>
<li>Change passing logic for cache input by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/816">actions/setup-node#816</a></li>
<li>Fix armv7 cache issue by <a
href="https://github.com/louislam"><code>@​louislam</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/794">actions/setup-node#794</a></li>
<li>Update check-dist workflow name by <a
href="https://github.com/sinchang"><code>@​sinchang</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/710">actions/setup-node#710</a></li>
</ul>
<h3>Feature implementations:</h3>
<ul>
<li>feat: handling the case where &quot;node&quot; is used for
tool-versions file. by <a
href="https://github.com/xytis"><code>@​xytis</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/812">actions/setup-node#812</a></li>
</ul>
<h3>Documentation changes:</h3>
<ul>
<li>Refer to semver package name in README.md by <a
href="https://github.com/olleolleolle"><code>@​olleolleolle</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/808">actions/setup-node#808</a></li>
</ul>
<h3>Update dependencies:</h3>
<ul>
<li>Update toolkit cache to fix zstd by <a
href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/804">actions/setup-node#804</a></li>
<li>Bump tough-cookie and <code>@​azure/ms-rest-js</code> by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/802">actions/setup-node#802</a></li>
<li>Bump semver from 6.1.2 to 6.3.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/807">actions/setup-node#807</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/8f152de45cc393bb48ce5d89d36b731f54556e65"><code>8f152de</code></a>
Update actions/checkout for documentation and yaml (<a
href="https://redirect.github.com/actions/setup-node/issues/876">#876</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/23755b521f87533c8ed7f8fb13674f9021579e34"><code>23755b5</code></a>
upgrade actions/checkout to v4 (<a
href="https://redirect.github.com/actions/setup-node/issues/868">#868</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/54534a2a9ba7308e8a8995af3104899e6a95b681"><code>54534a2</code></a>
Change node version for action to node20 (<a
href="https://redirect.github.com/actions/setup-node/issues/866">#866</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@10327096932620304a49db6d9742bac676c68b04:

Log commands when using raw process APIs directly (microsoft/vscode-python#22326)


--------------------
Commit message for microsoft/vscode-python@c3afea5984b3dc41b1b3bf2ce04142baaf381029:

Update linter and formatter warning notifications (microsoft/vscode-python#22292)

closes https://github.com/microsoft/vscode-python/issues/22272

---------

Co-authored-by: Luciana Abud <[email protected]>
--------------------
Commit message for microsoft/vscode-python@3c88f27697f4a4b1251146b27b34c56c454ff9c7:

Improve notification texts for terminal activation (microsoft/vscode-python#22323)

Closes https://github.com/microsoft/vscode-python/issues/22316
--------------------
Commit message for microsoft/vscode-python@9e07503d11442bfafb84108d0f0e339eb29c040f:

Use taskkill to kill processes on Windows (microsoft/vscode-python#22286)

For https://github.com/microsoft/vscode-python/issues/22285
--------------------
Commit message for microsoft/vscode-python@daab11d7bfdda996325a7b0ca691c84e7d0fea5e:

Only show terminal notification for basic terminals created using '+' icon (microsoft/vscode-python#22275)


--------------------
Commit message for microsoft/vscode-python@d75874110cbd53bae8a2e2b006814ad1fd21331a:

Add telemetry for deactivate prompt (microsoft/vscode-python#22274)


--------------------
Commit message for microsoft/vscode-python@f57be20d7af6c623774cd148f07ed77c31607ee7:

Support powershell activation even if Powershell execution is disabled on the system (microsoft/vscode-python#22273)

Closes https://github.com/microsoft/vscode-python/issues/22252

Error out if stderr is related to Powershell execution being disabled on
system, even though environment variables are returned in this case,
we've observed they're not valid in this case.
--------------------
Commit message for microsoft/vscode-python@802cf0c136fa30d5a4e69b6cee60e20fb650636d:

Reveal selection after editing deactivate script (microsoft/vscode-python#22271)


--------------------
Commit message for microsoft/vscode-python@63337522aa7bf207b1028323262693d1961a33a1:

add envFile's pythonpath before running tests (microsoft/vscode-python#22269)

fixes https://github.com/microsoft/vscode-python/issues/22231

---------

Co-authored-by: Karthik Nadig <[email protected]>
--------------------
Commit message for microsoft/vscode-python@043881397910818cf43b94b85fb3692a4735a14b:

Guide users to install workaround when deactivate command is run (microsoft/vscode-python#22223)


--------------------
Commit message for microsoft/vscode-python@a55484d3c3ccadfc5144c5aa48bdefcb803a1f97:

Fix for stack overflow on dispose (microsoft/vscode-python#22263)

Closes https://github.com/microsoft/vscode-python/issues/22261
--------------------
Commit message for microsoft/vscode-python@5d7eb6546b2c1e03c9c321410b79fed32f859624:

Remove linting support (microsoft/vscode-python#22266)


--------------------
Commit message for microsoft/vscode-python@c82702e584c01c9891007d792e55d0b48e8ea38a:

Add extra logging to PythonTestServer data received before parsed as json (microsoft/vscode-python#22265)

gives additional insight into cases where the data returned to the
extension occurs but tests are still not populating the UI.
--------------------
Commit message for microsoft/vscode-python@0ffce1999c5c611668c0dcc00eab6397a9f1f137:

Bump microvenv from 2023.3.post1 to 2023.5 (microsoft/vscode-python#22259)

Bumps [microvenv](https://github.com/brettcannon/microvenv) from
2023.3.post1 to 2023.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/brettcannon/microvenv/releases">microvenv's
releases</a>.</em></p>
<blockquote>
<h2>2023.5</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>⚠️ Breaking Changes</h3>
<ul>
<li>Drop Python 3.7 by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/58">brettcannon/microvenv#58</a></li>
</ul>
<h3>🎉 New Features</h3>
<ul>
<li>Get mypy passing under Windows by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/58">brettcannon/microvenv#58</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/brettcannon/microvenv/compare/v2023.4...v2023.5">https://github.com/brettcannon/microvenv/compare/v2023.4...v2023.5</a></p>
<h2>2023.4</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>🪲 Bug Fixes</h3>
<ul>
<li>Prevent <code>__main__.py</code> from attempting to execute on
Windows. by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/57">brettcannon/microvenv#57</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/brettcannon/microvenv/compare/v2023.3.post1...v2023.4">https://github.com/brettcannon/microvenv/compare/v2023.3.post1...v2023.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/brettcannon/microvenv/commit/7cdcf908438fd1e8b2370624ec80a9ee44a597ec"><code>7cdcf90</code></a>
Get mypy passing under Windows (<a
href="https://redirect.github.com/brettcannon/microvenv/issues/58">#58</a>)</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/d32ca9dc1be5e029d326a240eda5c8137b64009d"><code>d32ca9d</code></a>
Fix <code>.github/workflows/docs.yml</code> syntax</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/ee3b599b2e15e0c409641ad4c8313c9a28f654d9"><code>ee3b599</code></a>
Prevent <code>__main__.py</code> from attempting to execute on Windows.
(<a
href="https://redirect.github.com/brettcannon/microvenv/issues/57">#57</a>)</li>
<li>See full diff in <a
href="https://github.com/brettcannon/microvenv/compare/v2023.3.post1...v2023.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=microvenv&package-manager=pip&previous-version=2023.3.post1&new-version=2023.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@8becc7654d3765520b99b973fb61e696748daa66:

Remove unused text edit code (microsoft/vscode-python#22244)

This is part of removing the formatting support from the extension.
--------------------
Commit message for microsoft/vscode-python@7cb3593c1f998d109721f783a0b80ae878dd0164:

Remove unmatched parenthesis from error message (microsoft/vscode-python#22254)

Remove unmatched parenthesis from error message

closes: https://github.com/microsoft/vscode-python/issues/22253
--------------------
Commit message for microsoft/vscode-python@01c7665e37f4674a6a574d38f4f7af9344ec0485:

add correct retrieval of workspace adapter for test discovery in multiroot context (microsoft/vscode-python#22246)

fixes: https://github.com/microsoft/vscode-python/issues/22218
--------------------
Commit message for microsoft/vscode-python@4caa20735b4fa7832e3d62e884cbc04b482f2ad8:

add wrapper hook for pytest_runtest_protocol (microsoft/vscode-python#22243)

fixes https://github.com/microsoft/vscode-python/issues/22232. From
https://github.com/pytest-dev/pytest/discussions/11509, learned that
some pytest hooks are meant to be unique and only one will be called per
run. If multiple plugins are at play then another plugin the user has
might override our plugin. Added the hookwrapper so our is always run.
Same as https://github.com/microsoft/vscode-python/pull/22240
--------------------
Commit message for microsoft/vscode-python@44053a22aafaa4ae1d661f867b4735b237308a14:

add hookwrappers to pytest plugin to ensure run (microsoft/vscode-python#22240)

fixes https://github.com/microsoft/vscode-python/issues/22232. From
[this
discussion](https://github.com/pytest-dev/pytest/discussions/11509),
learned that some pytest hooks are meant to be unique and only one will
be called per run. If multiple plugins are at play then another plugin
the user has might override our plugin. Added the hookwrapper so our is
always run.
--------------------
Commit message for microsoft/vscode-python@754f8effa482d2e37a8dfba588da4d51374e2a63:

remove node deletion for error tolerant discovery (microsoft/vscode-python#22207)

helps with a part of
https://github.com/microsoft/vscode-python/issues/21757
--------------------
Commit message for microsoft/vscode-python@ebaf8fe0d587cfbc190bd89ad4d584c35ff57bd1:

Fix experiment telemetry related to optInto/optOutFrom settings (microsoft/vscode-python#22241)

cc/ @luabud
--------------------
Commit message for microsoft/vscode-python@10b98d34b51b501531ac21027fcab59b12c8e182:

Deprecate the log directory setting (microsoft/vscode-python#22236)


--------------------
Commit message for microsoft/vscode-python@f43826256703a40f76e1a93e677e72e5963689bc:

Add support for a tensorboard experiment (microsoft/vscode-python#22215)


--------------------
Commit message for microsoft/vscode-python@1310bd665d83bcd4e09903bff39ac841dafcad52:

Enable experiments for all tests (microsoft/vscode-python#22194)

Closes: microsoft/vscode-python#22193

Enables to opt into experiments for tests such as single workspace,
multi workspace, debugger, venv, etc.
--------------------
Commit message for microsoft/vscode-python@ed155afa4bf6acdbd0341d093b5a00e13237985e:

remove asserts from catchable code for testing (microsoft/vscode-python#22210)

some asserts were inside functions / mocking and with this then the
extension code catches the exception and doesn't error out as the test.
Bring the asserts out of the functions into the test so the asserts work
as expected.
--------------------
Commit message for microsoft/vscode-python@eada0f1ab940729ae335389c34899d64b56edd35:

Bump microvenv from 2023.2.0 to 2023.3.post1 (microsoft/vscode-python#22204)

Bumps [microvenv](https://github.com/brettcannon/microvenv) from
2023.2.0 to 2023.3.post1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/brettcannon/microvenv/releases">microvenv's
releases</a>.</em></p>
<blockquote>
<h2>2023.3.post1</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>⚠️ Breaking Changes</h3>
<ul>
<li>Add support for <code>scm_ignore_files</code> (and restructure
project) by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/44">brettcannon/microvenv#44</a></li>
</ul>
<h3>🎉 New Features</h3>
<ul>
<li>Add <code>IN_VIRTUAL_ENV</code> by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/47">brettcannon/microvenv#47</a></li>
<li>Add <code>parse_config()</code> by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/48">brettcannon/microvenv#48</a></li>
<li>Add <code>activation()</code> by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/49">brettcannon/microvenv#49</a></li>
<li>Add type annotations by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/50">brettcannon/microvenv#50</a></li>
<li>Add docs by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/51">brettcannon/microvenv#51</a></li>
<li>Add support for Windows (except for <code>create()</code>) by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/brettcannon/microvenv/pull/55">brettcannon/microvenv#55</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/brettcannon/microvenv/compare/v2023.2.0...v2023.3.post1">https://github.com/brettcannon/microvenv/compare/v2023.2.0...v2023.3.post1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/brettcannon/microvenv/commit/bf19f920060bd636ce15a992a118ee6a255d15ac"><code>bf19f92</code></a>
Update the docs due to Windows support</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/0c5436dcd8718ba353140e0b2c73327f247d3737"><code>0c5436d</code></a>
Fix <code>docs.yml</code></li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/00d43b4188867d407387f314444d2f0b557383ea"><code>00d43b4</code></a>
Update the version for release</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/2e8d62ec1b9a4bdf57f32bf5aac807b661f176be"><code>2e8d62e</code></a>
Add a <code>release.yml</code> workflow</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/7b9ca8aff40eda2495a130453b8586646398d157"><code>7b9ca8a</code></a>
Add support for Windows (except for <code>create()</code>) (<a
href="https://redirect.github.com/brettcannon/microvenv/issues/55">#55</a>)</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/7085e42a4b8df4706a4395ff520617801726db22"><code>7085e42</code></a>
Drop CI path requirements</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/f9dc600ebf4feb08486e406688297ce6d61734ab"><code>f9dc600</code></a>
Add mypy's stubtest to linting</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/54e08f8b35b920b4211b706404f55075e9d16b09"><code>54e08f8</code></a>
Clarify that <code>_create.py</code> is self-contained</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/3145fcbaa4a0bc36d832d155d17f34389b8a398e"><code>3145fcb</code></a>
Merge branch 'main' of github.com:brettcannon/microvenv</li>
<li><a
href="https://github.com/brettcannon/microvenv/commit/6c0529e2b49469544829dbb50008c933e08cb44b"><code>6c0529e</code></a>
Drop the static HTML directory</li>
<li>Additional commits viewable in <a
href="https://github.com/brettcannon/microvenv/compare/v2023.2.0...v2023.3.post1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=microvenv&package-manager=pip&previous-version=2023.2.0&new-version=2023.3.post1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--------------------
Commit message for microsoft/vscode-python@76ae73a46bea7e722bf43e4d5550b3d895066d90:

Skip setting `PYTHONUTF8` when activating terminals (microsoft/vscode-python#22213)

Closes https://github.com/microsoft/vscode-python/issues/22205
--------------------
Commit message for microsoft/vscode-python@bdb8efb9dd20cefd56a11687ed7f7dfc89f9f15d:

Try using `import` in webpack condition names (microsoft/vscode-python#22212)


--------------------
Commit message for microsoft/vscode-python@6c23e4335db10e900ea0ca2402e267322c3a2e69:

Handle white spaces for list along with dictionary (microsoft/vscode-python#22209)

Legacy normalization script leaves unnecessary white spaces for
dictionary as well as list. While there are multiple correct usage of it
such as for after a function, for more intuitive REPL experience. We
want to keep previous normalization style and white space format EXCEPT
for dictionary and list case.

Dictionary case is handled, but this is the PR to handle the elimination
of extra white spaces for list as well.
Closes: microsoft/vscode-python#22208
--------------------
Commit message for microsoft/vscode-python@ec001a0b1503555e685996baab8fda4f0648c454:

Fix for webpack warning with LSP types (microsoft/vscode-python#22211)


--------------------
Commit message for microsoft/vscode-python@9b5f58afc0acacacd45c035c4e1a78622944407d:

Add logging for failure to retrieve environment variables, testing rewrite (microsoft/vscode-python#22203)


--------------------
Commit message for microsoft/vscode-python@65c8ac6e3f272d76c9775ad1163a18c61d473119:

Remove formatting settings (microsoft/vscode-python#22202)

Closes https://github.com/microsoft/vscode-python/issues/22183
--------------------
Commit message for microsoft/vscode-python@d1e4562b64e38045f549ca00025c4620a6a89567:

Move tensorboard support into a separate extension (microsoft/vscode-python#22197)

* No need of experiments (if users install extension, then it works)
* If tensorboard extension is installed the we rely on tensorboard
extension to handle everything
* For final deplayment we can decide whether to just remove this feature
altogether or prompt users to install tensorboard extension or to go
with an experiment, for now I wanted to keep this super simple (this
shoudl not affect anyone as no one will have a tensorboard extension
except us)
* Simple private API for tensorboard extension, untill Python ext
exposes a stable API
    * API is similar to Jupyter, scoped to Tensorboard ext
--------------------
Commit message for microsoft/vscode-python@1dd8a4bdb16d0a7e79082c75d8eb55a142a48fc2:

switch testing output to test result panel (microsoft/vscode-python#22039)

closes https://github.com/microsoft/vscode-python/issues/21861 and
related issues

---------

Co-authored-by: Courtney Webster <[email protected]>
--------------------
Commit message for microsoft/vscode-python@055a352285db83158be4374a2e57bdc48b28fda8:

Remove formatting support (microsoft/vscode-python#22196)


--------------------
Commit message for microsoft/vscode-python@75e707be42bf67aac316c900f7d095c1e21bae28:

Update LSP to latest version to support completion itemDefaults (microsoft/vscode-python#22200)

Dirk added this feature here:

https://github.com/microsoft/vscode-languageserver-node/commit/0b7acc15abd7132c9154d94140f478ccf5ba5769

We want to use this in Pylance in order to speedup completions. For the
degenerate case, this can speedup completion results by 30%.

See https://github.com/microsoft/pyrx/issues/4113 and
https://github.com/microsoft/pylance-release/issues/4919
--------------------
Commit message for microsoft/vscode-python@bc0c7144d586d5a7514921ddfc8cd495f1838ba1:

add clickable show logs on discovery error (microsoft/vscode-python#22199)

fixes https://github.com/microsoft/vscode-python/issues/22175
--------------------
Commit message for microsoft/vscode-python@56661a1576b93430953f249cda582eeef30ff543:

REPL Smart Shift+Enter and Dynamic Smart Cursor  (microsoft/vscode-python#21779)

There are two Feature Requests from: microsoft/vscode-python#18105 microsoft/vscode-python#21838 
They are grouped together to provide the smoothest experience: when user
wants to press shift+enter and smoothly move between each executable
Python code block without having to manually move their cursor.

#19955 (For Execute line/selection and advance to next line, referred to
as dynamic smart cursor hereby)
Open Issue: microsoft/vscode-python#21778 microsoft/vscode-python#21838

Steps in implementing REPL Smart Send (smart shift+enter to the REPL)
and dynamic cursor move aka. Move to Next Line (next executable line of
code to be more precise):

1. Figure out the workflow of where things start and run when user
clicks on run selection/line
2. Send the content of selection & document to the Python Side from
Typescript side.
3. Respect and follow previous logic/code for EXPLICIT selection (user
has highlighting particular text they want to send to REPL), but
otherwise, use newly created smart send code.
4. Receive content of document & selection in Python Side
5. Use AST (From Python standard library) to figu…
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-testing info-needed Issue requires more information from poster triage-needed Needs assignment to the proper sub-team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants