rdar://problem/11584012

Refactorings of watchpoint creation APIs so that SBTarget::WatchAddress(), SBValue::Watch(), and SBValue::WatchPointee()
now take an additional 'SBError &error' parameter (at the end) to contain the reason if there is some failure in the
operation.  Update 'watchpoint set variable/expression' commands to take advantage of that.

Update existing test cases to reflect the API change and add test cases to verify that the SBError mechanism works for
SBTarget::WatchAddress() by passing an invalid watch_size.

llvm-svn: 157964
This commit is contained in:
Johnny Chen
2012-06-04 23:19:54 +00:00
parent 188d830405
commit b90827e66c
21 changed files with 137 additions and 77 deletions

View File

@@ -52,7 +52,8 @@ def fuzz_obj(obj):
obj.GetAddressByteSize()
obj.GetByteOrder()
obj.GetTriple()
obj.WatchAddress(123, 8, True, True)
error = lldb.SBError()
obj.WatchAddress(123, 8, True, True, error)
obj.GetBroadcaster()
obj.GetDescription(lldb.SBStream(), lldb.eDescriptionLevelBrief)
obj.Clear()

View File

@@ -34,8 +34,9 @@ def fuzz_obj(obj):
obj.GetDescription(stream)
obj.GetExpressionPath(stream)
obj.GetExpressionPath(stream, True)
obj.Watch(True, True, False)
obj.WatchPointee(True, False, True)
error = lldb.SBError()
obj.Watch(True, True, False, error)
obj.WatchPointee(True, False, True, error)
for child_val in obj:
print child_val
error = lldb.SBError()

View File

@@ -8,7 +8,6 @@ import lldb
def fuzz_obj(obj):
obj.GetID()
obj.IsValid()
obj.GetError()
obj.GetHardwareIndex()
obj.GetWatchAddress()
obj.GetWatchSize()