Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
09531ede |
| 30-Jun-2022 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [llgs] Improve stdio forwarding in multiprocess+nonstop
Enable stdio forwarding when nonstop mode is enabled, and disable it once it is disabled. This makes it possible to cleanly handle std
[lldb] [llgs] Improve stdio forwarding in multiprocess+nonstop
Enable stdio forwarding when nonstop mode is enabled, and disable it once it is disabled. This makes it possible to cleanly handle stdio forwarding while running multiple processes in non-stop mode.
Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.llvm.org/D128932
show more ...
|
#
fea52ac5 |
| 11-Jul-2022 |
Pavel Labath <pavel@labath.sk> |
[lldb/test] Use SIGINT as the "stopping" signal
Using SIGSTOP means that if anything goes wrong in the test, the process can end up in the stopped state, where it is not running, but still taking up
[lldb/test] Use SIGINT as the "stopping" signal
Using SIGSTOP means that if anything goes wrong in the test, the process can end up in the stopped state, where it is not running, but still taking up resources. Eventually, these "zombies" can make the machine completely unusable. Instead, use a signal whose default action is to kill the processes.
show more ...
|
#
251165b2 |
| 29-Jun-2022 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [test] Use raise(SIGSTOP) instead of trap in fork tests
Replace the use of "trap" with a new "stop" command in fork tests, that maps to `raise(SIGSTOP)`. Since traps do not increment PC on s
[lldb] [test] Use raise(SIGSTOP) instead of trap in fork tests
Replace the use of "trap" with a new "stop" command in fork tests, that maps to `raise(SIGSTOP)`. Since traps do not increment PC on some architectures (notably ARM), using traps would require special logic to increment it while testing. Using SIGSTOP avoids the problem and is probably more logical, given that the purpose of the "trap"s was to simply stop the inferior at a synchronization point. This fixes tests on AArch64 (and possibly ARM, I'll update XFAILs when it is confirmed by the buildbot).
Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.llvm.org/D128780
show more ...
|
Revision tags: llvmorg-14.0.6 |
|
#
3266b117 |
| 14-Jun-2022 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [llgs] Add test for resuming via c in multiprocess scenarios
Add a test verifying that it is possible to resume a single process via the `c` packet when multiple processes are being debugged.
[lldb] [llgs] Add test for resuming via c in multiprocess scenarios
Add a test verifying that it is possible to resume a single process via the `c` packet when multiple processes are being debugged. This includes a tiny change to the test program — when `fork()` is called, the child process is no longer terminated immediately but continues performing the same tasks as queued for the parent.
Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.llvm.org/D127755
show more ...
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
#
9611282c |
| 09-Feb-2022 |
Pavel Labath <pavel@labath.sk> |
[lldb] Stabilize threaded windows lldb-server tests
The tests enabled in 9e699595 are not passing reliably -- sometimes they report seeing fewer threads than expected.
Based on my (limited) researc
[lldb] Stabilize threaded windows lldb-server tests
The tests enabled in 9e699595 are not passing reliably -- sometimes they report seeing fewer threads than expected.
Based on my (limited) research, this is not a lldb bug, but simply a consequence of the operating system reporting their presence asynchronously -- they're reported when they are scheduled to run (or something similar), and not at the time of the CreateThread call.
To fix this, I add some additional synchronization to the test inferior, which makes sure that the created thread is alive before continuing to do other things.
show more ...
|
Revision tags: llvmorg-14.0.0-rc1 |
|
#
5a4fe166 |
| 07-Feb-2022 |
Pavel Labath <pavel@labath.sk> |
[lldb/test] Remove sleeps from some lldb-server tests
Instead of using sleeps, have the inferior notify us (via a trap opcode) that the requested number of threads have been created.
This allows us
[lldb/test] Remove sleeps from some lldb-server tests
Instead of using sleeps, have the inferior notify us (via a trap opcode) that the requested number of threads have been created.
This allows us to get rid of some fairly dodgy test utility code -- wait_for_thread_count seemed like it was waiting for the threads to appear, but it never actually let the inferior run, so it only succeeded if the threads were already started when the function was called. Since the function was called after a fairly small delay (1s, usually), this is probably the reason why the tests were failing on some bots.
Differential Revision: https://reviews.llvm.org/D119167
show more ...
|
Revision tags: llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2 |
|
#
3fade954 |
| 12-Aug-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [gdb-remote] Support QEnvironment fallback to hex-encoded
Fall back to QEnvironmentHexEncoded if QEnvironment is not supported. The latter packet is an LLDB extension, while the former is uni
[lldb] [gdb-remote] Support QEnvironment fallback to hex-encoded
Fall back to QEnvironmentHexEncoded if QEnvironment is not supported. The latter packet is an LLDB extension, while the former is universally supported.
Add tests for both QEnvironment and QEnvironmentHexEncoded packets, including both use due to characters that need escaping and fallback when QEnvironment is not supported.
Differential Revision: https://reviews.llvm.org/D108018
show more ...
|
Revision tags: llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3 |
|
#
709f8186 |
| 22-Jun-2021 |
Raphael Isemann <teemperor@gmail.com> |
[lldb] Add missing string include to lldb-server's main
|
Revision tags: llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1 |
|
#
7d850db6 |
| 26-Apr-2021 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb] Don't use ::fork or ::vfork on watchOS or tvOS
Update lldb-server to not use fork or vfork on watchOS and tvOS as these functions are explicitly marked unavailable there.
llvm-project/lldb/t
[lldb] Don't use ::fork or ::vfork on watchOS or tvOS
Update lldb-server to not use fork or vfork on watchOS and tvOS as these functions are explicitly marked unavailable there.
llvm-project/lldb/test/API/tools/lldb-server/main.cpp:304:11: error: 'fork' is unavailable: not available on watchOS if (fork() == 0) ^ WatchSimulator6.2.sdk/usr/include/unistd.h:447:8: note: 'fork' has been explicitly marked unavailable here pid_t fork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED; ^ llvm-project/lldb/test/API/tools/lldb-server/main.cpp:307:11: error: 'vfork' is unavailable: not available on watchOS if (vfork() == 0) ^ WatchSimulator6.2.sdk/usr/include/unistd.h:602:8: note: 'vfork' has been explicitly marked unavailable here pid_t vfork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED; ^
show more ...
|
#
bbae0c1f |
| 13-Apr-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [llgs] Support owning and detaching extra processes
Add a NativeDelegate API to pass new processes (forks) to LLGS, and support detaching them via the 'D' packet. A 'D' packet without a spec
[lldb] [llgs] Support owning and detaching extra processes
Add a NativeDelegate API to pass new processes (forks) to LLGS, and support detaching them via the 'D' packet. A 'D' packet without a specific PID detaches all processes, otherwise it detaches either the specified subprocess or the main process, depending on the passed PID.
Differential Revision: https://reviews.llvm.org/D100191
show more ...
|
#
953f580b |
| 16-Apr-2021 |
Pavel Labath <pavel@labath.sk> |
[lldb/test] Modernize lldb-server test inferior
Avoid c string manipulation by introducing a StringRef-like consume_front operation.
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
#
04b766da |
| 30-Mar-2021 |
Pavel Labath <pavel@labath.sk> |
[lldb/test] Deflake TestGdbRemote_vContThreads even more
This patch fixes an issue, where if the thread has a signal blocked when we try to inject it into the process (via vCont), then instead of ex
[lldb/test] Deflake TestGdbRemote_vContThreads even more
This patch fixes an issue, where if the thread has a signal blocked when we try to inject it into the process (via vCont), then instead of executing straight away, the injected signal will trigger another stop when the thread unblocks the signal.
As (linux) threads start their life with SIGUSR1 (among others) disabled, and only enable it during initialization, injecting the signal during this window did not behave as expected. The fix is to change the test to ensure the signal gets injected with the signal unblocked.
The simplest way to do this was to write a dedicated inferior for this test. I also created a new header to factor out the function retrieving the (os-specific) thread id.
show more ...
|
#
0c208d1f |
| 18-Mar-2021 |
Pavel Labath <pavel@labath.sk> |
[lldb] Fix flakyness in TestGdbRemote_vContThreads
The cause is the non-async-signal-safety printf function (et al.). If the test managed to interrupt the process and inject a signal before the prin
[lldb] Fix flakyness in TestGdbRemote_vContThreads
The cause is the non-async-signal-safety printf function (et al.). If the test managed to interrupt the process and inject a signal before the printf("@started") call returned (but after it has actually written the output), that string could end up being printed twice (presumably, because the function did not manage the clear the userspace buffer, and so the print call in the signal handler would print it once again).
This patch fixes the issue by replacing the printf call in the signal handler with a sprintf+write combo, which should not suffer from that problem (though I wouldn't go as far as to call it async signal safe).
show more ...
|
Revision tags: llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1 |
|
#
e9264b74 |
| 06-Apr-2020 |
Kazuaki Ishizaki <ishizaki@jp.ibm.com> |
[lldb] NFC: Fix trivial typo in comments, documents, and messages
Differential Revision: https://reviews.llvm.org/D77460
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4 |
|
#
aa73ee05 |
| 06-Mar-2020 |
Pavel Labath <pavel@labath.sk> |
[lldb/test] Use inline assembly for instruction counting tests
We have a test which checks that instruction-step really steps one instruction, but the way it checks this makes it very susceptible to
[lldb/test] Use inline assembly for instruction counting tests
We have a test which checks that instruction-step really steps one instruction, but the way it checks this makes it very susceptible to codegen changes. This rewrites the test inferior to use inline assembly, which guarantees a known sequence of instructions that the test can check. This does mean we have to write separate assembly for each architecture, but that is no better than having architecture-specific assertions, which the test was already starting to accumulate.
show more ...
|
Revision tags: llvmorg-10.0.0-rc3 |
|
#
fdea9a4e |
| 20-Feb-2020 |
Raphael Isemann <teemperor@gmail.com> |
[lldb] Remove license headers from all test source files
Summary: Around a third of our test sources have LLVM license headers. This patch removes those headers from all test sources and also fixes
[lldb] Remove license headers from all test source files
Summary: Around a third of our test sources have LLVM license headers. This patch removes those headers from all test sources and also fixes any tests that depended on the length of the license header.
The reasons for this are:
* A few tests verify line numbers and will start failing if the number of lines in the LLVM license header changes. Once I landed my patch for valid SourceLocations in debug info we will probably have even more tests that verify line numbers. * No other LLVM project is putting license headers in its test files to my knowledge. * They make the test sources much more verbose than they have to be. Several tests have longer license headers than the actual test source.
For the record, the following tests had their line numbers changed to pass with the removal of the license header: lldb-api :: functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py lldb-shell :: Reproducer/TestGDBRemoteRepro.test lldb-shell :: Reproducer/TestMultipleTargets.test lldb-shell :: Reproducer/TestReuseDirectory.test lldb-shell :: ExecControl/StopHook/stop-hook-threads.test lldb-shell :: ExecControl/StopHook/stop-hook.test lldb-api :: lang/objc/exceptions/TestObjCExceptions.py
Reviewers: #lldb, espindola, JDevlieghere
Reviewed By: #lldb, JDevlieghere
Subscribers: emaste, aprantl, arphaman, JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D74839
show more ...
|
Revision tags: llvmorg-10.0.0-rc2 |
|
#
99451b44 |
| 11-Feb-2020 |
Jordan Rupprecht <rupprecht@google.com> |
[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 mkdi
[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
show more ...
|