summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/source/Core/ValueObject.cpp10
-rw-r--r--lldb/test/lang/objc/objc-stepping/TestObjCStepping.py10
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:
OpenPOWER on IntegriCloud