1446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen"""
2446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny ChenFuzz tests an object after the default construction to make sure it does not crash lldb.
3446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen"""
4446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen
5446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chenimport sys
6446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chenimport lldb
7446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen
8446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chendef fuzz_obj(obj):
9446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetError()
1086ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetID()
11446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetName()
12446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetTypeName()
13446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetByteSize()
14446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.IsInScope()
15446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetFormat()
16446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.SetFormat(lldb.eFormatBoolean)
17446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetValue()
18446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetValueType()
19446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetValueDidChange()
20446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetSummary()
21446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetObjectDescription()
22446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetLocation()
23446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.SetValueFromCString("my_new_value")
24446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetChildAtIndex(1)
258f64c47120c81728aac0ab0d66097c9a92284f6fGreg Clayton    obj.GetChildAtIndex(2, lldb.eNoDynamicValues, False)
26446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetIndexOfChildWithName("my_first_child")
27446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetChildMemberWithName("my_first_child")
28446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetChildMemberWithName("my_first_child", lldb.eNoDynamicValues)
29446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetNumChildren()
30446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetOpaqueType()
31446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.Dereference()
32446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.TypeIsPointerType()
33446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    stream = lldb.SBStream()
34446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetDescription(stream)
35446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetExpressionPath(stream)
36446ccaa81e42b089b6245a950cb4fca05cce12ddJohnny Chen    obj.GetExpressionPath(stream, True)
373f883496e92fce5011f6bf585af3ac6d1cddb64fJohnny Chen    error = lldb.SBError()
383f883496e92fce5011f6bf585af3ac6d1cddb64fJohnny Chen    obj.Watch(True, True, False, error)
393f883496e92fce5011f6bf585af3ac6d1cddb64fJohnny Chen    obj.WatchPointee(True, False, True, error)
40a70c157b98bc6e9c8d1853e54473c3bd5a349a77Johnny Chen    for child_val in obj:
41a70c157b98bc6e9c8d1853e54473c3bd5a349a77Johnny Chen        print child_val
4286ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    error = lldb.SBError()
4386ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetValueAsSigned (error, 0)
4486ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetValueAsUnsigned (error, 0)
4586ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetValueAsSigned(0)
4686ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetValueAsUnsigned(0)
4786ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetDynamicValue (lldb.eNoDynamicValues)
4886ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetStaticValue ()
4986ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.IsDynamic()
5086ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    invalid_type = lldb.SBType()
5186ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.CreateChildAtOffset ("a", 12, invalid_type)
5286ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.Cast (invalid_type)
5386ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.CreateValueFromExpression ("pt->x", "pt->x")
5486ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.CreateValueFromAddress ("x", 0x123, invalid_type)
5586ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    invalid_data = lldb.SBData()
5686ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.CreateValueFromData ("x", invalid_data, invalid_type)
5786ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetValueForExpressionPath("[0]")
5886ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.AddressOf()
5986ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetLoadAddress()
6086ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetAddress()
6186ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetPointeeData (0, 1)
6286ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetData ()
6386ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetTarget()
6486ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetProcess()
6586ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetThread()
6686ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetFrame()
6786ad476885a1fc5a14692534fb841be4eee7722aGreg Clayton    obj.GetType()
68