12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)"""
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)Fuzz tests an object after the default construction to make sure it does not crash lldb.
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)"""
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import sys
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import lldb
75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
8f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)def fuzz_obj(obj):
9f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.GetID()
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    obj.ClearAllBreakpointSites()
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    obj.FindLocationByAddress(sys.maxint)
12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    obj.FindLocationIDByAddress(sys.maxint)
135c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu    obj.FindLocationByID(0)
145c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu    obj.GetLocationAtIndex(0)
15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    obj.SetEnabled(True)
1668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)    obj.IsEnabled()
177d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    obj.GetHitCount()
1858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    obj.SetIgnoreCount(1)
19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    obj.GetIgnoreCount()
205c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu    obj.SetCondition("i >= 10")
215c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu    obj.GetCondition()
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    obj.SetThreadID(0)
23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.GetThreadID()
24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.SetThreadIndex(0)
25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.GetThreadIndex()
26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.SetThreadName("worker thread")
27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.GetThreadName()
28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.SetQueueName("my queue")
29f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.GetQueueName()
30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.SetCallback(None, None)
31f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.GetNumResolvedLocations()
32f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.GetNumLocations()
33f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    obj.GetDescription(lldb.SBStream())
34f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    for bp_loc in obj:
35f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)        print bp_loc
36f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)