[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://r
[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
show more ...
[lldb] Fix broken bad-address-breakpoint testAfter changing the "fallback" behavior when a user sets a breakpointwithout specifying a module the bad-address-breakpoint test case failedincorrectly
[lldb] Fix broken bad-address-breakpoint testAfter changing the "fallback" behavior when a user sets a breakpointwithout specifying a module the bad-address-breakpoint test case failedincorrectly. This patch updates that test case in order to morethoroughly discover an illegal address and use that as the means fortesting whether a breakpoint set at an illegal address fails to resolve.Differential revision: https://reviews.llvm.org/D126109
[lldb] Introduce createTestTarget for creating a valid target in API testsAt the moment nearly every test calls something similar to`self.dbg.CreateTarget(self.getBuildArtifact("a.out"))` and them
[lldb] Introduce createTestTarget for creating a valid target in API testsAt the moment nearly every test calls something similar to`self.dbg.CreateTarget(self.getBuildArtifact("a.out"))` and them sometimeschecks if the created target is actually valid with something like`self.assertTrue(target.IsValid(), "some useless text")`.Beside being really verbose the error messages generated by this pattern arealways just indicating that the target failed to be created but now why.This patch introduces a helper function `createTestTarget` to our Test classthat creates the target with the much more verbose `CreateTarget` overload thatgives us back an SBError (with a fancy error). If the target couldn't be createdthe function prints out the SBError that LLDB returned and asserts for us. Italso defaults to the "a.out" build artifact path that nearly all tests are usingto avoid to hardcode "a.out" in every test.I converted a bunch of tests to the new function but I'll do the rest of thetest suite as follow ups.Reviewed By: JDevlieghereDifferential Revision: https://reviews.llvm.org/D102771
[lldb] Convert more assertTrue to assertEqual (NFC)Follow up to D95813, this converts multiline assertTrue to assertEqual.Differential Revision: https://reviews.llvm.org/D95899
[lldb] Use target.GetLaunchInfo() instead of creating an empty one.Update tests that were creating an empty LaunchInfo instead of using theone coming from the target. This ensures target propertie
[lldb] Use target.GetLaunchInfo() instead of creating an empty one.Update tests that were creating an empty LaunchInfo instead of using theone coming from the target. This ensures target properties are honored.
[lldb] Replace assertTrue(a == b, "msg") with assertEquals(a, b, "msg") in the test suiteSummary:The error message from the construct `assertTrue(a == b, "msg") ` are nearly always completely usel
[lldb] Replace assertTrue(a == b, "msg") with assertEquals(a, b, "msg") in the test suiteSummary:The error message from the construct `assertTrue(a == b, "msg") ` are nearly always completely useless for actually debugging the issue.This patch is just replacing this construct (and similar ones like `assertTrue(a != b, ...)` with the proper call to assertEqual or assertNotEquals.This patch was mostly written by a shell script with some manual verification afterwards:```lang=pythonimport sysdef sanitize_line(line): if line.strip().startswith("self.assertTrue(") and " == " in line: line = line.replace("self.assertTrue(", "self.assertEquals(") line = line.replace(" == ", ", ", 1) if line.strip().startswith("self.assertTrue(") and " != " in line: line = line.replace("self.assertTrue(", "self.assertNotEqual(") line = line.replace(" != ", ", ", 1) return linefor a in sys.argv[1:]: with open(a, "r") as f: lines = f.readlines() with open(a, "w") as f: for line in lines: f.write(sanitize_line(line))```Reviewers: labath, JDevlieghereReviewed By: labathSubscribers: abidh, lldb-commitsTags: #lldbDifferential Revision: https://reviews.llvm.org/D74475
[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/testcasesmkdi
[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/testcasesmkdir -p lldb/test/API/{test_runner/test,tools/lldb-{server,vscode}}mv lldb/packages/Python/lldbsuite/test/test_runner/test lldb/test/API/test_runnerfor 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; donefor 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; donefor 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, JDevlieghereTags: #lldbDifferential Revision: https://reviews.llvm.org/D71151