diff options
author | Greg Clayton <gclayton@apple.com> | 2012-01-31 23:19:33 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2012-01-31 23:19:33 +0000 |
commit | fbf1b6417314553d44ae16ab2d9eb1200d17316d (patch) | |
tree | 080d2d0d1bde031f8d77a29652ed331e463abb1e /lldb/test/python_api/default-constructor | |
parent | 8c159b87a0c99b02b1d143560a973c13c779643e (diff) | |
download | bcm5719-llvm-fbf1b6417314553d44ae16ab2d9eb1200d17316d.tar.gz bcm5719-llvm-fbf1b6417314553d44ae16ab2d9eb1200d17316d.zip |
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
Diffstat (limited to 'lldb/test/python_api/default-constructor')
-rw-r--r-- | lldb/test/python_api/default-constructor/sb_module.py | 4 | ||||
-rw-r--r-- | lldb/test/python_api/default-constructor/sb_target.py | 3 | ||||
-rw-r--r-- | lldb/test/python_api/default-constructor/sb_value.py | 27 |
3 files changed, 33 insertions, 1 deletions
diff --git a/lldb/test/python_api/default-constructor/sb_module.py b/lldb/test/python_api/default-constructor/sb_module.py index 990337a9f9a..d026be15506 100644 --- a/lldb/test/python_api/default-constructor/sb_module.py +++ b/lldb/test/python_api/default-constructor/sb_module.py @@ -23,4 +23,6 @@ def fuzz_obj(obj): print symbol for symbol in obj: print symbol - + obj.GetAddressByteSize() + obj.GetByteOrder() + obj.GetTriple() diff --git a/lldb/test/python_api/default-constructor/sb_target.py b/lldb/test/python_api/default-constructor/sb_target.py index 7e4f191e493..19f453768b2 100644 --- a/lldb/test/python_api/default-constructor/sb_target.py +++ b/lldb/test/python_api/default-constructor/sb_target.py @@ -49,6 +49,9 @@ def fuzz_obj(obj): obj.EnableAllWatchpoints() obj.DisableAllWatchpoints() obj.DeleteAllWatchpoints() + obj.GetAddressByteSize() + obj.GetByteOrder() + obj.GetTriple() obj.WatchAddress(123, 8, True, True) obj.GetBroadcaster() obj.GetDescription(lldb.SBStream(), lldb.eDescriptionLevelBrief) 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() |