28 Commits

Author SHA1 Message Date
Dave Lee
68b9bb5e9b
[lldb] Add stop_description Python property to SBThread (#151568)
Add `stop_description` as a Python convenience property to `SBThread`.
2025-07-31 13:10:04 -07:00
Felipe de Azevedo Piovezan
28156539a9 [lldb] Disable test using GetControlFlowKind on arm 2025-05-08 13:14:40 -07:00
Felipe de Azevedo Piovezan
cb0b9614f8 [lldb] Disable test using GetControlFlowKind on arm
This is only implemented for x86.
Originally introduced in: https://github.com/llvm/llvm-project/pull/137904
2025-05-08 08:11:17 -07:00
Ely Ronnen
4132141681
[lldb] Expose QueueThreadPlanForStepSingleInstruction function to SBThreadPlan (#137904)
Expose `QueueThreadPlanForStepSingleInstruction` function to
SBThreadPlan
2025-05-08 14:01:42 +02:00
Med Ismail Bennani
6cb45aea92
Reland "[lldb/Interpreter] Discard ScriptedThreadPlan::GetStopDescription return value (#96985)" (#97092)
This reverts commit a2e3af5d581547d3ea53e5383d6f7f1cab45120a and solves
the build error in
https://lab.llvm.org/buildbot/#/builders/141/builds/369.

Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
2024-06-28 11:53:19 -07:00
Nico Weber
a2e3af5d58 Revert "[lldb/Interpreter] Discard ScriptedThreadPlan::GetStopDescription return value (#96985)"
This reverts commit 1130e923e2d7fe046101bf639bc5ebcde194c005.
Very likely causes build problems on Windows and with LLVM_NO_DEAD_STRIP=ON,
see https://github.com/llvm/llvm-project/pull/96985#pullrequestreview-2147599208
2024-06-28 13:25:11 +02:00
Med Ismail Bennani
1130e923e2
[lldb/Interpreter] Discard ScriptedThreadPlan::GetStopDescription return value (#96985)
This patch changes `ScriptedThreadPlan::GetStopDescription` behavior by
discarding its return value since it is optional in the first place (the
user doesn't need to provide a return value in their implementation).

This patch also addresses the test failures in TestStepScripted
following 9a9ec22 and re-enables the tests that were XFAIL'd previously.

The issue here was that the `Stream*` that's passed to
`ThreadPlanPython::GetDescription` wasn't being passed by reference to
the python method so it was never updated to reflect how the python
method interacted with it.

This patch solves this issue by making a temporary `StreamSP` that will
be passed to the python method by reference, after what we will copy its
content to the caller `Stream` pointer argument.

---------

Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
2024-06-28 01:40:03 -07:00
Med Ismail Bennani
37fe152e0c
Revert "Revert "[lldb/test] Mark TestStepScripted.py as XFAIL temporarily (#96894)"" (#96946)
Reverts llvm/llvm-project#96942 since the test failures are still
happening:

https://lab.llvm.org/buildbot/#/builders/162/builds/899/
2024-06-27 11:34:47 -07:00
Med Ismail Bennani
b949b64207
Revert "[lldb/test] Mark TestStepScripted.py as XFAIL temporarily (#96894)" (#96942)
This tentatively reverts commit 204c403b5215197ecdbdb68ca7f11402d6d9892b
to remove the XFAIL from the tests while also trying to fix them at the
same time.

Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
2024-06-27 11:28:37 -07:00
Pavel Labath
5da6f64db3 [lldb] Un-XFAIL TestStepScripted.test_misspelled_plan_name
XFAIL in #96894 was too wide. This one actually passes.
2024-06-27 16:00:34 +02:00
Med Ismail Bennani
204c403b52
[lldb/test] Mark TestStepScripted.py as XFAIL temporarily (#96894)
After landing 9a9ec228cdcf, some of the `TestStepScripted.py` methods
started failing on various bots:

- https://lab.llvm.org/buildbot/#/builders/162/builds/851
- https://lab.llvm.org/buildbot/#/builders/59/builds/650
-
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/6546/
- https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/3359/

Since I'm not able to reproduce the test failure locally (tested on
darwin x86_64/arm64 & linux arm64), I'll mark these as XFAIL until I can
reproduce it or attach to a bot to investigate the issue on it directly.

Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
2024-06-27 03:45:38 -07:00
Eisuke Kawashima
586114510c
[lldb] fix(lldb/**.py): fix comparison to None (#94017)
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:59:07 +01:00
Jason Molenda
547c395b27 Revert "[lldb/Test] Temporarily XFAIL TestStepScripted.py"
Also revert this patch until Ismail can re-land.

This reverts commit febb4c42b192ed7c88c17f91cb903a59acf20baf.
2024-01-29 11:01:08 -08:00
Med Ismail Bennani
febb4c42b1 [lldb/Test] Temporarily XFAIL TestStepScripted.py
This patch XFAILs TestStepScripted.py temporarily following 888501bc631c,
until I fix it.

Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
2024-01-29 03:50:36 -08:00
Jonas Devlieghere
2238dcc393
[NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python
code. Reformatting is done with `black` (23.1.0).

If you end up having problems merging this commit because you have made
changes to a python file, the best way to handle that is to run `git
checkout --ours <yourfile>` and then reformat it with black.

RFC: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style

Differential revision: https://reviews.llvm.org/D151460
2023-05-25 12:54:09 -07:00
Jim Ingham
c2be702104 Allow scripted thread plans to modify the thread stop description when
they are completed.
2023-05-03 10:52:12 -07:00
Dave Lee
785009e19f [lldb][test] Fix function references to function calls (NFC) 2023-02-08 12:12:33 -08:00
Dave Lee
4cc8f2a017 [lldb][tests] Automatically call compute_mydir (NFC)
Eliminate boilerplate of having each test manually assign to `mydir` by calling
`compute_mydir` in lldbtest.py.

Differential Revision: https://reviews.llvm.org/D128077
2022-06-17 14:34:49 -07:00
Dave Lee
47c4c6a746 [lldb] Use assertState in more tests (NFC)
Follow to D127355, converting more `assertEquals` to `assertState`.

Differential Revision: https://reviews.llvm.org/D127378
2022-06-09 16:18:07 -07:00
Jonas Devlieghere
0e9af88b70
Remove Python 2 checks from the test suite
We dropped downstream support for Python 2 in the previous release. Now
that we have branched for the next release the window where this kind of
change could introduce conflicts is closing too. Remove Python 2 checks
from the test suite.

Differential revision: https://reviews.llvm.org/D124429
2022-04-27 08:26:26 -07:00
Dave Lee
779bbbf27f [lldb] Replace asserts on .Success() with assertSuccess()
Replace forms of `assertTrue(err.Success())` with `assertSuccess(err)` (added in D82759).

* `assertSuccess` prints out the error's message
* `assertSuccess` expresses explicit higher level semantics, both to the reader and for test failure output
* `assertSuccess` seems not to be well known, using it where possible will help spread knowledge
* `assertSuccess` statements are more succinct

Differential Revision: https://reviews.llvm.org/D119616
2022-02-14 08:31:17 -08:00
Jonas Devlieghere
b505ed9d31 [lldb] Remove support for replaying the test suite from a reproducer
This patch removes the infrastructure to replay the test suite from a
reproducer, as well as the modifications made to the individual tests.
2021-09-30 10:47:19 -07:00
Dave Lee
3cc3762292 [lldb] Use assertIn/NotIn over assertTrue/False (NFC)
For improved failure messages, use `assertIn` over `assertTrue`.

Differential Revision: https://reviews.llvm.org/D96095
2021-02-06 11:52:01 -08:00
Jonas Devlieghere
180d6ed667 [lldb] Skip TestStepScripted with reproducers
Some of the test methods were already skipped because of an unexpected
packet. The test started failing after it was expanded. Skip the whole
test with reproducers so we don't have to add the decorator for every
method.
2020-08-13 09:46:52 -07:00
Jim Ingham
d3dfd8cec4 Add a setting to force stepping to always run all threads.
Also allow ScriptedThreadPlans to set & get their StopOthers
state.

<rdar://problem/64229484>

Differential Revision: https://reviews.llvm.org/D85265
2020-08-07 14:47:31 -07:00
Jonas Devlieghere
5f97a540ad [lldb/Reproducers] Differentiate active and passive replay unexpected packet. 2020-05-27 13:52:38 -07:00
Jonas Devlieghere
1e566f6b47 [lldb/Test] Add skipIfReproducer for tests that diverge during replay
Add the skipIfReproducer decorator to the remaining tests that fail to
replay because the GDB remote packets diverge during replay. This is
*not* expected and should be fixed, but figuring out exactly what caused
the divergence has proven pretty difficult to track down.

I've marked these tests as skipped for now so we can get clean results
and detect new regressions. I have no evidence to believe that these
failures have the same root cause, so I've not assigned them a PR.
2020-04-21 14:42:14 -07:00
Jordan Rupprecht
99451b4453 [lldb][test] Remove symlink for API tests.
Summary: Moves lldbsuite tests to lldb/test/API.

This is a largely mechanical change, moved with the following steps:

```
rm lldb/test/API/testcases
mkdir -p lldb/test/API/{test_runner/test,tools/lldb-{server,vscode}}
mv lldb/packages/Python/lldbsuite/test/test_runner/test lldb/test/API/test_runner
for d in $(find lldb/packages/Python/lldbsuite/test/* -maxdepth 0 -type d | egrep -v "make|plugins|test_runner|tools"); do mv $d lldb/test/API; done
for d in $(find lldb/packages/Python/lldbsuite/test/tools/lldb-vscode -maxdepth 1 -mindepth 1 | grep -v ".py"); do mv $d lldb/test/API/tools/lldb-vscode; done
for d in $(find lldb/packages/Python/lldbsuite/test/tools/lldb-server -maxdepth 1 -mindepth 1 | egrep -v "gdbremote_testcase.py|lldbgdbserverutils.py|socket_packet_pump.py"); do mv $d lldb/test/API/tools/lldb-server; done
```

lldb/packages/Python/lldbsuite/__init__.py and lldb/test/API/lit.cfg.py were also updated with the new directory structure.

Reviewers: labath, JDevlieghere

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D71151
2020-02-11 10:03:53 -08:00