[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] Remove support for replaying the test suite from a reproducerThis patch removes the infrastructure to replay the test suite from areproducer, as well as the modifications made to the indivi
[lldb] Remove support for replaying the test suite from a reproducerThis patch removes the infrastructure to replay the test suite from areproducer, as well as the modifications made to the individual tests.
[lldb/Test] Introduce "assertSuccess"Summary:A lot of our tests do 'self.assertTrue(error.Success()'. The problemwith that is that when this fails, it produces a completely uselesserror message
[lldb/Test] Introduce "assertSuccess"Summary:A lot of our tests do 'self.assertTrue(error.Success()'. The problemwith that is that when this fails, it produces a completely uselesserror message (False is not True) and the most important piece ofinformation -- 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 itassertSuccess solves these problems by taking the entire SBError objectas an argument. If the operation was unsuccessful, it can format areasonable error message itself. The function still accepts a "msg"argument, which can include any additional context, but this context nowdoes not need to include the error message.To demonstrate usage, I replace a number of existing assertTrueassertions with the new function. As this process is not easilyautomatable, I have just manually updated a representative sample. Insome cases, I did not update the code to use assertSuccess, but I wentfor even higher-level assertion apis (runCmd, expect_expr), as these areeven shorter, and can produce even better failure messages.Reviewers: teemperor, JDevlieghereSubscribers: arphaman, lldb-commitsTags: #lldbDifferential Revision: https://reviews.llvm.org/D82759
[lldb/Reproducers] Skip tests relying on timeoutsThe reproducer don't model timeouts so tests that rely on them end upwith unexpected packets during replay. Skip them until we can handlethis scen
[lldb/Reproducers] Skip tests relying on timeoutsThe reproducer don't model timeouts so tests that rely on them end upwith unexpected packets during replay. Skip them until we can handlethis scenario.
[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