The patches look fine, please commit when possible! Greg
On Jan 10, 2014, at 12:55 PM, Todd Fiala <[email protected]> wrote: > Our final 3 test issues were covered by failure to set the CC and CXX to our > gcc/g++ during the test run. > > We're now all clear assuming we check in the patch above. > > Any comments on the fix above? > > -Todd > > > On Fri, Jan 10, 2014 at 12:35 PM, Todd Fiala <[email protected]> wrote: > We have a fix in the iohandler branch for a test failure of > TestCommandRegex.py. When using libedit, the multi-line handler is stripping > one too many lines from the collected input. This is causing 'command regex' > and its related test to fail. The test was also expecting different output > than the command currently emits. > > Here is a patch for the proposed fix: > > Index: test/functionalities/command_regex/TestCommandRegex.py > =================================================================== > --- test/functionalities/command_regex/TestCommandRegex.py (revision > 198951) > +++ test/functionalities/command_regex/TestCommandRegex.py (working copy) > @@ -13,9 +13,9 @@ > mydir = TestBase.compute_mydir(__file__) > > def test_command_regex(self): > - """Test a simple scenario of 'command regexp' invocation and > subsequent use.""" > + """Test a simple scenario of 'command regex' invocation and > subsequent use.""" > prompt = "(lldb) " > - regex_prompt = "Enter regular expressions in the form > 's/<regex>/<subst>/' and terminate with an empty line:\r\n" > + regex_prompt = "Enter one of more sed substitution commands in the > form: 's/<regex>/<subst>/'.\r\nTerminate the substitution list with an empty > line.\r\n" > regex_prompt1 = "\r\n" > > child = pexpect.spawn('%s %s' % (self.lldbHere, self.lldbOption)) > Index: source/Commands/CommandObjectCommands.cpp > =================================================================== > --- source/Commands/CommandObjectCommands.cpp (revision 198951) > +++ source/Commands/CommandObjectCommands.cpp (working copy) > @@ -956,10 +956,9 @@ > { > if (line_idx == UINT32_MAX) > { > - // Remove the last "DONE" line from "lines" so it doesn't appear > - // in our final commands and return true to indicate we are done > - // getting lines > - lines.PopBack(); > + // Return true to indicate we are done getting lines (this > + // is a "fake" line - the real terminating blank line was > + // removed during a previous call with the code below) > error.Clear(); > return LineStatus::Done; > } > > Any feedback on that fix? > > After this, we are down to the following failures on the iohandler branch, > Ubuntu 12.04, gcc 4.8.2, with latest configure-enabled libedit built from > source: > > Ran 272 tests. > Failing Tests (3) > FAIL: LLDB (suite) :: TestDataFormatterCategories.py (Linux > tfiala2.mtv.corp.google.com 3.2.5-gg1336 #1 SMP Thu Aug 29 02:37:18 PDT 2013 > x86_64 x86_64) > FAIL: LLDB (suite) :: TestDataFormatterGlobals.py (Linux > tfiala2.mtv.corp.google.com 3.2.5-gg1336 #1 SMP Thu Aug 29 02:37:18 PDT 2013 > x86_64 x86_64) > FAIL: LLDB (suite) :: TestConvenienceVariables.py (Linux > tfiala2.mtv.corp.google.com 3.2.5-gg1336 #1 SMP Thu Aug 29 02:37:18 PDT 2013 > x86_64 x86_64) > make: *** [check-local] Error 1 > > We're working on these now. > > > On Fri, Jan 10, 2014 at 10:47 AM, Steve Pucci <[email protected]> wrote: > > Note even with this, we are still having a libedit issue on multiline input > > handling (as exposed through the regex command test). We're looking at > > this now. > > I believe I know what this is. More when I've confirmed... > > - Steve > > > > On Fri, Jan 10, 2014 at 10:44 AM, Greg Clayton <[email protected]> wrote: > Looks good! > > On Jan 10, 2014, at 10:40 AM, Todd Fiala <[email protected]> wrote: > > > There was a slight tweak to the change above to deal with modifications > > that just came in on IOHandler's TreeItem. > > > > Here is the change submission: > > > > Sending lib/Makefile > > Sending source/Core/IOHandler.cpp > > Transmitting file data .. > > > > Committed revision 198951. > > > > Final patch attached. > > > > > > > > On Fri, Jan 10, 2014 at 10:21 AM, Todd Fiala <[email protected]> wrote: > > Here is the final patch we need to get lldb compiling on the iochannel > > branch on Ubuntu 12.04 x86_64 using configure and makefiles: > > > > Index: source/Core/IOHandler.cpp > > =================================================================== > > --- source/Core/IOHandler.cpp (revision 198946) > > +++ source/Core/IOHandler.cpp (working copy) > > @@ -2251,7 +2251,24 @@ > > m_did_calculate_children (false) > > { > > } > > - > > + > > + TreeItem & > > + operator=(const TreeItem &rhs) > > + { > > + if (this != &rhs) > > + { > > + m_parent = rhs.m_parent; > > + m_delegate = rhs.m_delegate; > > + m_user_data = rhs.m_user_data; > > + m_row_idx = rhs.m_row_idx; > > + m_children = rhs.m_children; > > + m_might_have_children = rhs.m_might_have_children; > > + m_is_expanded = rhs.m_is_expanded; > > + m_did_calculate_children = rhs.m_did_calculate_children; > > + } > > + return *this; > > + } > > + > > size_t > > GetDepth () const > > { > > Index: lib/Makefile > > =================================================================== > > --- lib/Makefile (revision 198946) > > +++ lib/Makefile (working copy) > > @@ -148,7 +148,7 @@ > > # Don't allow unresolved symbols. > > LLVMLibsOptions += -Wl,--no-undefined > > # Link in python > > - LLVMLibsOptions += $(PYTHON_BUILD_FLAGS) -lrt > > + LLVMLibsOptions += $(PYTHON_BUILD_FLAGS) -lrt -ledit -lncurses > > LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT) > > endif > > > > Note even with this, we are still having a libedit issue on multiline input > > handling (as exposed through the regex command test). We're looking at > > this now. I'll go ahead and put up this patch on iochannel, though. > > > > > > On Fri, Jan 10, 2014 at 9:54 AM, Todd Fiala <[email protected]> wrote: > > Okay - so since Abid is seeing it as well, I'm inclined to put in both (1) > > the makefile fix for non-cmake (i.e. configure-based) makes, and (2) the > > explicit operator=. > > > > We're tracing through an editline failure in a regex test at the moment. > > These are test failures, though, not build failures. It is probably worth > > it for me to get those two build break issues in, then, before we resolve > > all the test failures. > > > > -Todd > > > > > > On Fri, Jan 10, 2014 at 9:37 AM, Greg Clayton <[email protected]> wrote: > > Patch looks good. > > > > On Jan 9, 2014, at 1:10 PM, Steve Pucci <[email protected]> wrote: > > > > > Hi all, > > > > > > Running the iohandler branch on Ubuntu 12.04 using gcc 4.8.2, using > > > configure rather than CMake, ran into a similar issue as Abid (needed to > > > add -lcurses, and also add back in -ledit; patch attached). I'm getting > > > these test failures: > > > > > > Ran 272 tests. > > > Failing Tests (4) > > > FAIL: LLDB (suite) :: TestCommandRegex.py (Linux > > > spucci-linux.mtv.corp.google.com 3.2.5-gg1336 #1 SMP Thu Aug 29 02:37:18 > > > PDT 2013 x86_64 x86_64) > > > FAIL: LLDB (suite) :: TestDataFormatterCategories.py (Linux > > > spucci-linux.mtv.corp.google.com 3.2.5-gg1336 #1 SMP Thu Aug 29 02:37:18 > > > PDT 2013 x86_64 x86_64) > > > FAIL: LLDB (suite) :: TestDataFormatterGlobals.py (Linux > > > spucci-linux.mtv.corp.google.com 3.2.5-gg1336 #1 SMP Thu Aug 29 02:37:18 > > > PDT 2013 x86_64 x86_64) > > > FAIL: LLDB (suite) :: TestConvenienceVariables.py (Linux > > > spucci-linux.mtv.corp.google.com 3.2.5-gg1336 #1 SMP Thu Aug 29 02:37:18 > > > PDT 2013 x86_64 x86_64) > > > > > > We will be looking at these shortly, but we're also tracking a > > > compilation error that's blocking this now on this branch (more about > > > that shortly). > > > > > > - Steve > > > > > > Patch: > > > > > > Index: lib/Makefile > > > =================================================================== > > > --- lib/Makefile (revision 198878) > > > +++ lib/Makefile (working copy) > > > @@ -148,7 +148,7 @@ > > > # Don't allow unresolved symbols. > > > LLVMLibsOptions += -Wl,--no-undefined > > > # Link in python > > > - LLVMLibsOptions += $(PYTHON_BUILD_FLAGS) -lrt > > > + LLVMLibsOptions += $(PYTHON_BUILD_FLAGS) -lrt -ledit -lncurses > > > LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT) > > > endif > > > > > > > > > > > > > > > On Wed, Jan 8, 2014 at 9:09 AM, Abid, Hafiz <[email protected]> wrote: > > > > Great, please check in any changes you need in order to build! > > > Committed in revision 198773. > > > > > > > > > > > On Jan 7, 2014, at 8:21 AM, Abid, Hafiz <[email protected]> wrote: > > > > > > > > > Hi Greg, > > > > > > > > > >> -----Original Message----- > > > > >> From: [email protected] > > > > >> [mailto:[email protected]] > > > > >> On Behalf Of Greg Clayton > > > > >> Sent: 02 January 2014 22:57 > > > > >> To: [email protected] > > > > >> Subject: [lldb-dev] Everyone: please download, build and test the new > > > > >> iohandler branch > > > > >> > > > > >> svn co > > > > >> https://[email protected]/svn/llvm-project/lldb/branches/iohandler > > > > >> > > > > >> The first step is to get it building for your platform as I am sure > > > > >> the Makefiles are out of date. > > > > >> > > > > >> This branch will soon be merged back into top of tree, but I wanted > > > > >> to give all the major platforms time to submit patches against this > > > > >> to get things working on all systems before any buildbots get broken. > > > > >> > > > > >> The major benefits include: > > > > >> - editline is not built into the lldb shared library so all IOHandler > > > > >> objects can use the editline functionality. > > > > >> - autocomplete now working in the embedded python interpreter > > > > >> - history now working in the embedded python interpreter > > > > >> - autocomplete now working for multi-line command entering (like in > > > > >> "breakpoint command add") > > > > >> - when editing multiple lines you can use the UP and DOWN arrow keys > > > > >> to edit previous lines. This makes multi-line expressions and > > > > >> commands much easier to write and edit. Use ^B and ^N for next/prev > > > > >> history when in multi- line mode. > > > > >> - curses is now supported with the new IOHandler infrastructure. To > > > > >> try this out, run and hit a breakpoint, and type "gui" on the command > > > > >> line to drop into the curses GUI mode! Lots of stuff isn't hooked up > > > > >> yet, but I am sure the open source community can help fill in some > > > > >> new views and improve existing ones. > > > > >> > > > > >> So please get this building and test this on your system and let us > > > > >> know what issues you run into. > > > > > > > > > > I tried to build this branch using cmake on Ubuntu 12.04 with gcc 4.8. > > > > > There were some build issues that I fixed as follows. > > > > > > > > > > Include limits.h in Editline.cpp for PATH_MAX and libncurses in the > > > > > cmake > > > > files. > > > > > I also noted that libedit version on my system was missing some > > > > > defines like EL_PROMPT_ESC. I have to get hold of a recent version for > > > > libedit. > > > > > After that lldb builds fine on my system. Still have to test it > > > > > though. > > > > > > > > > > I am pasting the changes needed for the build below. > > > > > > > > > > > > > > > Index: source/Host/common/Editline.cpp > > > > > > > > > ================================================================ > > > > === > > > > > --- source/Host/common/Editline.cpp (revision 198682) > > > > > +++ source/Host/common/Editline.cpp (working copy) > > > > > @@ -15,6 +14,8 @@ > > > > > #include "lldb/Core/StringList.h" > > > > > #include "lldb/Host/Host.h" > > > > > > > > > > +#include <limits.h> > > > > > + > > > > > using namespace lldb; > > > > > using namespace lldb_private; > > > > > > > > > > Index: source/Symbol/ClangASTType.cpp > > > > > > > > > ================================================================ > > > > === > > > > > --- source/Symbol/ClangASTType.cpp (revision 198682) > > > > > +++ source/Symbol/ClangASTType.cpp (working copy) > > > > > @@ -1135,7 +1135,7 @@ > > > > > if (typedef_type) > > > > > { > > > > > const TypedefNameDecl *typedef_decl = > > > > > typedef_type->getDecl(); > > > > > - type_name = typedef_decl- > > > > >getQualifiedNameAsString(printing_policy); > > > > > + type_name = typedef_decl->getQualifiedNameAsString(); > > > > > } > > > > > else > > > > > { > > > > > Index: CMakeLists.txt > > > > > > > > > ================================================================ > > > > === > > > > > --- CMakeLists.txt (revision 198682) > > > > > +++ CMakeLists.txt (working copy) > > > > > @@ -265,6 +265,10 @@ > > > > > list(APPEND system_libs execinfo) > > > > > endif() > > > > > > > > > > +if (CMAKE_SYSTEM_NAME MATCHES "Linux") > > > > > + list(APPEND system_libs ncurses) > > > > > +endif() > > > > > + > > > > > #add_subdirectory(include) > > > > > add_subdirectory(docs) > > > > > if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") > > > > > > > > > > Regards, > > > > > Abid > > > > > > > > > >> > > > > >> Greg Clayton > > > > >> > > > > >> _______________________________________________ > > > > >> lldb-dev mailing list > > > > >> [email protected] > > > > >> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > > > > > > > > > _______________________________________________ > > > lldb-dev mailing list > > > [email protected] > > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > > > > > > <iohandler-patch.txt> > > > > _______________________________________________ > > lldb-dev mailing list > > [email protected] > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > > > > > > > > -- > > Todd Fiala | Software Engineer | [email protected] | 650-943-3180 > > > > > > > > > > -- > > Todd Fiala | Software Engineer | [email protected] | 650-943-3180 > > > > > > > > > > -- > > Todd Fiala | Software Engineer | [email protected] | 650-943-3180 > > > > <spucci-2014-01-10_r2.diff> > > > > > > -- > Todd Fiala | Software Engineer | [email protected] | 650-943-3180 > > > > > -- > Todd Fiala | Software Engineer | [email protected] | 650-943-3180 > _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
