summaryrefslogtreecommitdiff
path: root/lldb/test/Shell/Process/Inputs
AgeCommit message (Collapse)Author
2024-08-22[lldb] Pick the correct architecutre when target and core file disagree ↵Jonas Devlieghere
(#105576) In f9f3316, Adrian fixed an issue where LLDB wouldn't update the target's architecture when the process reported a different triple that only differed in its sub-architecture. This unintentionally regressed core file debugging when the core file reports the base architecture (e.g. armv7) while the main binary knows the correct CPU subtype (e.g. armv7em). After the aforementioned change, we update the target architecture from armv7em to armv7. Fix the issue by trusting the target architecture over the ProcessMachCore process. rdar://133834304
2022-04-13[lldb] Expand $ when using tcshJonas Devlieghere
Unlike for any of the other shells, we were escaping $ when using tcsh. There's nothing special about $ in tcsh and this prevents you from expanding shell variables, one of the main reasons this functionality exists in the first place. Differential revision: https://reviews.llvm.org/D123690
2020-11-12[lldb] Replace TestAbortExitCode with a debugserver specific testRaphael Isemann
When I added TestAbortExitCode I actually planned this to be a generic test for the exit code functionality on POSIX systems. However due to all the different test setups we can have I don't think this worked out. Right now the test had to be made so permissive that it pretty much can't fail. Just to summarize, we would need to support the following situations: 1. ToT debugserver (on macOS) 2. lldb-server (on other platforms) 3. Any old debugserver version when using the system debugserver (on macOS) This patch is removing TestAbortExitCode and adds a ToT debugserver specific test that checks the patch that motivated the whole exit code testing. There is already an exit-code test for lldb-server from what I can see and 3) is pretty much untestable as we don't know anything about the system debugserver. Reviewed By: kastiglione Differential Revision: https://reviews.llvm.org/D89305
2020-09-03[debugserver] Fix that debugserver's stop reply packets always return signal ↵Raphael Isemann
code 0 If our process terminates due to an unhandled signal, we are supposed to get the signal code via WTERMSIG. However, we instead try to get the exit status via WEXITSTATUS which just ends up always calculating signal code 0 (at least on the macOS implementation where it just shifts the signal code bits away and we're left with only 0 bits). The exit status calculation on the LLDB side also seems a bit off as it claims an exit status that is just the signal code (instead of for example 128 + signal code), but that will be another patch. Reviewed By: jasonmolenda Differential Revision: https://reviews.llvm.org/D86336
2020-05-22Print a warning when stopped in a frame LLDB has no plugin for.Adrian Prantl
This patchs adds an optional warning that is printed when stopped at a frame that was compiled in a source language that LLDB has no plugin for. The motivational use-case is debugging Swift code on Linux. When the user accidentally invokes the system LLDB that was built without the Swift plugin, it is very much non-obvious why debugging doesnt work. This warning makes it easy to figure out what went wrong. <rdar://problem/56986569>
2019-10-09Re-land "[test] Split LLDB tests into API, Shell & Unit"Jonas Devlieghere
The original patch got reverted because it broke `check-lldb` on a clean build. This fixes that. llvm-svn: 374201
2019-10-09Revert [test] Split LLDB tests into API, Shell & UnitAdrian Prantl
as it appears to have broken check-lldb. This reverts r374184 (git commit 22314179f0660c172514b397060fd8f34b586e82) llvm-svn: 374187
2019-10-09[test] Split LLDB tests into API, Shell & UnitJonas Devlieghere
LLDB has three major testing strategies: unit tests, tests that exercise the SB API though dotest.py and what we currently call lit tests. The later is rather confusing as we're now using lit as the driver for all three types of tests. As most of this grew organically, the directory structure in the LLDB repository doesn't really make this clear. The 'lit' tests are part of the root and among these tests there's a Unit and Suite folder for the unit and dotest-tests. This layout makes it impossible to run just the lit tests. This patch changes the directory layout to match the 3 testing strategies, each with their own directory and their own configuration file. This means there are now 3 directories under lit with 3 corresponding targets: - API (check-lldb-api): Test exercising the SB API. - Shell (check-lldb-shell): Test exercising command line utilities. - Unit (check-lldb-unit): Unit tests. Finally, there's still the `check-lldb` target that runs all three test suites. Finally, this also renames the lit folder to `test` to match the LLVM repository layout. Differential revision: https://reviews.llvm.org/D68606 llvm-svn: 374184