[Lldb-commits] [lldb] r113825 - in /lldb/trunk: source/Commands/CommandObjectThread.cpp source/Core/Debugger.cpp test/stl/TestSTL.py

Johnny Chen johnny.chen at apple.com
Mon Sep 13 17:53:54 PDT 2010


Author: johnny
Date: Mon Sep 13 19:53:53 2010
New Revision: 113825

URL: http://llvm.org/viewvc/llvm-project?rev=113825&view=rev
Log:
Fixed an error in Debugger::UpdateExecutionContext() where an invalid index ID 0
was used to set the selected thread if none was selected.  Use a more robust
API to accomplish the task.

Also fixed an error found, while investigating, in CommandObjectThreadSelect::
Execute() where the return status was not properly set if successful.

As a result, both the stl step-in test cases with expectedFailure decorators now
passed.

Modified:
    lldb/trunk/source/Commands/CommandObjectThread.cpp
    lldb/trunk/source/Core/Debugger.cpp
    lldb/trunk/test/stl/TestSTL.py

Modified: lldb/trunk/source/Commands/CommandObjectThread.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectThread.cpp?rev=113825&r1=113824&r2=113825&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectThread.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectThread.cpp Mon Sep 13 19:53:53 2010
@@ -1280,6 +1280,7 @@
         }
 
         process->GetThreadList().SetSelectedThreadByID(new_thread->GetID());
+        result.SetStatus (eReturnStatusSuccessFinishNoResult);
         
         DisplayThreadInfo (interpreter,
                            result.GetOutputStream(),

Modified: lldb/trunk/source/Core/Debugger.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Debugger.cpp?rev=113825&r1=113824&r2=113825&view=diff
==============================================================================
--- lldb/trunk/source/Core/Debugger.cpp (original)
+++ lldb/trunk/source/Core/Debugger.cpp Mon Sep 13 19:53:53 2010
@@ -507,7 +507,7 @@
                     m_exe_ctx.thread = m_exe_ctx.process->GetThreadList().GetThreadAtIndex(0).get();
                     // If we didn't have a selected thread, select one here.
                     if (m_exe_ctx.thread != NULL)
-                        m_exe_ctx.process->GetThreadList().SetSelectedThreadByIndexID(0);
+                        m_exe_ctx.process->GetThreadList().SetSelectedThreadByID(m_exe_ctx.thread->GetID());
                 }
                 if (m_exe_ctx.thread)
                 {

Modified: lldb/trunk/test/stl/TestSTL.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/stl/TestSTL.py?rev=113825&r1=113824&r2=113825&view=diff
==============================================================================
--- lldb/trunk/test/stl/TestSTL.py (original)
+++ lldb/trunk/test/stl/TestSTL.py Mon Sep 13 19:53:53 2010
@@ -12,13 +12,11 @@
     mydir = "stl"
 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
-    @unittest2.expectedFailure
     def test_with_dsym(self):
         """Test that we can successfully step into an STL function."""
         self.buildDsym()
         self.step_into_stl()
 
-    @unittest2.expectedFailure
     def test_with_dwarf(self):
         """Test that we can successfully step into an STL function."""
         self.buildDwarf()





More information about the lldb-commits mailing list