Commit Graph

449 Commits

Author SHA1 Message Date
Dmitri Gribenko
aa70f83e66 Revert "[lldb-dap] Mark hidden frames as "subtle" (#105457)"
This reverts commit 6f456024c3, which
depends on https://github.com/llvm/llvm-project/pull/104523, which I'm
reverting.
2024-08-22 13:24:57 +02:00
John Harrison
8e0b9c8592 [lldb-dap] Skip the lldb-dap output test on windows, it seems all the lldb-dap tests are disabled on windows. (#105604)
This should fix https://lab.llvm.org/buildbot/#/builders/141/builds/1747
2024-08-21 18:52:48 -07:00
John Harrison
30ca06c4d0 [lldb-dap] When sending a DAP Output Event break each message into separate lines. (#105456)
Previously, when output like `"hello\nworld\n"` was produced by lldb (or
the process) the message would be sent as a single Output event. By
being a single event this causes VS Code to treat this as a single
message in the console when handling displaying and filtering in the
Debug Console.

Instead, with these changes we send each line as its own event. This
results in VS Code representing each line of output from lldb-dap as an
individual output message.

Resolves #105444
2024-08-21 13:48:29 -07:00
Adrian Vogelsgesang
6257a98b25 [lldb-dap] Implement StepGranularity for "next" and "step-in" (#105464)
VS Code requests the `instruction` stepping granularity if the assembly
view is currently focused. By implementing `StepGranularity`, we can
hence properly single-step through assembly code.
2024-08-21 20:30:10 +02:00
Adrian Vogelsgesang
6f456024c3 [lldb-dap] Mark hidden frames as "subtle" (#105457)
This commit takes advantage of the recently introduced
`SBFrame::IsHidden` to show those hidden frames as "subtle" frames in
the UI. E.g., VS Code hides those stack frames by default, and renders
them as grayed out frames, in case the user decides to show them in the
stack trace
2024-08-21 08:25:57 +02:00
Kendal Harland
2ea4a03c0f Fix test assertions in TestDAP_stepInTargets.py (#96687)
The strings this test is using seem to consistently fail to match
against the expected values when built & run targeting Windows amd64.
This PR updates them to the expected values.

To fix the test and avoid over-specifying for a specific platform, use
`assertIn(<target-substring>,...)` to see if we've got the correct
target label instead of comparing the demangler output for an exact
string match.

---------

Co-authored-by: kendal <kendal@thebrowser.company>
2024-07-16 12:59:08 +02:00
jeffreytan81
db9ac92501 Add lldb version into initialize response lldb-dap (#98703)
Frequently, while troubleshooting user's debugging issues in VScode, we
would like to know lldb version so that we can confirm if certain
patch/feature is in or not.

This PR adds version string into `initialize` response so that telemetry
can track it.

---------

Co-authored-by: jeffreytan81 <jeffreytan@fb.com>
2024-07-15 20:03:50 -04:00
Santhosh Kumar Ellendula
a52be0cc11 [lldb-dap] Added "port" property to vscode "attach" command. (#91570)
Adding a "port" property to the VsCode "attach" command likely extends
the functionality of the debugger configuration to allow attaching to a
process using PID or PORT number.
Currently, the "Attach" configuration lets the user specify a pid. We
tell the user to use the attachCommands property to run "gdb-remote ".
Followed the below conditions for "attach" command with "port" and "pid"
We should add a "port" property. If port is specified and pid is not,
use that port to attach. If both port and pid are specified, return an
error saying that the user can't specify both pid and port.

Ex - launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "lldb-dap Debug",
"type": "lldb-dap",
"request": "attach",
"gdb-remote-port":1234,
"program": "${workspaceFolder}/a.out",
"args": [],
"stopOnEntry": false,
"cwd": "${workspaceFolder}",
"env": [],

    }
]
}

---------

Co-authored-by: Santhosh Kumar Ellendula <sellendu@hu-sellendu-hyd.qualcomm.com>
Co-authored-by: Santhosh Kumar Ellendula <sellendu@hu-sellendu-lv.qualcomm.com>
2024-06-28 10:20:50 -05:00
Eisuke Kawashima
fd35a92300 [lldb] fix(lldb/**.py): fix comparison to True/False (#94039)
from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):

> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.

Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
2024-06-26 15:55:15 +01:00
Pavel Labath
c053ec95f7 [lldb] Fix TestDAP_runInTerminal for #96256
change the expected error msg.
2024-06-24 14:16:24 +02:00
Jonas Devlieghere
bf3e3289d6 [lldb] Unify Platform::ResolveExecutable (#96256)
The Platform class currently has two functions to resolve an executable:
`ResolveExecutable` and `ResolveRemoteExecutable`. The former strictly
deals with local files while the latter can handle potentially remote
files. I couldn't figure out why the distinction matters, at the latter
is a super-set of the former.

To make things even more confusion, we had a similar but not identical
implementation in RemoteAwarePlatform where its implementation of
`ResolveExecutable` could handle remote files. To top it all off, we had
copy-pasted implementation, dead code included in
`PlatformAppleSimulator` and `PlatformRemoteDarwinDevice`.

I went ahead and unified all the different implementation on the
original `ResolveRemoteExecutable` implementation. As far as I can tell,
it should work for every other platform, and the test suite (on macOS)
seems to agree with me, except for a small wording change.
2024-06-21 11:29:49 -07:00
Jonas Devlieghere
22ea97d7bf [lldb] Use packaging module instead of pkg_resources (#93712)
Use the packaging [1] module for parsing version numbers, instead of
pkg_resources which is distributed with setuptools. I recently switched
over to using the latter, knowing it was deprecated (in favor of the
packaging module) because it comes with Python out of the box. Newer
versions of setuptools have removed `pkg_resources` so we have to use
packaging.

[1] https://pypi.org/project/packaging/
2024-06-13 16:00:12 -07:00
Jay Foad
d4a0154902 [llvm-project] Fix typo "seperate" (#95373) 2024-06-13 20:20:27 +01:00
Miro Bucko
11a4d43f4a Fix flaky TestDAP_console test. (#94494)
Test Plan:
llvm-lit
llvm-project/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
2024-06-12 06:21:17 +07:00
Dmitry Vasilyev
a6cc363b27 [lldb] Disable TestPtyServer API test when remote testing (#94587)
The local PTY is not available for the remotely executed lldb-server to
pass the test. Also, in general, we cannot execute the local lldb-server
instance because it could be compiled for the different system/cpu
target.
2024-06-06 10:02:27 +01:00
Jonas Devlieghere
39e12e0ab2 [lldb] Update error message in TestDAP_optimized after #94420
Fixes:
  https://lab.llvm.org/buildbot/#/builders/68/builds/75571
2024-06-05 11:25:17 -07:00
Pavel Labath
d00731cb7f [lldb] s/assertEquals/assertEqual in TestDAP_variables_children 2024-06-03 11:23:51 +02:00
Dmitry Vasilyev
b62ba7f5b1 [lldb] Fixed the TestGdbRemotePlatformFile test running on a remote target (#93832)
Skip checking of few stat fields like st_dev (ID of device containing
file) in case of a remote target.
2024-05-30 19:57:16 +04:00
Dmitry Vasilyev
facb767e5b [lldb] Fixed the TestGdbRemoteLibrariesSvr4Support test running on a remote target (#93825)
The TestGdbRemoteLibrariesSvr4Support test failed in case of Linux
x86_64 host and Linux Aarch64 target. Installing libraries to the remote
target is not enough. This test actively uses self.getBuildDir() and
os.path.realpath() which does not work in case of the remote target. So,
disable this test for remote target now.
2024-05-30 19:56:04 +04:00
Pavel Labath
f38ebec710 [lldb-dap] Don't call GetNumChildren on non-indexed synthetic variables (#93534)
A synthetic child provider might need to do considerable amount of work
to compute the number of children. lldb-dap is currently calling that
for all synthethic variables, but it's only actually using the value for
values which it deems to be "indexed" (which is determined by looking at
the name of the first child). This patch reverses the logic so that
GetNumChildren is only called for variables with a suitable first child.
2024-05-30 09:54:13 +02:00
Pavel Labath
fa6377119c [lldb-dap] Automatically skip lldb-dap tests for remote platforms (#93169)
The don't currently work (and they're also not particularly useful,
since all of the remote stuff happens inside lldb).

This saves us from annotating tests one by one.
2024-05-24 08:52:32 +02:00
Pavel Labath
af8f1554b8 [lldb-dap] Don't send expanded descriptions for "hover" expressions (#92726)
VSCode will automatically ask for the children (in structured form) so
there's no point in sending the textual representation. This can make
displaying hover popups for complex variables with complicated data
formatters much faster. See discussion on #77026 for context.
2024-05-21 10:37:41 +02:00
Jonas Devlieghere
a4ad05284e [lldb-dap] Replace assertEquals with assertEqual (NFC)
Fixes new test that were added or modified after #82073. Also fixes a
formatting issue.
2024-05-17 10:12:51 -07:00
Dmitry Vasilyev
d38ea8c4c8 [lldb] Fixed the test TestGdbRemoteAttachWait running on a remote target (#92413)
Install `_exe_to_attach` to a remote target if necessary.
2024-05-17 20:14:09 +04:00
Pavel Labath
33bf08ec36 [lldb-dap] Correctly detect alias commands with arguments in repl (#92137)
ResolveCommand will not succeed for an alias command with arguments, and
the code wasn't providing any. Replace that with explicit query(ies) for
the existence of a command with the given name.
2024-05-17 11:24:20 +02:00
Dmitry Vasilyev
c7ae8c6639 [lldb] Fixed the DAP tests in case of a remote target (#92416)
These tests are based on dap_server which runs locally. These tests
failed in case of Windows host and Linux target.
2024-05-16 21:30:31 +04:00
Dmitry Vasilyev
d665d51c92 [lldb] Fixed the DAP tests in case of a remote target (#92398)
These tests failed in case of Windows host and Linux target, because
dap_server tried to run ELF file on Windows.
2024-05-16 18:34:58 +04:00
Dmitry Vasilyev
2bc9af9656 [lldb][Windows] Disable the TestGdbRemoteLibrariesSvr4Support test for Windows host (#92341)
Windows does not allow quotes in file names. So it is impossible to
build `libsvr4lib_b".so` on Windows.
2024-05-16 16:49:56 +04:00
Dmitry Vasilyev
34f33babc2 [lldb] Fixed the TestGdbRemoteCompletion test (#92268)
Do not try to run lldb-server on localhost in case of the remote target.
2024-05-15 20:48:16 +04:00
Dmitry Vasilyev
eacefba9aa [lldb][Windows] Fixed tests TestPty and TestPtyServer (#92090)
The tests TestPty and TestPtyServer use the Unix specific python builtin
module termios. They are failed in case of Windows host and Linux
target. Disable them for Windows host too.
2024-05-15 14:44:24 +04:00
Dmitry Vasilyev
429ce59bd0 [lldb][Windows] Fixed the test TestGdbRemoteMemoryTagging (#92077)
Windows path is case insensitive. Tests `test_QMemTags_packets` and
`test_qMemTags_packets` will use the same build dir and conflict. Added
a suffix to resolve conflicts.
2024-05-14 10:15:03 +01:00
Dmitry Vasilyev
346f2b7624 [lldb] Fix the test TestGdbRemotePlatformFile when run with a remote target (#91918)
It is necessary to transfer the test file to/from the really remote
target (for example Windows host and Linux target). Also ignore chmod
check in case of the Windows host.
2024-05-14 12:30:34 +04:00
Dmitry Vasilyev
e2f079cc6c [lldb] Fixed the test TestGdbRemoteLaunch (#91931)
Install `a.out` to the remote target (after handshake) if necessary and
use the remote path to call `vRun`.
2024-05-14 11:26:14 +04:00
jeffreytan81
b8d38bb56d Fix dap variable value format issue (#90799)
While adding a UI feature in VSCode to toggle hex/dec in variables view
window. I noticed that it does not work after second toggle. Then I
noticed that there is a bug that we only explicitly set hex format not
reset back to default during further toggle. The new test demonstrates
the bug.

This PR resets the format back to default if not using hex. One
complexity is that, we explicitly set registers value format to
AddressInfo, which shouldn't be overridden by default or hex settings.

---------

Co-authored-by: jeffreytan81 <jeffreytan@fb.com>
2024-05-03 13:36:23 -07:00
Miro Bucko
bab10981f3 [lldb-dap] Fix test_exit_status_message_sigterm test. (#90223)
Summary:
'test_exit_status_message_sigterm' is failing due to 'psutil' dependency
introduced in PR #89405. This fix removes 'deque' dependency and checks
if 'psutil' can be imported before running the test. If 'psutil' cannot
be imported, it emits a warning and skips the test.

Test Plan:
./bin/llvm-lit -sv
/path-to-llvm-project/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
--filter=tools/lldb-dap/console/TestDAP_console.py

Reviewers:
@jeffreytan81,@clayborg,@kusmour, @JDevlieghere,@walter-erquinigo

Subscribers:

Tasks:
lldb-dap

Tags:
2024-05-03 08:10:02 -07:00
jeffreytan81
2f2e31c3c9 Initial step in targets DAP support (#86623)
This patch provides the initial implementation for the "Step Into
Specific/Step In Targets" feature in VSCode DAP.

The implementation disassembles all the call instructions in step range
and try to resolve operand name (assuming one operand) using debug info.
Later, the call target function name is chosen by end user and specified
in the StepInto() API call.

It is v1 because of using the existing step in target function name API.
This implementation has several limitations:
* Won't for indirect/virtual function call -- in most cases, our
disassembler won't be able to solve the indirect call target
address/name.
* Won't work for target function without debug info -- if the target
function has symbol but not debug info, the existing
ThreadPlanStepInRange won't stop.
* Relying on function names can be fragile -- if there is some middle
glue/thunk code, our disassembler can only resolve the glue/thunk code's
name not the real target function name. It can be fragile to depend
compiler/linker emits the same names for both.
* Does not support step into raw address call sites -- it is a valid
scenario that in Visual Studio debugger, user can explicitly choose a
raw address to step into which land in the function without debug
info/symbol, then choose UI to load the debug info on-demand for that
module/frame to continue exploring.

A more reliable design could be extending the ThreadPlanStepInRange to
support step in based on call-site instruction offset/PC which I will
propose in next iteration.

---------

Co-authored-by: jeffreytan81 <jeffreytan@fb.com>
2024-04-25 11:49:10 -07:00
Miro Bucko
ef2ca97f48 [lldb-dap] Report exit status message in lldb-dap, same as lldb cli (#89405)
Summary:
When the target inferior process that is being debugged exits in lldb
command line, it emits following message:
`Process 4049526 exited with status = -1 (0xffffffff) debugserver died
with signal SIGTERM`
lldb-dap on the other hand does not emit a similar message. This PR adds
the same status message to lldb-dap.

Test Plan:
In VSCode debug any target and hit stop mode, kill lldb-server and
observe an exit status message similar to the following: Process 2167677
exited with status = -1 (0xffffffff) debugserver died with signal
SIGTERM

Reviewers:
@jeffreytan81,@clayborg,@kusmour,

Subscribers:

Tasks:
lldb-dap

Tags:
2024-04-25 09:20:43 -07:00
Pranav Kant
aa89c1bd78 [lldb][DAP] Fix test failure from #73393 (#89692)
#73393 introduced a mandatory column field. Update test for that.
2024-04-22 17:47:17 -07:00
jeffreytan81
6870ac201f Fix saving minidump from lldb-dap (#89113)
There are users reporting saving minidump from lldb-dap does not work.

Turns out our stack trace request always evaluate a function call which
caused JIT object file like "__lldb_caller_function" to be created which
can fail minidump builder to get its module size.

This patch fixes "getModuleFileSize" for ObjectFileJIT so that module
list can be saved. I decided to create a lldb-dap test so that this
end-to-end functionality can be validated from our tests (instead of
only command line lldb).

The patch also improves several other small things in the workflow:
1. It logs any minidump stream failure so that it is easier to find out
what stream saving fails. In future, we should show process and error to
end users.
2. It handles error from "getModuleFileSize" llvm::Expected<T> otherwise
it will complain the error is not handled.

---------

Co-authored-by: jeffreytan81 <jeffreytan@fb.com>
2024-04-18 09:24:33 -07:00
Shubham Sandeep Rastogi
82c1bfc44e Increase timeout to reduce test failure rate. (#83312)
The timeout for this test was set to 1.0s which is very low, it should
be a default of 10s and be increased by a factor of 10 if ASAN is
enabled. This will help reduce the falkiness of the test, especially in
ASAN builds.
2024-02-29 13:12:03 -08:00
Zequan Wu
2cacc7a610 [lldb-dap] Deduplicate watchpoints starting at the same address on SetDataBreakpointsRequest. (#83192)
If a SetDataBreakpointsRequest contains a list data breakpoints which
have duplicate starting addresses, the current behaviour is returning
`{verified: true}` to both watchpoints with duplicated starting
addresses. This confuses the client and what actually happens in lldb is
the second one overwrite the first one.

This fixes it by letting the last watchpoint at given address have
`{verified: true}` and all previous watchpoints at the same address
should have `{verfied: false}` at response.
2024-02-28 14:56:55 -05:00
Jordan Rupprecht
e427e934f6 [lldb][dap] Avoid concurrent HandleCommand calls (#83162)
The `EventThreadFunction` can end up calling `HandleCommand`
concurrently with the main request processing thread. The underlying API
does not appear to be thread safe, so add a narrowly scoped mutex lock
to prevent calling it in this place from more than one thread.

Fixes #81686. Prior to this, TestDAP_launch.py is 4% flaky. After, it
passes in 1000 runs.
2024-02-27 12:43:05 -06:00
David Spickett
a1bbba06ea [lldb][test][Windows] Fix NonStop tests on case insensitive file systems
On a case insensitive file sytem, the build dir for `test_multiple_c` and
`test_multiple_C` are the same and therefore the log files are in the same
place. This means one tries to clear the log file for the other.

To fix this, make the names unique by adding the meaning of each
protocol packet.

https://sourceware.org/gdb/current/onlinedocs/gdb.html/Packets.html#Packets
2024-02-27 09:34:42 +00:00
Zequan Wu
df6f756a19 Re-land [lldb-dap] Add support for data breakpoint. (#81909)
This implements functionality to handle DataBreakpointInfo request and
SetDataBreakpoints request.

Previous commit
8c56e78ec5
was reverted because setting 1 byte watchpoint failed in the new test on
ARM64. So, I changed the test to setting 4 byte watchpoint instead, and
hope this won't break it again. It also adds the fixes from
https://github.com/llvm/llvm-project/pull/81680.
2024-02-22 16:11:40 -05:00
Jordan Rupprecht
9c2468821e [lldb][test] Modernize asserts (#82503)
This uses [teyit](https://pypi.org/project/teyit/) to modernize asserts,
as recommended by the [unittest release
notes](https://docs.python.org/3.12/whatsnew/3.12.html#id3).

For example, `assertTrue(a == b)` is replaced with `assertEqual(a, b)`.
This produces better error messages, e.g. `error: unexpectedly found 1
and 2 to be different` instead of `error: False`.
2024-02-21 13:02:30 -06:00
John Harrison
ae8facc1f8 [lldb-dap] Do not write over the existing error if launchCommands fail during debugger launch. (#82051)
This fixes an issue where the error is lost if a command while executing
`launchCommands` when launching the debugger.

This should fix #82048
2024-02-20 09:35:15 -08:00
Jonas Devlieghere
0c02329ff3 [lldb] Migrate distutils.version.LooseVersion to packaging (#82066)
The distutils package has been deprecated and was removed from Python
3.12. The migration page [1] advises to use the packaging module
instead. Since Python 3.6 that's vendored into pkg_resources.

[1] https://peps.python.org/pep-0632/#migration-advice
2024-02-19 19:54:53 -08:00
Jonas Devlieghere
71e0623110 Revert "[lldb] Migrate distutils.version.LooseVersion to packaging" (#82297)
Reverts llvm/llvm-project#82066 because the following tests started
failing after:


[lldb-api.commands/expression/import-std-module/deque-basic.TestDequeFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_deque-basic/TestDequeFromStdModule_py/)

[lldb-api.commands/expression/import-std-module/deque-dbg-info-content.TestDbgInfoContentDequeFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule_py/)

[lldb-api.commands/expression/import-std-module/forward_list.TestForwardListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_forward_list/TestForwardListFromStdModule_py/)

[lldb-api.commands/expression/import-std-module/forward_list-dbg-info-content.TestDbgInfoContentForwardListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule_py/)

[lldb-api.commands/expression/import-std-module/list.TestListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_list/TestListFromStdModule_py/)

[lldb-api.commands/expression/import-std-module/non-module-type-separation.TestNonModuleTypeSeparation.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_non-module-type-separation/TestNonModuleTypeSeparation_py/)

[lldb-api.commands/expression/import-std-module/queue.TestQueueFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_queue/TestQueueFromStdModule_py/)

[lldb-api.commands/expression/import-std-module/retry-with-std-module.TestRetryWithStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_retry-with-std-module/TestRetryWithStdModule_py/)

[lldb-api.commands/expression/import-std-module/unique_ptr.TestUniquePtrFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_unique_ptr/TestUniquePtrFromStdModule_py/)

[lldb-api.commands/expression/import-std-module/unique_ptr-dbg-info-content.TestUniquePtrDbgInfoContent.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent_py/)

[lldb-api.commands/expression/import-std-module/vector-of-vectors.TestVectorOfVectorsFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_vector-of-vectors/TestVectorOfVectorsFromStdModule_py/)

[lldb-api.functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr.TestDataFormatterLibcxxSharedPtr.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/functionalities_data-formatter_data-formatter-stl_libcxx_shared_ptr/TestDataFormatterLibcxxSharedPtr_py/)

[lldb-api.functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr.TestDataFormatterLibcxxUniquePtr.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/functionalities_data-formatter_data-formatter-stl_libcxx_unique_ptr/TestDataFormatterLibcxxUniquePtr_py/)
2024-02-19 17:46:51 -08:00
Jonas Devlieghere
13dce35876 [lldb] Migrate distutils.version.LooseVersion to packaging (#82066)
The distutils package has been deprecated and was removed from Python
3.12. The migration page [1] advises to use the packaging module
instead. Since Python 3.6 that's vendored into pkg_resources.

[1] https://peps.python.org/pep-0632/#migration-advice
2024-02-19 15:31:08 -08:00
Jonas Devlieghere
737bc9f76a [lldb] Replace assertRegexpMatches with assertRegex (NFC) (#82074)
assertRegexpMatches is a deprecated alias for assertRegex and has been
removed in Python 3.12. This wasn't an issue previously because we used
a vendored version of the unittest module. Now that we use the built-in
version this gets updated together with the Python version used to run
the test suite.
2024-02-16 21:45:08 -08:00