Add fuzz calls for SBBreakpoint.

llvm-svn: 133809
This commit is contained in:
Johnny Chen 2011-06-24 18:49:27 +00:00
parent 3c9ede62f6
commit 1bd3d731d9
2 changed files with 39 additions and 2 deletions

View File

@ -2,8 +2,9 @@
Test lldb Python API object's default constructor and make sure it is invalid
after initial construction.
There are three exceptions to the above general rules, though; the API objects are
SBCommadnReturnObject, SBStream, and SBSymbolContextList.
There are three exceptions to the above general rules, though; API objects
SBCommadnReturnObject, SBStream, and SBSymbolContextList, are all valid objects
after default construction.
"""
import os, time
@ -42,6 +43,9 @@ class APIDefaultConstructorTestCase(TestBase):
if self.TraceOn():
print obj
self.assertFalse(obj)
# Do fuzz testing on the invalid obj, it should not crash lldb.
import sb_breakpoint
sb_breakpoint.fuzz_obj(obj)
@python_api_test
def test_SBBreakpointLocation(self):

View File

@ -0,0 +1,33 @@
"""
Fuzz tests an object after the default construction to make sure it does not crash lldb.
"""
import sys
import lldb
def fuzz_obj(obj):
obj.GetID()
obj.ClearAllBreakpointSites()
obj.FindLocationByAddress(sys.maxint)
obj.FindLocationIDByAddress(sys.maxint)
obj.FindLocationByID(0)
obj.GetLocationAtIndex(0)
obj.SetEnabled(True)
obj.IsEnabled()
obj.GetHitCount()
obj.SetIgnoreCount(1)
obj.GetIgnoreCount()
obj.SetCondition("i >= 10")
obj.GetCondition()
obj.SetThreadID(0)
obj.GetThreadID()
obj.SetThreadIndex(0)
obj.GetThreadIndex()
obj.SetThreadName("worker thread")
obj.GetThreadName()
obj.SetQueueName("my queue")
obj.GetQueueName()
obj.SetCallback(None, None)
obj.GetNumResolvedLocations()
obj.GetNumLocations()
obj.GetDescription(lldb.SBStream())