From fbf1b6417314553d44ae16ab2d9eb1200d17316d Mon Sep 17 00:00:00 2001 From: Greg Clayton Date: Tue, 31 Jan 2012 23:19:33 +0000 Subject: Added fuzz testing for when we call API calls with an invalid object. We previously weren't catching that SBValue::Cast(...) would crash if we had an invalid (empty) SBValue object. Cleaned up the SBType API a bit. llvm-svn: 149447 --- .../python_api/default-constructor/sb_value.py | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'lldb/test/python_api/default-constructor/sb_value.py') diff --git a/lldb/test/python_api/default-constructor/sb_value.py b/lldb/test/python_api/default-constructor/sb_value.py index b3a26def772..a82a3e38f78 100644 --- a/lldb/test/python_api/default-constructor/sb_value.py +++ b/lldb/test/python_api/default-constructor/sb_value.py @@ -7,6 +7,7 @@ import lldb def fuzz_obj(obj): obj.GetError() + obj.GetID() obj.GetName() obj.GetTypeName() obj.GetByteSize() @@ -37,3 +38,29 @@ def fuzz_obj(obj): obj.WatchPointee(True, False, True) for child_val in obj: print child_val + error = lldb.SBError() + obj.GetValueAsSigned (error, 0) + obj.GetValueAsUnsigned (error, 0) + obj.GetValueAsSigned(0) + obj.GetValueAsUnsigned(0) + obj.GetDynamicValue (lldb.eNoDynamicValues) + obj.GetStaticValue () + obj.IsDynamic() + invalid_type = lldb.SBType() + obj.CreateChildAtOffset ("a", 12, invalid_type) + obj.Cast (invalid_type) + obj.CreateValueFromExpression ("pt->x", "pt->x") + obj.CreateValueFromAddress ("x", 0x123, invalid_type) + invalid_data = lldb.SBData() + obj.CreateValueFromData ("x", invalid_data, invalid_type) + obj.GetValueForExpressionPath("[0]") + obj.AddressOf() + obj.GetLoadAddress() + obj.GetAddress() + obj.GetPointeeData (0, 1) + obj.GetData () + obj.GetTarget() + obj.GetProcess() + obj.GetThread() + obj.GetFrame() + obj.GetType() -- cgit v1.2.3