summaryrefslogtreecommitdiff
path: root/lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py
AgeCommit message (Collapse)Author
2023-05-25[NFC][Py Reformat] Reformat python files in lldbJonas Devlieghere
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
2022-06-17[lldb][tests] Automatically call compute_mydir (NFC)Dave Lee
Eliminate boilerplate of having each test manually assign to `mydir` by calling `compute_mydir` in lldbtest.py. Differential Revision: https://reviews.llvm.org/D128077
2021-10-13[lldb] Skip several lldb tests that are flaky on WindowsStella Stamenova
These tests fail every 10 or so runs on Windows causing both local failures as well as buildbot failures. Differential Revision: https://reviews.llvm.org/D111659
2021-04-01[lldb] Un-XFAIL TestAutoInstallMainExecutable on WindowsStella Stamenova
2021-04-01[lldb] Rewrite TestAutoInstallMainExecutable logicPavel Labath
The test uses debug info from one binary to debug a different one. This does not work on macos, and its pure luck that it works elsewhere (the variable that it inspects happens to have the same address in both). The purpose of this test is to verify that lldb has not overwritten the target executable. That can be more easily achieved by checking the exit code of the binary, so change the test to do that. Also remove the llgs_test decorator, as it's preventing the test from running on macos. All the test needs is the platform functionality of lldb-server, which is available everywhere.
2021-03-24[lldb] Add llgs_test decorator back to TestAutoInstallMainExecutableRaphael Isemann
This got removed in 68bb51acd572735d80d20adb2c2fc51a5cbbd88e and this enabled the test on macOS (where it just causes lldb-server to crash). Re-adding the decorator to get the tests passing again.
2021-03-18[lldb] Fix TestAutoInstallMainExecutable.pyPavel Labath
Fix the test to account for recent test infrastructure changes, and make it run locally to increase the chances of it continuing to work in the future.
2020-12-18[lldb/test] Reduce boilerplate in lldb-server testsPavel Labath
Nearly all of our lldb-server tests have two flavours (lldb-server and debugserver). Each of them is tagged with an appropriate decorator, and each of them starts with a call to a matching "init" method. The init calls are mandatory, and it's not possible to meaningfully combine them with a different decorator. This patch leverages the existing decorators to also tag the tests with the appropriate debug server tag, similar to how we do with debug info flavours. This allows us to make the "init" calls from inside the common setUp method.
2020-11-18[lldb] Fix a couple of remote llgs testsDavid Spickett
init_llgs_test no longer takes an argument but these two were not updated. Also fix some mistakes in TestAutoInstallMainExecutable to get it passing again. Reviewed By: JDevlieghere, labath Differential Revision: https://reviews.llvm.org/D91612
2020-08-06[lldb] Use target.GetLaunchInfo() instead of creating an empty one.Jonas Devlieghere
Update tests that were creating an empty LaunchInfo instead of using the one coming from the target. This ensures target properties are honored.
2020-07-14[lldb/Test] Always set the cleanupSubprocesses tear down hookJonas Devlieghere
Always clean up subprocesses on tear down instead of relying on the caller to do so. This is not only less error prone but also means the tests can be more concise. Differential revision: https://reviews.llvm.org/D83787
2020-06-30[lldb/Test] Introduce "assertSuccess"Pavel Labath
Summary: A lot of our tests do 'self.assertTrue(error.Success()'. The problem with that is that when this fails, it produces a completely useless error message (False is not True) and the most important piece of information -- the actual error message -- is completely hidden. Sometimes we mitigate that by including the error message in the "msg" argument, but this has two additional problems: - as the msg argument is evaluated unconditionally, one needs to be careful to not trigger an exception when the operation was actually successful. - it requires more typing, which means we often don't do it assertSuccess solves these problems by taking the entire SBError object as an argument. If the operation was unsuccessful, it can format a reasonable error message itself. The function still accepts a "msg" argument, which can include any additional context, but this context now does not need to include the error message. To demonstrate usage, I replace a number of existing assertTrue assertions with the new function. As this process is not easily automatable, I have just manually updated a representative sample. In some cases, I did not update the code to use assertSuccess, but I went for even higher-level assertion apis (runCmd, expect_expr), as these are even shorter, and can produce even better failure messages. Reviewers: teemperor, JDevlieghere Subscribers: arphaman, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D82759
2020-03-05[lldb][testsuite] Create a SBDebugger instance for each testTatyana Krasnukha
Some tests set settings and don't clean them up, this leads to side effects in other tests. The patch removes a global debugger instance with a per-test debugger to avoid such effects. From what I see, lldb.DBG was needed to determine the platform before a test is run, lldb.selected_platform is used for this purpose now. Though, this required adding a new function to the SBPlatform interface. Differential Revision: https://reviews.llvm.org/D74903
2020-02-11[lldb][test] Remove symlink for API tests.Jordan Rupprecht
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