[Lldb-commits] [lldb] r152161 - in /lldb/trunk: source/Core/ValueObject.cpp test/lang/objc/objc-stepping/TestObjCStepping.py
Enrico Granata
egranata at apple.com
Tue Mar 6 15:21:17 PST 2012
Author: enrico
Date: Tue Mar 6 17:21:16 2012
New Revision: 152161
URL: http://llvm.org/viewvc/llvm-project?rev=152161&view=rev
Log:
Fixing an issue where a ValueObject had changed its value but the 'value changed' flag was not being set. This was breaking one of our test cases
Modified:
lldb/trunk/source/Core/ValueObject.cpp
lldb/trunk/test/lang/objc/objc-stepping/TestObjCStepping.py
Modified: lldb/trunk/source/Core/ValueObject.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ValueObject.cpp?rev=152161&r1=152160&r2=152161&view=diff
==============================================================================
--- lldb/trunk/source/Core/ValueObject.cpp (original)
+++ lldb/trunk/source/Core/ValueObject.cpp Tue Mar 6 17:21:16 2012
@@ -1204,7 +1204,15 @@
}
}
}
- 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;
Modified: lldb/trunk/test/lang/objc/objc-stepping/TestObjCStepping.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/objc-stepping/TestObjCStepping.py?rev=152161&r1=152160&r2=152161&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/objc-stepping/TestObjCStepping.py (original)
+++ lldb/trunk/test/lang/objc/objc-stepping/TestObjCStepping.py Tue Mar 6 17:21:16 2012
@@ -10,8 +10,6 @@
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 @@
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 @@
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 @@
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:
More information about the lldb-commits
mailing list