forked from OSchip/llvm-project
parent
3c9ede62f6
commit
1bd3d731d9
|
@ -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):
|
||||
|
|
|
@ -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())
|
Loading…
Reference in New Issue