[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 'std::out_of_range' crashing bug when file name completion using file path.When I run a lldb command that uses filename completion, if I enter a stringthat is not only a filename but al
[LLDB] Fix 'std::out_of_range' crashing bug when file name completion using file path.When I run a lldb command that uses filename completion, if I enter a stringthat is not only a filename but also a string with a non-file name string added,such as "./" that is relative path string , it will crash as soon as I press the[Tab] key. For example, debugging an executable file named "hello" that iscompiled from a file named "hello.c" , and I’ll put a breakpoint on line 3 ofhello.c.```$ lldb ./hello(lldb) breakpoint set --file hello.c --line 3```This is not a problem, but if I set "--file ./hello." and then press [Tab] keyto complete file name, lldb crashes.```$ lldb ./hello(lldb) breakpoint set --file ./hello.terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr: __pos (which is 8) > this->size() (which is 7)```The crash was caused because substr() (in lldb/source/Host/common/Editline.cpp)cut out string which size is user's input string from the completion string.I modified the code that erase the user's intput string from current line andthen add the completion string.Differential Revision: https://reviews.llvm.org/D108817
[LLDB] Skip random failing tests on Arm/AArch64 Linux botsFollowing tests have been failing randomly on LLDB Arm and AArch64 Linuxbuiltbots:TestMultilineNavigation.pyTestMultilineCompletion.py
[LLDB] Skip random failing tests on Arm/AArch64 Linux botsFollowing tests have been failing randomly on LLDB Arm and AArch64 Linuxbuiltbots:TestMultilineNavigation.pyTestMultilineCompletion.pyTestIOHandlerCompletion.pyTestGuiBasic.pyI have increased allocated CPU resources to these bots but it has notimproved situation to an acceptable level. This patch marks them asskipped on Arm/AArch64 for now.
[lldb] [test] Update XFAILs for FreeBSD/aarch64
[lldb] Display autosuggestion part in gray if there is one possible suggestionThis is relanding D81001. The patch originally failed as on newer editlineversions it seems CC_REFRESH will move the c
[lldb] Display autosuggestion part in gray if there is one possible suggestionThis is relanding D81001. The patch originally failed as on newer editlineversions it seems CC_REFRESH will move the cursor to the start of the line via\r and then back to the original position. On older editline versions likethe one used by default on macOS, CC_REFRESH doesn't move the cursor at all.As the patch changed the way we handle tab completion (previously we didREDISPLAY but now we're doing CC_REFRESH), this caused a few completion teststo receive this unexpected cursor movement in the output stream.This patch updates those tests to also accept output that contains the specificcursor movement commands (\r and then \x1b[XC). lldbpexpect.py received anutility method for generating the cursor movement escape sequence.Original summary:I implemented autosuggestion if there is one possible suggestion.I set the keybinds for every character. When a character is typed, Editline::TypedCharacter is called.Then, autosuggestion part is displayed in gray, and you can actually input by typing C-k.Editline::Autosuggest is a function for finding completion, and it is like Editline::TabCommand now, but I will add more features to it.Testing does not work well in my environment, so I can't confirm that it goes well, sorry. I am dealing with it now.Reviewed By: teemperor, JDevlieghere, #lldbDifferential Revision: https://reviews.llvm.org/D81001
[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