diff options
| -rw-r--r-- | lldb/source/Core/ValueObject.cpp | 10 | ||||
| -rw-r--r-- | lldb/test/lang/objc/objc-stepping/TestObjCStepping.py | 10 |
2 files changed, 15 insertions, 5 deletions
diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp index 3d82995b083..aac8e8e99f3 100644 --- a/lldb/source/Core/ValueObject.cpp +++ b/lldb/source/Core/ValueObject.cpp @@ -1204,7 +1204,15 @@ ValueObject::GetValueAsCString () } } } - GetValueAsCString(my_format, m_value_str); + if (GetValueAsCString(my_format, m_value_str)) + { + if (!m_value_did_change && m_old_value_valid) + { + // The value was gotten successfully, so we consider the + // value as changed if the value string differs + SetValueDidChange (m_old_value_str != m_value_str); + } + } } if (m_value_str.empty()) return NULL; diff --git a/lldb/test/lang/objc/objc-stepping/TestObjCStepping.py b/lldb/test/lang/objc/objc-stepping/TestObjCStepping.py index 45d8a4067b6..6a34bf04e73 100644 --- a/lldb/test/lang/objc/objc-stepping/TestObjCStepping.py +++ b/lldb/test/lang/objc/objc-stepping/TestObjCStepping.py @@ -10,8 +10,6 @@ class TestObjCStepping(TestBase): mydir = os.path.join("lang", "objc", "objc-stepping") - # rdar://problem/10986147 - @unittest2.expectedFailure @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin") @python_api_test def test_with_dsym_and_python_api(self): @@ -19,8 +17,6 @@ class TestObjCStepping(TestBase): self.buildDsym() self.objc_stepping() - # rdar://problem/10986147 - @unittest2.expectedFailure @python_api_test def test_with_dwarf_and_python_api(self): """Test stepping through ObjC method dispatch in various forms.""" @@ -81,6 +77,9 @@ class TestObjCStepping(TestBase): self.assertTrue(mySource_isa, "Found mySource->isa local variable.") mySource_isa.GetValue () + if self.TraceOn(): + print mySource_isa + # Lets delete mySource so we can check that after stepping a child variable # with no parent persists and is useful. del (mySource) @@ -121,6 +120,9 @@ class TestObjCStepping(TestBase): mySource_isa.GetValue () did_change = mySource_isa.GetValueDidChange () + if self.TraceOn(): + print mySource_isa + self.assertTrue (did_change, "The isa did indeed change, swizzled!") # Now step in, that should leave us in the Source randomMethod: |

