[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] Modernize TestBitfieldsThis just does the usual modernizations such as using new test functions wherepossible, clang-formatting the source, avoiding manual process setup,assert improvement
[lldb] Modernize TestBitfieldsThis just does the usual modernizations such as using new test functions wherepossible, clang-formatting the source, avoiding manual process setup,assert improvements (` assertTrue(a == b) -> assertEqual(a, b)`).This doesn't add any new test cases but removes some dependence on unrelatedfeatures where possible (e.g., structs declared in functions, using the standardlibrary to printf stuff or initialize objects).
[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] Convert assertTrue(a == b) to assertEqual(a, b)Convert `assertTrue(a == b)` to `assertEqual(a, b)` to produce better failure messages.These were mostly done via regex search & replace, wit
[lldb] Convert assertTrue(a == b) to assertEqual(a, b)Convert `assertTrue(a == b)` to `assertEqual(a, b)` to produce better failure messages.These were mostly done via regex search & replace, with some manual fixes.Differential Revision: https://reviews.llvm.org/D95813
[lldb] Fix bitfield "frame var" for pointers (pr47743)Displaying large packed bitfields did not work if one was accessing themthrough a pointer, and he used the "->" notation ("[0]." notation isf
[lldb] Fix bitfield "frame var" for pointers (pr47743)Displaying large packed bitfields did not work if one was accessing themthrough a pointer, and he used the "->" notation ("[0]." notation isfine). The reason for that is that implicit dereference in -> is plumbedall the way down to ValueObjectChild::UpdateValue, where the process offetching the child value was forked for this flag. The bitfield"sliding" code was implemented only for the branch which did not requiredereferencing.This patch restructures the function to avoid this mistake. Processingnow happens in two stages.- first the parent is dereferenced (if needed)- then the child value is computed (this step includes sliding and is common for both branches)Differential Revision: https://reviews.llvm.org/D89236
[lldb] Fix "frame var" for large bitfieldsThe problem here is in the "sliding" code inValueObjectChild::UpdateValue. It modifies m_bitfield_bit_offset andm_value to ensure the bitfield value fits
[lldb] Fix "frame var" for large bitfieldsThe problem here is in the "sliding" code inValueObjectChild::UpdateValue. It modifies m_bitfield_bit_offset andm_value to ensure the bitfield value fits the window given by theunderlying type.However, this is broken next time UpdateValue is called, because itupdates the m_value value from the parent. However, the value cannot beslid again because the m_bitfield_bit_offset is already modified.It seems this can happen only under specific circumstances. One way totrigger is is to run an expression which can be interpreted (jitting itcauses a new StackFrame and ValueObject variables to be created).I fix this bug by modifying m_byte_offset instead of m_scalar, andensuring the changes are folded into m_scalar regardless of how manytimes UpdateValue is called.Differential Revision: https://reviews.llvm.org/D88992
[lldb] Remove license headers from all test source filesSummary:Around a third of our test sources have LLVM license headers. This patch removes those headers from all testsources and also fixes
[lldb] Remove license headers from all test source filesSummary:Around a third of our test sources have LLVM license headers. This patch removes those headers from all testsources 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.pyReviewers: #lldb, espindola, JDevlieghereReviewed By: #lldb, JDevlieghereSubscribers: emaste, aprantl, arphaman, JDevlieghere, lldb-commitsTags: #lldbDifferential Revision: https://reviews.llvm.org/D74839
[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