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.

llvm-svn: 113825
This commit is contained in:
Johnny Chen
2010-09-14 00:53:53 +00:00
parent e1e70b93ca
commit c13ee52c2f
3 changed files with 2 additions and 3 deletions

View File

@@ -1280,6 +1280,7 @@ public:
}
process->GetThreadList().SetSelectedThreadByID(new_thread->GetID());
result.SetStatus (eReturnStatusSuccessFinishNoResult);
DisplayThreadInfo (interpreter,
result.GetOutputStream(),

View File

@@ -507,7 +507,7 @@ Debugger::UpdateExecutionContext (ExecutionContext *override_context)
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)
{

View File

@@ -12,13 +12,11 @@ class STLTestCase(TestBase):
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()