Commit graph

58 commits

Author SHA1 Message Date
Rich Chiodo
698499e9ec
Add support for space in the python file (#1982)
Some checks failed
Code scanning - action / CodeQL-Build (push) Has been cancelled
* Add support for space in the python file itself when using shell expansion.

* Fix linter

* Fix flakey test
2025-12-12 16:04:10 -08:00
Rich Chiodo
e5017d7360
Fix arq quoting to work in runInTerminal (#1981)
Some checks failed
Code scanning - action / CodeQL-Build (push) Has been cancelled
* Fix arq quoting to work in runInTerminal

* Default was backwards

* Fix ruff errors

* Fix failing tests

* Only strip quotes on the exe

* Try fixing gw worker failures

* Skip certain test because of cmd limitations

* Need to skip all 'code' based tests on windows
2025-12-10 10:39:27 -08:00
rabbit
34d5de99a0
IPv6 support (#1896)
* Add initial support for IPv6

* address comments (part 1)

* quick clean up of missed fix suggestion

* Fix misassigned default serving server address in adapter client

* add wrapper method to get host and port from`getsockname`
2025-05-22 13:04:11 -07:00
Rich Chiodo
02723de140
Fix multithreading stepping in 3.12 and later (#1798)
* Fix multithreaded stepping to not have 'return' events when a thread is already suspended

* Update after removing blank line

* Remove unnecessary change for start method
2025-01-07 11:25:54 -08:00
Pavel Minaev
ef9a67fe15 Fix #1337: Get port info from debugpy
Send "debugpySockets" event with information about opened sockets when clients connect and whenever ports get opened or closed.
2023-10-06 09:55:52 -07:00
Pavel Minaev
88bf2c7827 Fix -Xfrozen_modules use in tests. 2023-08-28 13:14:39 -07:00
Pavel Minaev
83baa6d302 Fix -Xfrozen_modules warnings in test runs on Python 3.11 and 3.12 2023-08-17 11:00:07 -07:00
Pavel Minaev
e9dc3e8844 Fix #1074: Use "startDebugging" request for subprocesses
Use the request if client advertises the "supportsStartDebuggingRequest" capability.
2023-02-07 13:04:58 -08:00
Pavel Minaev
4f6638b0a6 Fix #1001: Enable controlling shell expansion via "argsCanBeInterpretedByShell"
Fix #357: "argsExpansion" does not do what it says in VSCode

Treat non-array "args" in debug config as a request to prevent shell argument escaping and allow shell expansion.

Remove "argsExpansion".
2022-08-04 13:49:32 -07:00
Pavel Minaev
0a9b01b008 Fix #865: Debugging through poetry drops subprocess
Handle "exited" { "pydevdReason": "processReplaced" } appropriately.

Add test for os.exec() in-place process replacement.
2022-06-09 10:44:10 -07:00
Pavel Minaev
dd5196fbfc Blacken code. 2022-04-13 11:38:41 -07:00
Pavel Minaev
0f428178b0 Remove debugpy.compat, custom !j formatter for JSON, and related helpers. 2022-04-13 11:38:41 -07:00
Pavel Minaev
1965b47034 Get rid of fmt() and use idiomatic format() and f"" instead. 2022-04-13 11:38:41 -07:00
Pavel Minaev
e87017e0b3 Remove redundant "from __future__ import ..." 2022-04-13 11:38:41 -07:00
Fabio Zadrozny
0105bd92ce Mark warning messages as important. Fixes #170 2022-01-20 15:32:19 -03:00
Fabio Zadrozny
9ab891b328 Code reloading. Fixes #212 2021-03-11 10:26:51 -03:00
Pavel Minaev
d68a17170c Re-enable attach by socket on macOS + Python 3.6 (per #1967). 2020-09-25 13:41:24 -07:00
Pavel Minaev
6e1c7567d2 Fix #81: Subprocess always waits for client to attach
Unblock subprocesses for which no notification could be sent to the client.
2020-09-25 13:41:24 -07:00
Pavel Minaev
14ca4f07d1 Fix #351: Python warnings in debugger code
Don't use inspect.getargspec on Python 2.

Close log file objects on exit.

Close os.devnull file objects on exit.

Close the listener socket used to get endpoints info from adapter.

Fix invalid escape sequences.

Run tests with Python warnings treated as errors.

Fix Django deprecation warning in test web app.

Work around pytest issues caused spaces in test names.
2020-09-03 01:32:58 -07:00
Pavel Minaev
50bf46cf9d Add test for "args" shell expansion. 2020-04-22 13:55:01 -07:00
Pavel Minaev
32c00bc85c Fix #92: Debugging as sudo fails to terminate the debugger when you stop
Apply sudo to debugpy.launcher, rather than the debuggee itself.
2020-04-01 21:16:20 -07:00
Pavel Minaev
dccb5e6198 Use "connect":{...} and "listen":{...} to indicate direction of connection in debug configuration. 2020-03-05 13:56:22 -08:00
Pavel Minaev
6ad1382a8c Fix https://github.com/microsoft/ptvsd/issues/1824:
Allow ptvsd to run as server and let code connect to it

Expose --connect and debugpy.connect() as a public API, and add tests for it.
2020-03-05 13:56:22 -08:00
Pavel Minaev
de9ea2cb9c Improve exception logging to make swallowing/reraising explicit in all cases. 2020-02-21 15:55:04 -08:00
Pavel Minaev
8c114ed589 Purge all mentions of "IDE", and replace with "client" or "clients" as appropriate.
Blacken code.
2020-02-11 17:03:45 -08:00
Pavel Minaev
8447a15396 Refactor debugpy API and CLI for clarity and consistency. 2020-02-11 14:40:25 -08:00
Fabio Zadrozny
5d5f8f42ec Re-attach to pid when using --client. Fixes https://github.com/microsoft/ptvsd/issues/1817 2020-02-06 08:31:28 -03:00
Pavel Minaev
367ff72788 Send both "ptvsd" and "debugpy" telemetry events for smooth transition. 2020-01-29 14:32:28 -08:00
Pavel Minaev
55eac82c96 Fix #1811: tests using attach_by_pid fail on Python 2.7
Don't call enable_attach() and wait_for_attach() while under import lock.
2020-01-26 17:14:30 -08:00
Pavel Minaev
784f7bc271
Merge pull request #1 from int19h/1776
Fix https://github.com/microsoft/ptvsd/issues/1776
2020-01-21 22:24:39 -08:00
Pavel Minaev
00b6a202f3 Fix test_autokill 2020-01-21 17:27:28 -08:00
Pavel Minaev
522c3743f0 Another workaround for https://bugs.python.org/issue37380 2020-01-21 16:33:44 -08:00
Pavel Minaev
9bb539a2fc Work around https://bugs.python.org/issue37380 in tests. 2020-01-21 15:39:17 -08:00
Pavel Minaev
8b4c40e922 Rename ptvsd -> debugpy. 2020-01-17 11:57:13 -08:00
Pavel Minaev
0076925d17 Improve test logging on session exit. 2019-12-13 18:37:56 -08:00
Pavel Minaev
eb50bc29df Disable attach tests on macOS + Python 3.6 due to #1967
Gracefully handle server abruptly disconnecting from adapter for the initial connection.

Fix test_exclude_rules to wait until debuggee terminates.
2019-12-13 18:37:56 -08:00
Pavel Minaev
a654c9834f Fix #1983: Attach to process: Support pid sent as a string from the extension
Allow "processId" in "attach" request to be a string, if it can be parsed as int.
2019-12-13 18:37:56 -08:00
Pavel Minaev
3b71a1257a Fix ptvsd telemetry event check in tests. 2019-12-13 12:29:34 -08:00
Pavel Minaev
e9a5b68054 Simplify options handling. 2019-12-11 20:42:01 -08:00
Pavel Minaev
a3acba68d5 Tweak test log formatting to match adapter logs, and reset session ID between tests. 2019-12-08 14:13:58 -08:00
Pavel Minaev
b23031b773 Disable "redirectOutput" in tests by default. 2019-12-08 14:13:58 -08:00
Pavel Minaev
c545ccb5f8 Fix and re-enable test_reattach. 2019-12-04 09:32:59 -08:00
Pavel Minaev
fb6d35ebea Improve failed test diagnostics. 2019-11-18 13:50:14 -08:00
Pavel Minaev
9b34bc0dac Fix #1918: ptvsd port conflicts in test runs 2019-11-15 11:55:27 -08:00
Pavel Minaev
095e5bcd5c Fix #1713: Adapter: multiple concurrent sessions 2019-10-30 17:12:17 -07:00
Pavel Minaev
b2111b93ca Switch test output capture to use os.pipe(). Fixes #1819. 2019-10-16 11:44:17 -07:00
Pavel Minaev
b3f0265785 Place pydevd log file in debug.Session log directory, for better handling of multi-session (e.g. multiproc) tests.
Always log to disk for test runs, and dump all ptvsd and pydevd logs on test failures and timeouts.
2019-10-16 11:44:17 -07:00
Fabio Zadrozny
c0108c08b5 Use pid for files created in pydevd logging. Fixes #1831 2019-10-15 08:30:36 -03:00
Karthik Nadig
ffc6306d8b
Updating telemetry and some comments (#1825)
* Change version field name in telemetry
* Add info on where to set justMyCode
* Address comments.
2019-10-03 20:30:05 -07:00
Pavel Minaev
a1ba6f22a5 Fix debug.Session hanging on failed test if debuggee is still alive. 2019-10-03 18:31:37 -07:00