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 Test lldb Python API object's default constructor and make sure it is invalid
after initial construction. after initial construction.
There are three exceptions to the above general rules, though; the API objects are There are three exceptions to the above general rules, though; API objects
SBCommadnReturnObject, SBStream, and SBSymbolContextList. SBCommadnReturnObject, SBStream, and SBSymbolContextList, are all valid objects
after default construction.
""" """
import os, time import os, time
@ -42,6 +43,9 @@ class APIDefaultConstructorTestCase(TestBase):
if self.TraceOn(): if self.TraceOn():
print obj print obj
self.assertFalse(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 @python_api_test
def test_SBBreakpointLocation(self): 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())